mirror of
https://github.com/home-assistant/core.git
synced 2025-07-28 23:57:06 +00:00
Complete Smart Camera (sp) device support to Tuya (#58301)
This commit is contained in:
parent
e961d92b5e
commit
75e561f1fa
@ -75,8 +75,14 @@ CONF_PASSWORD = "password"
|
|||||||
CONF_COUNTRY_CODE = "country_code"
|
CONF_COUNTRY_CODE = "country_code"
|
||||||
CONF_APP_TYPE = "tuya_app_type"
|
CONF_APP_TYPE = "tuya_app_type"
|
||||||
|
|
||||||
|
DEVICE_CLASS_TUYA_BASIC_ANTI_FLICKR = "tuya__basic_anti_flickr"
|
||||||
|
DEVICE_CLASS_TUYA_BASIC_NIGHTVISION = "tuya__basic_nightvision"
|
||||||
|
DEVICE_CLASS_TUYA_DECIBEL_SENSITIVITY = "tuya__decibel_sensitivity"
|
||||||
|
DEVICE_CLASS_TUYA_IPC_WORK_MODE = "tuya__ipc_work_mode"
|
||||||
DEVICE_CLASS_TUYA_LED_TYPE = "tuya__led_type"
|
DEVICE_CLASS_TUYA_LED_TYPE = "tuya__led_type"
|
||||||
DEVICE_CLASS_TUYA_LIGHT_MODE = "tuya__light_mode"
|
DEVICE_CLASS_TUYA_LIGHT_MODE = "tuya__light_mode"
|
||||||
|
DEVICE_CLASS_TUYA_MOTION_SENSITIVITY = "tuya__motion_sensitivity"
|
||||||
|
DEVICE_CLASS_TUYA_RECORD_MODE = "tuya__record_mode"
|
||||||
DEVICE_CLASS_TUYA_RELAY_STATUS = "tuya__relay_status"
|
DEVICE_CLASS_TUYA_RELAY_STATUS = "tuya__relay_status"
|
||||||
|
|
||||||
TUYA_DISCOVERY_NEW = "tuya_discovery_new"
|
TUYA_DISCOVERY_NEW = "tuya_discovery_new"
|
||||||
@ -130,6 +136,14 @@ class DPCode(str, Enum):
|
|||||||
ANGLE_HORIZONTAL = "angle_horizontal"
|
ANGLE_HORIZONTAL = "angle_horizontal"
|
||||||
ANGLE_VERTICAL = "angle_vertical"
|
ANGLE_VERTICAL = "angle_vertical"
|
||||||
ANION = "anion" # Ionizer unit
|
ANION = "anion" # Ionizer unit
|
||||||
|
BASIC_ANTI_FLICKER = "basic_anti_flicker"
|
||||||
|
BASIC_DEVICE_VOLUME = "basic_device_volume"
|
||||||
|
BASIC_FLIP = "basic_flip"
|
||||||
|
BASIC_INDICATOR = "basic_indicator"
|
||||||
|
BASIC_NIGHTVISION = "basic_nightvision"
|
||||||
|
BASIC_OSD = "basic_osd"
|
||||||
|
BASIC_PRIVATE = "basic_private"
|
||||||
|
BASIC_WDR = "basic_wdr"
|
||||||
BATTERY_PERCENTAGE = "battery_percentage" # Battery percentage
|
BATTERY_PERCENTAGE = "battery_percentage" # Battery percentage
|
||||||
BATTERY_STATE = "battery_state" # Battery state
|
BATTERY_STATE = "battery_state" # Battery state
|
||||||
BATTERY_VALUE = "battery_value" # Battery value
|
BATTERY_VALUE = "battery_value" # Battery value
|
||||||
@ -162,10 +176,13 @@ class DPCode(str, Enum):
|
|||||||
CONTROL = "control"
|
CONTROL = "control"
|
||||||
CONTROL_2 = "control_2"
|
CONTROL_2 = "control_2"
|
||||||
CONTROL_3 = "control_3"
|
CONTROL_3 = "control_3"
|
||||||
|
CRY_DETECTION_SWITCH = "cry_detection_switch"
|
||||||
CUP_NUMBER = "cup_number" # NUmber of cups
|
CUP_NUMBER = "cup_number" # NUmber of cups
|
||||||
CUR_CURRENT = "cur_current" # Actual current
|
CUR_CURRENT = "cur_current" # Actual current
|
||||||
CUR_POWER = "cur_power" # Actual power
|
CUR_POWER = "cur_power" # Actual power
|
||||||
CUR_VOLTAGE = "cur_voltage" # Actual voltage
|
CUR_VOLTAGE = "cur_voltage" # Actual voltage
|
||||||
|
DECIBEL_SENSITIVITY = "decibel_sensitivity"
|
||||||
|
DECIBEL_SWITCH = "decibel_switch"
|
||||||
DEHUMIDITY_SET_VALUE = "dehumidify_set_value"
|
DEHUMIDITY_SET_VALUE = "dehumidify_set_value"
|
||||||
DO_NOT_DISTURB = "do_not_disturb"
|
DO_NOT_DISTURB = "do_not_disturb"
|
||||||
DOORCONTACT_STATE = "doorcontact_state" # Status of door window sensor
|
DOORCONTACT_STATE = "doorcontact_state" # Status of door window sensor
|
||||||
@ -177,12 +194,15 @@ class DPCode(str, Enum):
|
|||||||
FAN_SPEED_PERCENT = "fan_speed_percent" # Stepless speed
|
FAN_SPEED_PERCENT = "fan_speed_percent" # Stepless speed
|
||||||
FAR_DETECTION = "far_detection"
|
FAR_DETECTION = "far_detection"
|
||||||
FILTER_RESET = "filter_reset" # Filter (cartridge) reset
|
FILTER_RESET = "filter_reset" # Filter (cartridge) reset
|
||||||
|
FLOODLIGHT_LIGHTNESS = "floodlight_lightness"
|
||||||
|
FLOODLIGHT_SWITCH = "floodlight_switch"
|
||||||
GAS_SENSOR_STATE = "gas_sensor_state"
|
GAS_SENSOR_STATE = "gas_sensor_state"
|
||||||
GAS_SENSOR_STATUS = "gas_sensor_status"
|
GAS_SENSOR_STATUS = "gas_sensor_status"
|
||||||
GAS_SENSOR_VALUE = "gas_sensor_value"
|
GAS_SENSOR_VALUE = "gas_sensor_value"
|
||||||
HUMIDITY_CURRENT = "humidity_current" # Current humidity
|
HUMIDITY_CURRENT = "humidity_current" # Current humidity
|
||||||
HUMIDITY_SET = "humidity_set" # Humidity setting
|
HUMIDITY_SET = "humidity_set" # Humidity setting
|
||||||
HUMIDITY_VALUE = "humidity_value" # Humidity
|
HUMIDITY_VALUE = "humidity_value" # Humidity
|
||||||
|
IPC_WORK_MODE = "ipc_work_mode"
|
||||||
LED_TYPE_1 = "led_type_1"
|
LED_TYPE_1 = "led_type_1"
|
||||||
LED_TYPE_2 = "led_type_2"
|
LED_TYPE_2 = "led_type_2"
|
||||||
LED_TYPE_3 = "led_type_3"
|
LED_TYPE_3 = "led_type_3"
|
||||||
@ -191,7 +211,10 @@ class DPCode(str, Enum):
|
|||||||
LOCK = "lock" # Lock / Child lock
|
LOCK = "lock" # Lock / Child lock
|
||||||
MATERIAL = "material" # Material
|
MATERIAL = "material" # Material
|
||||||
MODE = "mode" # Working mode / Mode
|
MODE = "mode" # Working mode / Mode
|
||||||
|
MOTION_RECORD = "motion_record"
|
||||||
|
MOTION_SENSITIVITY = "motion_sensitivity"
|
||||||
MOTION_SWITCH = "motion_switch" # Motion switch
|
MOTION_SWITCH = "motion_switch" # Motion switch
|
||||||
|
MOTION_TRACKING = "motion_tracking"
|
||||||
MUFFLING = "muffling" # Muffling
|
MUFFLING = "muffling" # Muffling
|
||||||
NEAR_DETECTION = "near_detection"
|
NEAR_DETECTION = "near_detection"
|
||||||
PAUSE = "pause"
|
PAUSE = "pause"
|
||||||
@ -209,12 +232,16 @@ class DPCode(str, Enum):
|
|||||||
PRESSURE_STATE = "pressure_state"
|
PRESSURE_STATE = "pressure_state"
|
||||||
PRESSURE_VALUE = "pressure_value"
|
PRESSURE_VALUE = "pressure_value"
|
||||||
PUMP_RESET = "pump_reset" # Water pump reset
|
PUMP_RESET = "pump_reset" # Water pump reset
|
||||||
|
RECORD_MODE = "record_mode"
|
||||||
RECORD_SWITCH = "record_switch" # Recording switch
|
RECORD_SWITCH = "record_switch" # Recording switch
|
||||||
RELAY_STATUS = "relay_status"
|
RELAY_STATUS = "relay_status"
|
||||||
SEEK = "seek"
|
SEEK = "seek"
|
||||||
SENSITIVITY = "sensitivity" # Sensitivity
|
SENSITIVITY = "sensitivity" # Sensitivity
|
||||||
|
SENSOR_HUMIDITY = "sensor_humidity"
|
||||||
|
SENSOR_TEMPERATURE = "sensor_temperature"
|
||||||
SHAKE = "shake" # Oscillating
|
SHAKE = "shake" # Oscillating
|
||||||
SHOCK_STATE = "shock_state" # Vibration status
|
SHOCK_STATE = "shock_state" # Vibration status
|
||||||
|
SIREN_SWITCH = "siren_switch"
|
||||||
SITUATION_SET = "situation_set"
|
SITUATION_SET = "situation_set"
|
||||||
SMOKE_SENSOR_STATE = "smoke_sensor_state"
|
SMOKE_SENSOR_STATE = "smoke_sensor_state"
|
||||||
SMOKE_SENSOR_STATUS = "smoke_sensor_status"
|
SMOKE_SENSOR_STATUS = "smoke_sensor_status"
|
||||||
@ -270,6 +297,8 @@ class DPCode(str, Enum):
|
|||||||
WATER_SET = "water_set" # Water level
|
WATER_SET = "water_set" # Water level
|
||||||
WATERSENSOR_STATE = "watersensor_state"
|
WATERSENSOR_STATE = "watersensor_state"
|
||||||
WET = "wet" # Humidification
|
WET = "wet" # Humidification
|
||||||
|
WIRELESS_BATTERYLOCK = "wireless_batterylock"
|
||||||
|
WIRELESS_ELECTRICITY = "wireless_electricity"
|
||||||
WORK_MODE = "work_mode" # Working mode
|
WORK_MODE = "work_mode" # Working mode
|
||||||
WORK_POWER = "work_power"
|
WORK_POWER = "work_power"
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ from homeassistant.components.light import (
|
|||||||
LightEntityDescription,
|
LightEntityDescription,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.const import ENTITY_CATEGORY_CONFIG
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
@ -116,6 +117,20 @@ LIGHTS: dict[str, tuple[TuyaLightEntityDescription, ...]] = {
|
|||||||
name="Backlight",
|
name="Backlight",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
# Smart Camera
|
||||||
|
# https://developer.tuya.com/en/docs/iot/categorysp?id=Kaiuz35leyo12
|
||||||
|
"sp": (
|
||||||
|
TuyaLightEntityDescription(
|
||||||
|
key=DPCode.FLOODLIGHT_SWITCH,
|
||||||
|
brightness=DPCode.FLOODLIGHT_LIGHTNESS,
|
||||||
|
name="Floodlight",
|
||||||
|
),
|
||||||
|
TuyaLightEntityDescription(
|
||||||
|
key=DPCode.BASIC_INDICATOR,
|
||||||
|
name="Indicator Light",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
),
|
||||||
# Dimmer Switch
|
# Dimmer Switch
|
||||||
# https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o
|
# https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o
|
||||||
"tgkg": (
|
"tgkg": (
|
||||||
|
@ -78,6 +78,16 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
|
|||||||
entity_category=ENTITY_CATEGORY_CONFIG,
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
# Smart Camera
|
||||||
|
# https://developer.tuya.com/en/docs/iot/categorysp?id=Kaiuz35leyo12
|
||||||
|
"sp": (
|
||||||
|
NumberEntityDescription(
|
||||||
|
key=DPCode.BASIC_DEVICE_VOLUME,
|
||||||
|
name="Volume",
|
||||||
|
icon="mdi:volume-high",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
),
|
||||||
# Dimmer Switch
|
# Dimmer Switch
|
||||||
# https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o
|
# https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o
|
||||||
"tgkg": (
|
"tgkg": (
|
||||||
|
@ -16,8 +16,14 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
|||||||
from . import HomeAssistantTuyaData
|
from . import HomeAssistantTuyaData
|
||||||
from .base import EnumTypeData, TuyaEntity
|
from .base import EnumTypeData, TuyaEntity
|
||||||
from .const import (
|
from .const import (
|
||||||
|
DEVICE_CLASS_TUYA_BASIC_ANTI_FLICKR,
|
||||||
|
DEVICE_CLASS_TUYA_BASIC_NIGHTVISION,
|
||||||
|
DEVICE_CLASS_TUYA_DECIBEL_SENSITIVITY,
|
||||||
|
DEVICE_CLASS_TUYA_IPC_WORK_MODE,
|
||||||
DEVICE_CLASS_TUYA_LED_TYPE,
|
DEVICE_CLASS_TUYA_LED_TYPE,
|
||||||
DEVICE_CLASS_TUYA_LIGHT_MODE,
|
DEVICE_CLASS_TUYA_LIGHT_MODE,
|
||||||
|
DEVICE_CLASS_TUYA_MOTION_SENSITIVITY,
|
||||||
|
DEVICE_CLASS_TUYA_RECORD_MODE,
|
||||||
DEVICE_CLASS_TUYA_RELAY_STATUS,
|
DEVICE_CLASS_TUYA_RELAY_STATUS,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
TUYA_DISCOVERY_NEW,
|
TUYA_DISCOVERY_NEW,
|
||||||
@ -83,6 +89,51 @@ SELECTS: dict[str, tuple[SelectEntityDescription, ...]] = {
|
|||||||
entity_category=ENTITY_CATEGORY_CONFIG,
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
# Smart Camera
|
||||||
|
# https://developer.tuya.com/en/docs/iot/categorysp?id=Kaiuz35leyo12
|
||||||
|
"sp": (
|
||||||
|
SelectEntityDescription(
|
||||||
|
key=DPCode.IPC_WORK_MODE,
|
||||||
|
name="IPC Mode",
|
||||||
|
device_class=DEVICE_CLASS_TUYA_IPC_WORK_MODE,
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SelectEntityDescription(
|
||||||
|
key=DPCode.DECIBEL_SENSITIVITY,
|
||||||
|
name="Sound Detection Sensitivity",
|
||||||
|
icon="mdi:volume-vibrate",
|
||||||
|
device_class=DEVICE_CLASS_TUYA_DECIBEL_SENSITIVITY,
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SelectEntityDescription(
|
||||||
|
key=DPCode.RECORD_MODE,
|
||||||
|
name="Record Mode",
|
||||||
|
icon="mdi:record-rec",
|
||||||
|
device_class=DEVICE_CLASS_TUYA_RECORD_MODE,
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SelectEntityDescription(
|
||||||
|
key=DPCode.BASIC_NIGHTVISION,
|
||||||
|
name="Night Vision",
|
||||||
|
icon="mdi:theme-light-dark",
|
||||||
|
device_class=DEVICE_CLASS_TUYA_BASIC_NIGHTVISION,
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SelectEntityDescription(
|
||||||
|
key=DPCode.BASIC_ANTI_FLICKER,
|
||||||
|
name="Anti-flicker",
|
||||||
|
icon="mdi:image-outline",
|
||||||
|
device_class=DEVICE_CLASS_TUYA_BASIC_ANTI_FLICKR,
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SelectEntityDescription(
|
||||||
|
key=DPCode.MOTION_SENSITIVITY,
|
||||||
|
name="Motion Detection Sensitivity",
|
||||||
|
icon="mdi:motion-sensor",
|
||||||
|
device_class=DEVICE_CLASS_TUYA_MOTION_SENSITIVITY,
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
),
|
||||||
# Dimmer Switch
|
# Dimmer Switch
|
||||||
# https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o
|
# https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o
|
||||||
"tgkg": (
|
"tgkg": (
|
||||||
|
@ -238,6 +238,29 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
|||||||
# Emergency Button
|
# Emergency Button
|
||||||
# https://developer.tuya.com/en/docs/iot/categorysos?id=Kaiuz3oi6agjy
|
# https://developer.tuya.com/en/docs/iot/categorysos?id=Kaiuz3oi6agjy
|
||||||
"sos": BATTERY_SENSORS,
|
"sos": BATTERY_SENSORS,
|
||||||
|
# Smart Camera
|
||||||
|
# https://developer.tuya.com/en/docs/iot/categorysp?id=Kaiuz35leyo12
|
||||||
|
"sp": (
|
||||||
|
SensorEntityDescription(
|
||||||
|
key=DPCode.SENSOR_TEMPERATURE,
|
||||||
|
name="Temperature",
|
||||||
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
|
),
|
||||||
|
SensorEntityDescription(
|
||||||
|
key=DPCode.SENSOR_HUMIDITY,
|
||||||
|
name="Humidity",
|
||||||
|
device_class=DEVICE_CLASS_HUMIDITY,
|
||||||
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
|
),
|
||||||
|
SensorEntityDescription(
|
||||||
|
key=DPCode.WIRELESS_ELECTRICITY,
|
||||||
|
name="Battery",
|
||||||
|
device_class=DEVICE_CLASS_BATTERY,
|
||||||
|
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
||||||
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
|
),
|
||||||
|
),
|
||||||
# Pressure Sensor
|
# Pressure Sensor
|
||||||
# https://developer.tuya.com/en/docs/iot/categoryylcg?id=Kaiuz3kc2e4gm
|
# https://developer.tuya.com/en/docs/iot/categoryylcg?id=Kaiuz3kc2e4gm
|
||||||
"ylcg": (
|
"ylcg": (
|
||||||
|
@ -27,6 +27,14 @@ SIRENS: dict[str, tuple[SirenEntityDescription, ...]] = {
|
|||||||
name="Siren",
|
name="Siren",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
# Smart Camera
|
||||||
|
# https://developer.tuya.com/en/docs/iot/categorysp?id=Kaiuz35leyo12
|
||||||
|
"sp": (
|
||||||
|
SirenEntityDescription(
|
||||||
|
key=DPCode.SIREN_SWITCH,
|
||||||
|
name="Siren",
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,23 @@
|
|||||||
{
|
{
|
||||||
"state": {
|
"state": {
|
||||||
|
"tuya__basic_anti_flickr": {
|
||||||
|
"0": "Disabled",
|
||||||
|
"1": "50 Hz",
|
||||||
|
"2": "60 Hz"
|
||||||
|
},
|
||||||
|
"tuya__basic_nightvision": {
|
||||||
|
"0": "Automatic",
|
||||||
|
"1": "[%key:common::state::off%]",
|
||||||
|
"2": "[%key:common::state::on%]"
|
||||||
|
},
|
||||||
|
"tuya__decibel_sensitivity": {
|
||||||
|
"0": "Low sensitivity",
|
||||||
|
"1": "High sensitivity"
|
||||||
|
},
|
||||||
|
"tuya__ipc_work_mode": {
|
||||||
|
"0": "Low power mode",
|
||||||
|
"1": "Continuous working mode"
|
||||||
|
},
|
||||||
"tuya__led_type": {
|
"tuya__led_type": {
|
||||||
"halogen": "Halogen",
|
"halogen": "Halogen",
|
||||||
"incandescent": "Incandescent",
|
"incandescent": "Incandescent",
|
||||||
@ -10,6 +28,15 @@
|
|||||||
"pos": "Indicate switch location",
|
"pos": "Indicate switch location",
|
||||||
"relay": "Indicate switch on/off state"
|
"relay": "Indicate switch on/off state"
|
||||||
},
|
},
|
||||||
|
"tuya__motion_sensitivity": {
|
||||||
|
"0": "Low sensitivity",
|
||||||
|
"1": "Medium sensitivity",
|
||||||
|
"2": "High sensitivity"
|
||||||
|
},
|
||||||
|
"tuya__record_mode": {
|
||||||
|
"1": "Record events only",
|
||||||
|
"2": "Continuous recording"
|
||||||
|
},
|
||||||
"tuya__relay_status": {
|
"tuya__relay_status": {
|
||||||
"last": "Remember last state",
|
"last": "Remember last state",
|
||||||
"memory": "Remember last state",
|
"memory": "Remember last state",
|
||||||
|
@ -272,6 +272,76 @@ SWITCHES: dict[str, tuple[SwitchEntityDescription, ...]] = {
|
|||||||
entity_category=ENTITY_CATEGORY_CONFIG,
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
# Smart Camera
|
||||||
|
# https://developer.tuya.com/en/docs/iot/categorysp?id=Kaiuz35leyo12
|
||||||
|
"sp": (
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.WIRELESS_BATTERYLOCK,
|
||||||
|
name="Battery Lock",
|
||||||
|
icon="mdi:battery-lock",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.CRY_DETECTION_SWITCH,
|
||||||
|
icon="mdi:emoticon-cry",
|
||||||
|
name="Cry Detection",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.DECIBEL_SWITCH,
|
||||||
|
icon="mdi:microphone-outline",
|
||||||
|
name="Sound Detection",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.RECORD_SWITCH,
|
||||||
|
icon="mdi:record-rec",
|
||||||
|
name="Video Recording",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.MOTION_RECORD,
|
||||||
|
icon="mdi:record-rec",
|
||||||
|
name="Motion Recording",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.BASIC_PRIVATE,
|
||||||
|
icon="mdi:eye-off",
|
||||||
|
name="Privacy Mode",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.BASIC_FLIP,
|
||||||
|
icon="mdi:flip-horizontal",
|
||||||
|
name="Flip",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.BASIC_OSD,
|
||||||
|
icon="mdi:watermark",
|
||||||
|
name="Time Watermark",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.BASIC_WDR,
|
||||||
|
icon="mdi:watermark",
|
||||||
|
name="Wide Dynamic Range",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.MOTION_TRACKING,
|
||||||
|
icon="mdi:motion-sensor",
|
||||||
|
name="Motion Tracking",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
SwitchEntityDescription(
|
||||||
|
key=DPCode.MOTION_SWITCH,
|
||||||
|
icon="mdi:motion-sensor",
|
||||||
|
name="Motion Alarm",
|
||||||
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
||||||
|
),
|
||||||
|
),
|
||||||
# Ceiling Light
|
# Ceiling Light
|
||||||
# https://developer.tuya.com/en/docs/iot/ceiling-light?id=Kaiuz03xxfc4r
|
# https://developer.tuya.com/en/docs/iot/ceiling-light?id=Kaiuz03xxfc4r
|
||||||
"xdd": (
|
"xdd": (
|
||||||
|
@ -1,5 +1,23 @@
|
|||||||
{
|
{
|
||||||
"state": {
|
"state": {
|
||||||
|
"tuya__basic_anti_flickr": {
|
||||||
|
"0": "Disabled",
|
||||||
|
"1": "50 Hz",
|
||||||
|
"2": "60 Hz"
|
||||||
|
},
|
||||||
|
"tuya__basic_nightvision": {
|
||||||
|
"0": "Automatic",
|
||||||
|
"1": "Off",
|
||||||
|
"2": "On"
|
||||||
|
},
|
||||||
|
"tuya__decibel_sensitivity": {
|
||||||
|
"0": "Low sensitivity",
|
||||||
|
"1": "High sensitivity"
|
||||||
|
},
|
||||||
|
"tuya__ipc_work_mode": {
|
||||||
|
"0": "Low power mode",
|
||||||
|
"1": "Continuous working mode"
|
||||||
|
},
|
||||||
"tuya__led_type": {
|
"tuya__led_type": {
|
||||||
"halogen": "Halogen",
|
"halogen": "Halogen",
|
||||||
"incandescent": "Incandescent",
|
"incandescent": "Incandescent",
|
||||||
@ -10,6 +28,15 @@
|
|||||||
"pos": "Indicate switch location",
|
"pos": "Indicate switch location",
|
||||||
"relay": "Indicate switch on/off state"
|
"relay": "Indicate switch on/off state"
|
||||||
},
|
},
|
||||||
|
"tuya__motion_sensitivity": {
|
||||||
|
"0": "Low sensitivity",
|
||||||
|
"1": "Medium sensitivity",
|
||||||
|
"2": "High sensitivity"
|
||||||
|
},
|
||||||
|
"tuya__record_mode": {
|
||||||
|
"1": "Record events only",
|
||||||
|
"2": "Continuous recording"
|
||||||
|
},
|
||||||
"tuya__relay_status": {
|
"tuya__relay_status": {
|
||||||
"last": "Remember last state",
|
"last": "Remember last state",
|
||||||
"memory": "Remember last state",
|
"memory": "Remember last state",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user