from enum import Enum, IntEnum
class Permission(Enum):
PAIRED_READ = 'pr'
PAIRED_WRITE = 'pw'
EVENTS = 'ev'
ADDITIONAL_AUTH = 'aa'
TIMED_WRITE = 'tw'
HIDDEN = 'hd'
class Format(Enum):
BOOL = 'bool'
UINT8 = 'uint8'
UINT16 = 'uint16'
UINT32 = 'uint32'
UINT64 = 'uint64'
INT = 'int'
FLOAT = 'float'
STRING = 'string'
TLV8 = 'tlv8'
DATA = 'data'
class Unit(Enum):
CELSIUS = 'celsius'
PERCENTAGE = 'percentage'
ARCDEGREES = 'arcdegrees'
LUX = 'lux'
SECONDS = 'seconds'
class Category(IntEnum):
OTHER = 1
BRIDGE = 2
FAN = 3
GARAGE = 4
LIGHTBULB = 5
DOORLOCK = 6
OUTLET = 7
SWITCH = 8
THERMOSTAT = 9
SENSOR = 10
SECURITY_SYSTEM = 11
DOOR = 12
WINDOW = 13
WINDOW_COVERING = 14
PROGRAMMABLE_SWITCH = 15
RANGE_EXTENDER = 16
IP_CAMERA = 17
VIDEO_DOOR_BELL = 18
class Status(IntEnum):
SUCCESS = 0
INSUFFICIENT_PRIVILEGES = -70401
UNABLE_TO_COMUNICATE = -70402
BUSY = -70403
CANNOT_WRITE = -70404
CANNOT_READ = -70405
CANNOT_NOTIFY = -70406
OUT_OF_RESOURCES = -70407
TIMED_OUT = -70408
DOES_NOT_EXIST = -70409
INVALID_VALUE = -70410
INSUFFICIENT_AUTHORIZATION = -70411