TS0601_TZE284 debczeci
Does anyone know of a working quirk for an “ali presence sensor” that refuses to report its sensors in ZHA?
sensor type: presence detector 24G (rectangular model of about 7 cm) with notification data : TS0601 _TZE284 debczeci?
I’d love to hear from you, because even our smart AIs are getting stuck on it.
I used this and it works.
"""Custom ZHA quirk for _TZE284_debczeci TS0601 human presence sensor."""
import zigpy.types as t
from zigpy.zcl.clusters.measurement import OccupancySensing
from zhaquirks.tuya import TuyaLocalCluster
from zhaquirks.tuya.builder import TuyaQuirkBuilder
class TuyaOccupancySensing(OccupancySensing, TuyaLocalCluster):
"""Local occupancy cluster for Tuya presence sensor."""
class PirSensitivity(t.enum8):
"""PIR sensitivity enum."""
Low = 0x00
Middle = 0x01
High = 0x02
class PirTime(t.enum8):
"""PIR clear delay enum."""
S15 = 0x00
S30 = 0x01
S60 = 0x02
def presence_to_occupancy(value):
"""Map Tuya presence bool/int to ZCL occupancy."""
return (
OccupancySensing.Occupancy.Unoccupied
if value
else OccupancySensing.Occupancy.Occupied
)
(
TuyaQuirkBuilder("_TZE284_debczeci", "TS0601")
.applies_to("_TZE284_1lvln0x6", "TS0601")
.applies_to("_TZE204_debczeci", "TS0601")
.tuya_dp(
dp_id=1,
ep_attribute=TuyaOccupancySensing.ep_attribute,
attribute_name=OccupancySensing.AttributeDefs.occupancy.name,
converter=presence_to_occupancy,
)
.adds(TuyaOccupancySensing)
.tuya_battery(dp_id=4)
.tuya_enum(
dp_id=9,
attribute_name="pir_sensitivity",
enum_class=PirSensitivity,
translation_key="pir_sensitivity",
fallback_name="PIR sensitivity",
)
.tuya_enum(
dp_id=10,
attribute_name="pir_time",
enum_class=PirTime,
translation_key="pir_time",
fallback_name="PIR time",
)
.add_to_registry()
)