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]))