Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 54 additions & 1 deletion zhaquirks/tuya/tuya_smoke.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Smoke Sensor."""

from zigpy.quirks.v2 import EntityType, QuirkBuilder
from zigpy.quirks.v2 import EntityPlatform, EntityType, QuirkBuilder
from zigpy.quirks.v2.homeassistant.binary_sensor import BinarySensorDeviceClass
import zigpy.types as t
from zigpy.zcl.clusters.general import OnOff, Time
Expand All @@ -17,6 +17,22 @@
from zhaquirks.tuya.builder import TuyaIasFire, TuyaQuirkBuilder


class TuyaBatteryState(t.enum8):
"""Tuya battery state enum."""

Low = 0x00
Medium = 0x01
High = 0x02


class TuyaSelfCheckResult(t.enum8):
"""Tuya self check result enum."""

Checking = 0x00
CheckSuccess = 0x01
CheckFailure = 0x02


class TuyaSensitivityMode(t.enum8):
"""Tuya sensitivity mode enum."""

Expand Down Expand Up @@ -168,3 +184,40 @@ def _update_attribute(self, attrid, value):
.skip_configuration()
.add_to_registry()
)


# MOES HS2SA-1 Photoelectric Smoke Alarm

(
TuyaQuirkBuilder("_TZE284_vawy74yh", "TS0601")
.applies_to("_TZE200_ai4rqhky", "TS0601") # From z2m
.applies_to("_TZE284_ai4rqhky", "TS0601") # From z2m
.tuya_smoke(dp_id=1)
.tuya_enum(
dp_id=9,
attribute_name="self_test",
enum_class=TuyaSelfCheckResult,
entity_platform=EntityPlatform.SENSOR,
entity_type=EntityType.DIAGNOSTIC,
translation_key="self_test",
fallback_name="Self test result",
)
.tuya_enum(
dp_id=14,
attribute_name="battery_state",
enum_class=TuyaBatteryState,
entity_platform=EntityPlatform.SENSOR,
entity_type=EntityType.DIAGNOSTIC,
translation_key="battery_state",
fallback_name="Battery state",
)
.tuya_battery(dp_id=15, battery_type=BatterySize.CR123A, battery_qty=1)
.tuya_switch(
dp_id=16,
attribute_name="silence_alarm",
translation_key="silence_alarm",
fallback_name="Silence alarm",
)
.skip_configuration()
.add_to_registry()
)
Loading