Complementing the Tuya Humidifier (jsq) category (#65276)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
parent
87049283c1
commit
52d7ca6b1c
6 changed files with 138 additions and 0 deletions
|
@ -96,6 +96,9 @@ class TuyaDeviceClass(StrEnum):
|
|||
DECIBEL_SENSITIVITY = "tuya__decibel_sensitivity"
|
||||
FAN_ANGLE = "tuya__fan_angle"
|
||||
FINGERBOT_MODE = "tuya__fingerbot_mode"
|
||||
HUMIDIFIER_SPRAY_MODE = "tuya__humidifier_spray_mode"
|
||||
HUMIDIFIER_LEVEL = "tuya__humidifier_level"
|
||||
HUMIDIFIER_MOODLIGHTING = "tuya__humidifier_moodlighting"
|
||||
IPC_WORK_MODE = "tuya__ipc_work_mode"
|
||||
LED_TYPE = "tuya__led_type"
|
||||
LIGHT_MODE = "tuya__light_mode"
|
||||
|
@ -245,6 +248,7 @@ class DPCode(StrEnum):
|
|||
LED_TYPE_2 = "led_type_2"
|
||||
LED_TYPE_3 = "led_type_3"
|
||||
LEVEL = "level"
|
||||
LEVEL_CURRENT = "level_current"
|
||||
LIGHT = "light" # Light
|
||||
LIGHT_MODE = "light_mode"
|
||||
LOCK = "lock" # Lock / Child lock
|
||||
|
@ -253,6 +257,7 @@ class DPCode(StrEnum):
|
|||
MANUAL_FEED = "manual_feed"
|
||||
MATERIAL = "material" # Material
|
||||
MODE = "mode" # Working mode / Mode
|
||||
MOODLIGHTING = "moodlighting" # Mood light
|
||||
MOTION_RECORD = "motion_record"
|
||||
MOTION_SENSITIVITY = "motion_sensitivity"
|
||||
MOTION_SWITCH = "motion_switch" # Motion switch
|
||||
|
@ -303,6 +308,7 @@ class DPCode(StrEnum):
|
|||
SHOCK_STATE = "shock_state" # Vibration status
|
||||
SIREN_SWITCH = "siren_switch"
|
||||
SITUATION_SET = "situation_set"
|
||||
SLEEP = "sleep" # Sleep function
|
||||
SLOW_FEED = "slow_feed"
|
||||
SMOKE_SENSOR_STATE = "smoke_sensor_state"
|
||||
SMOKE_SENSOR_STATUS = "smoke_sensor_status"
|
||||
|
@ -310,8 +316,10 @@ class DPCode(StrEnum):
|
|||
SOS = "sos" # Emergency State
|
||||
SOS_STATE = "sos_state" # Emergency mode
|
||||
SPEED = "speed" # Speed level
|
||||
SPRAY_MODE = "spray_mode" # Spraying mode
|
||||
START = "start" # Start
|
||||
STATUS = "status"
|
||||
STERILIZATION = "sterilization" # Sterilization
|
||||
SUCTION = "suction"
|
||||
SWING = "swing" # Swing mode
|
||||
SWITCH = "switch" # Switch
|
||||
|
@ -333,6 +341,7 @@ class DPCode(StrEnum):
|
|||
SWITCH_LED_3 = "switch_led_3"
|
||||
SWITCH_NIGHT_LIGHT = "switch_night_light"
|
||||
SWITCH_SAVE_ENERGY = "switch_save_energy"
|
||||
SWITCH_SOUND = "switch_sound" # Voice switch
|
||||
SWITCH_SPRAY = "switch_spray" # Spraying switch
|
||||
SWITCH_USB1 = "switch_usb1" # USB 1
|
||||
SWITCH_USB2 = "switch_usb2" # USB 2
|
||||
|
|
|
@ -250,6 +250,20 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
|
|||
icon="mdi:thermometer-lines",
|
||||
),
|
||||
),
|
||||
# Humidifier
|
||||
# https://developer.tuya.com/en/docs/iot/categoryjsq?id=Kaiuz1smr440b
|
||||
"jsq": (
|
||||
NumberEntityDescription(
|
||||
key=DPCode.TEMP_SET,
|
||||
name="Temperature",
|
||||
icon="mdi:thermometer-lines",
|
||||
),
|
||||
NumberEntityDescription(
|
||||
key=DPCode.TEMP_SET_F,
|
||||
name="Temperature",
|
||||
icon="mdi:thermometer-lines",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -276,6 +276,45 @@ SELECTS: dict[str, tuple[SelectEntityDescription, ...]] = {
|
|||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
),
|
||||
# Humidifier
|
||||
# https://developer.tuya.com/en/docs/iot/categoryjsq?id=Kaiuz1smr440b
|
||||
"jsq": (
|
||||
SelectEntityDescription(
|
||||
key=DPCode.SPRAY_MODE,
|
||||
name="Spray Mode",
|
||||
device_class=TuyaDeviceClass.HUMIDIFIER_SPRAY_MODE,
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:spray",
|
||||
),
|
||||
SelectEntityDescription(
|
||||
key=DPCode.LEVEL,
|
||||
name="Spraying Level",
|
||||
device_class=TuyaDeviceClass.HUMIDIFIER_LEVEL,
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:spray",
|
||||
),
|
||||
SelectEntityDescription(
|
||||
key=DPCode.MOODLIGHTING,
|
||||
name="Moodlighting",
|
||||
device_class=TuyaDeviceClass.HUMIDIFIER_MOODLIGHTING,
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:lightbulb-multiple",
|
||||
),
|
||||
SelectEntityDescription(
|
||||
key=DPCode.COUNTDOWN,
|
||||
name="Countdown",
|
||||
device_class=TuyaDeviceClass.COUNTDOWN,
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:timer-cog-outline",
|
||||
),
|
||||
SelectEntityDescription(
|
||||
key=DPCode.COUNTDOWN_SET,
|
||||
name="Countdown",
|
||||
device_class=TuyaDeviceClass.COUNTDOWN,
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:timer-cog-outline",
|
||||
),
|
||||
),
|
||||
# Air Purifier
|
||||
# https://developer.tuya.com/en/docs/iot/f?id=K9gf46h2s6dzm
|
||||
"kj": (
|
||||
|
|
|
@ -742,6 +742,34 @@ SENSORS: dict[str, tuple[TuyaSensorEntityDescription, ...]] = {
|
|||
icon="mdi:progress-clock",
|
||||
),
|
||||
),
|
||||
# Humidifier
|
||||
# https://developer.tuya.com/en/docs/iot/s?id=K9gf48qwjz0i3
|
||||
"jsq": (
|
||||
TuyaSensorEntityDescription(
|
||||
key=DPCode.HUMIDITY_CURRENT,
|
||||
name="Humidity",
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
TuyaSensorEntityDescription(
|
||||
key=DPCode.TEMP_CURRENT,
|
||||
name="Temperature",
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
TuyaSensorEntityDescription(
|
||||
key=DPCode.TEMP_CURRENT_F,
|
||||
name="Temperature",
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
TuyaSensorEntityDescription(
|
||||
key=DPCode.LEVEL_CURRENT,
|
||||
name="Water Level",
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
icon="mdi:waves-arrow-up",
|
||||
),
|
||||
),
|
||||
# Air Purifier
|
||||
# https://developer.tuya.com/en/docs/iot/s?id=K9gf48r41mn81
|
||||
"kj": (
|
||||
|
|
|
@ -102,6 +102,32 @@
|
|||
"4h": "4 hours",
|
||||
"5h": "5 hours",
|
||||
"6h": "6 hours"
|
||||
},
|
||||
"tuya__humidifier_spray_mode": {
|
||||
"auto": "Auto",
|
||||
"health": "Health",
|
||||
"sleep": "Sleep",
|
||||
"humidity": "Humidity",
|
||||
"work": "Work"
|
||||
},
|
||||
"tuya__humidifier_level": {
|
||||
"level_1": "Level 1",
|
||||
"level_2": "Level 2",
|
||||
"level_3": "Level 3",
|
||||
"level_4": "Level 4",
|
||||
"level_5": "Level 5",
|
||||
"level_6": "Level 6",
|
||||
"level_7": "Level 7",
|
||||
"level_8": "Level 8",
|
||||
"level_9": "Level 9",
|
||||
"level_10": "Level 10"
|
||||
},
|
||||
"tuya__humidifier_moodlighting": {
|
||||
"1": "Mood 1",
|
||||
"2": "Mood 2",
|
||||
"3": "Mood 3",
|
||||
"4": "Mood 4",
|
||||
"5": "Mood 5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -558,6 +558,28 @@ SWITCHES: dict[str, tuple[SwitchEntityDescription, ...]] = {
|
|||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
),
|
||||
# Humidifier
|
||||
# https://developer.tuya.com/en/docs/iot/categoryjsq?id=Kaiuz1smr440b
|
||||
"jsq": (
|
||||
SwitchEntityDescription(
|
||||
key=DPCode.SWITCH_SOUND,
|
||||
name="Voice",
|
||||
icon="mdi:account-voice",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
SwitchEntityDescription(
|
||||
key=DPCode.SLEEP,
|
||||
name="Sleep",
|
||||
icon="mdi:power-sleep",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
SwitchEntityDescription(
|
||||
key=DPCode.STERILIZATION,
|
||||
name="Sterilization",
|
||||
icon="mdi:minus-circle-outline",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
# Socket (duplicate of `pc`)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue