1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
"""Const for YoLink Client."""
from typing import Final
MANUFACTURER = "YoLink"
CLASS_AD_KEEPALIVE_TIME = 9 * 60 * 60 # 9 hours in seconds
CLASS_C_KEEPALIVE_TIME = 70 * 60 # 70 minutes in seconds
HUB_KEEPALIVE_TIME = 10 * 60 # 10 minutes in seconds
ATTR_FIELD_LORA = "loraInfo"
ATTR_FIELD_STATE = "state"
OAUTH2_AUTHORIZE = "https://api.yosmart.com/oauth/v2/authorization.htm"
OAUTH2_TOKEN = "https://api.yosmart.com/open/yolink/token"
ATTR_DEVICE_ID = "deviceId"
ATTR_DEVICE_NAME = "name"
ATTR_DEVICE_TYPE = "type"
ATTR_DEVICE_TOKEN = "token"
ATTR_DEVICE_MODEL_NAME = "modelName"
ATTR_DEVICE_PARENT_ID = "parentDeviceId"
ATTR_DEVICE_SERVICE_ZONE = "serviceZone"
ATTR_DEVICE_MODEL_A = "A"
ATTR_DEVICE_MODEL_C = "C"
ATTR_DEVICE_MODEL_D = "D"
ATTR_DEVICE_MODEL_HUB = "Hub"
ATTR_DEVICE_DOOR_SENSOR = "DoorSensor"
ATTR_DEVICE_TH_SENSOR = "THSensor"
ATTR_DEVICE_MOTION_SENSOR = "MotionSensor"
ATTR_DEVICE_MULTI_OUTLET = "MultiOutlet"
ATTR_DEVICE_LEAK_SENSOR = "LeakSensor"
ATTR_DEVICE_MULTI_CAPS_LEAK_SENSOR = "MultiCapsLeakSensor"
ATTR_DEVICE_VIBRATION_SENSOR = "VibrationSensor"
ATTR_DEVICE_OUTLET = "Outlet"
ATTR_DEVICE_SIREN = "Siren"
ATTR_DEVICE_LOCK = "Lock"
ATTR_DEVICE_MANIPULATOR = "Manipulator"
ATTR_DEVICE_CO_SMOKE_SENSOR = "COSmokeSensor"
ATTR_DEVICE_SWITCH = "Switch"
ATTR_DEVICE_THERMOSTAT = "Thermostat"
ATTR_DEVICE_DIMMER = "Dimmer"
ATTR_GARAGE_DOOR_CONTROLLER = "GarageDoor"
ATTR_DEVICE_SMART_REMOTER = "SmartRemoter"
ATTR_DEVICE_POWER_FAILURE_ALARM = "PowerFailureAlarm"
ATTR_DEVICE_HUB = "Hub"
ATTR_DEVICE_SPEAKER_HUB = "SpeakerHub"
ATTR_DEVICE_FINGER = "Finger"
ATTR_DEVICE_WATER_DEPTH_SENSOR = "WaterDepthSensor"
ATTR_DEVICE_WATER_METER_CONTROLLER = "WaterMeterController"
ATTR_DEVICE_MULTI_WATER_METER_CONTROLLER = "WaterMeterMultiController"
ATTR_DEVICE_LOCK_V2 = "LockV2"
ATTR_DEVICE_SOIL_TH_SENSOR = "SoilThcSensor"
ATTR_DEVICE_SPRINKLER = "Sprinkler"
ATTR_DEVICE_SPRINKLER_V2 = "SprinklerV2"
ATTR_DEVICE_SMOKE_ALARM = "SmokeAlarm"
# device models
ATTR_DEVICE_MODEL_MULTIOUTLET_YS6801 = "YS6801"
# water meter controller
ATTR_DEVICE_MODEL_WATER_METER_YS5018 = "YS5018"
UNIT_NOT_RECOGNIZED_TEMPLATE: Final = "{} is not a recognized {} unit."
DEVICE_LEAK_STOP_MODELS = ["YS5009-UC", "YS5009-EC", "YS5029-UC", "YS5029-EC"]
DEVICE_MODELS_SUPPORT_MODE_SWITCHING = DEVICE_LEAK_STOP_MODELS
|