Source code for caspia.meadow.services.lockmechanism

import enum

from caspia.meadow.value import MemberOf

from .base import Characteristic, ServiceBase


[docs]class LockState(enum.Enum): """ State of a lock. """ UNSECURED = 'unsecured' SECURED = 'secured'
[docs]class LockMechanismBase(ServiceBase): """ Represents a physical lock. """ type = 'lock-mechanism' state = Characteristic('string', 'RN', validate=MemberOf([m.value for m in LockState])) target_state = Characteristic('string', 'RWN', validate=MemberOf([m.value for m in LockState]))