Add support for Pet Feeder (cwwsq) in Tuya (#61359)

pull/63383/head
vauriga 2022-01-04 16:00:48 +01:00 committed by GitHub
parent 39b26e5ff7
commit 0a00c77ed6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 49 additions and 0 deletions

View File

@ -71,6 +71,16 @@ BINARY_SENSORS: dict[str, tuple[TuyaBinarySensorEntityDescription, ...]] = {
), ),
TAMPER_BINARY_SENSOR, TAMPER_BINARY_SENSOR,
), ),
# Smart Pet Feeder
# https://developer.tuya.com/en/docs/iot/categorycwwsq?id=Kaiuz2b6vydld
"cwwsq": (
TuyaBinarySensorEntityDescription(
key=DPCode.FEED_STATE,
name="Feeding",
icon="mdi:information",
on_value="feeding",
),
),
# Human Presence Sensor # Human Presence Sensor
# https://developer.tuya.com/en/docs/iot/categoryhps?id=Kaiuz42yhn1hs # https://developer.tuya.com/en/docs/iot/categoryhps?id=Kaiuz42yhn1hs
"hps": ( "hps": (

View File

@ -189,6 +189,8 @@ class DPCode(StrEnum):
FAN_SPEED_PERCENT = "fan_speed_percent" # Stepless speed FAN_SPEED_PERCENT = "fan_speed_percent" # Stepless speed
FAR_DETECTION = "far_detection" FAR_DETECTION = "far_detection"
FAULT = "fault" FAULT = "fault"
FEED_REPORT = "feed_report"
FEED_STATE = "feed_state"
FILTER_LIFE = "filter" FILTER_LIFE = "filter"
FILTER_RESET = "filter_reset" # Filter (cartridge) reset FILTER_RESET = "filter_reset" # Filter (cartridge) reset
FLOODLIGHT_LIGHTNESS = "floodlight_lightness" FLOODLIGHT_LIGHTNESS = "floodlight_lightness"
@ -209,6 +211,7 @@ class DPCode(StrEnum):
LIGHT_MODE = "light_mode" LIGHT_MODE = "light_mode"
LOCK = "lock" # Lock / Child lock LOCK = "lock" # Lock / Child lock
MACH_OPERATE = "mach_operate" MACH_OPERATE = "mach_operate"
MANUAL_FEED = "manual_feed"
MATERIAL = "material" # Material MATERIAL = "material" # Material
MODE = "mode" # Working mode / Mode MODE = "mode" # Working mode / Mode
MOTION_RECORD = "motion_record" MOTION_RECORD = "motion_record"
@ -257,6 +260,7 @@ class DPCode(StrEnum):
SHOCK_STATE = "shock_state" # Vibration status SHOCK_STATE = "shock_state" # Vibration status
SIREN_SWITCH = "siren_switch" SIREN_SWITCH = "siren_switch"
SITUATION_SET = "situation_set" SITUATION_SET = "situation_set"
SLOW_FEED = "slow_feed"
SMOKE_SENSOR_STATE = "smoke_sensor_state" SMOKE_SENSOR_STATE = "smoke_sensor_state"
SMOKE_SENSOR_STATUS = "smoke_sensor_status" SMOKE_SENSOR_STATUS = "smoke_sensor_status"
SMOKE_SENSOR_VALUE = "smoke_sensor_value" SMOKE_SENSOR_VALUE = "smoke_sensor_value"
@ -315,6 +319,7 @@ class DPCode(StrEnum):
VOC_STATE = "voc_state" VOC_STATE = "voc_state"
VOC_VALUE = "voc_value" VOC_VALUE = "voc_value"
VOICE_SWITCH = "voice_switch" VOICE_SWITCH = "voice_switch"
VOICE_TIMES = "voice_times"
VOLUME_SET = "volume_set" VOLUME_SET = "volume_set"
WARM = "warm" # Heat preservation WARM = "warm" # Heat preservation
WARM_TIME = "warm_time" # Heat preservation time WARM_TIME = "warm_time" # Heat preservation time

View File

@ -55,6 +55,20 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
entity_category=EntityCategory.CONFIG, entity_category=EntityCategory.CONFIG,
), ),
), ),
# Smart Pet Feeder
# https://developer.tuya.com/en/docs/iot/categorycwwsq?id=Kaiuz2b6vydld
"cwwsq": (
NumberEntityDescription(
key=DPCode.MANUAL_FEED,
name="Feed",
icon="mdi:bowl",
),
NumberEntityDescription(
key=DPCode.VOICE_TIMES,
name="Voice Times",
icon="mdi:microphone",
),
),
# Human Presence Sensor # Human Presence Sensor
# https://developer.tuya.com/en/docs/iot/categoryhps?id=Kaiuz42yhn1hs # https://developer.tuya.com/en/docs/iot/categoryhps?id=Kaiuz42yhn1hs
"hps": ( "hps": (

View File

@ -137,6 +137,16 @@ SENSORS: dict[str, tuple[TuyaSensorEntityDescription, ...]] = {
), ),
*BATTERY_SENSORS, *BATTERY_SENSORS,
), ),
# Smart Pet Feeder
# https://developer.tuya.com/en/docs/iot/categorycwwsq?id=Kaiuz2b6vydld
"cwwsq": (
TuyaSensorEntityDescription(
key=DPCode.FEED_REPORT,
name="Last Amount",
icon="mdi:counter",
state_class=SensorStateClass.MEASUREMENT,
),
),
# Air Quality Monitor # Air Quality Monitor
# No specification on Tuya portal # No specification on Tuya portal
"hjjcy": ( "hjjcy": (

View File

@ -38,6 +38,16 @@ SWITCHES: dict[str, tuple[SwitchEntityDescription, ...]] = {
entity_category=EntityCategory.CONFIG, entity_category=EntityCategory.CONFIG,
), ),
), ),
# Smart Pet Feeder
# https://developer.tuya.com/en/docs/iot/categorycwwsq?id=Kaiuz2b6vydld
"cwwsq": (
SwitchEntityDescription(
key=DPCode.SLOW_FEED,
name="Slow Feed",
icon="mdi:speedometer-slow",
entity_category=EntityCategory.CONFIG,
),
),
# Pet Water Feeder # Pet Water Feeder
# https://developer.tuya.com/en/docs/iot/f?id=K9gf46aewxem5 # https://developer.tuya.com/en/docs/iot/f?id=K9gf46aewxem5
"cwysj": ( "cwysj": (