From be8682301a56e4d126d177daed71e82a84baff81 Mon Sep 17 00:00:00 2001 From: prairiesnpr Date: Sat, 25 Jan 2025 12:50:11 +0000 Subject: [PATCH 1/2] add battery sensor --- zhaquirks/tuya/tuya_smoke.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/zhaquirks/tuya/tuya_smoke.py b/zhaquirks/tuya/tuya_smoke.py index c4e9da43ea..a56f2f9915 100644 --- a/zhaquirks/tuya/tuya_smoke.py +++ b/zhaquirks/tuya/tuya_smoke.py @@ -9,7 +9,11 @@ from zigpy.zcl.foundation import BaseAttributeDefs, ZCLAttributeDef from zhaquirks import LocalDataCluster -from zhaquirks.tuya import TuyaManufClusterAttributes, TuyaPowerConfigurationCluster2AAA +from zhaquirks.tuya import ( + BatterySize, + TuyaManufClusterAttributes, + TuyaPowerConfigurationCluster2AAA, +) from zhaquirks.tuya.builder import TuyaQuirkBuilder @@ -60,8 +64,22 @@ def _update_attribute(self, attrid, value): .applies_to("_TZE284_rccxox8p", "TS0601") .applies_to("_TZE200_vzekyi4c", "TS0601") .applies_to("_TZE204_vawy74yh", "TS0601") + .tuya_smoke(dp_id=1) + .skip_configuration() + .add_to_registry() +) + +( + TuyaQuirkBuilder("TZE200_0zaf1cr8", "TS0601") .applies_to("_TZE284_0zaf1cr8", "TS0601") .tuya_smoke(dp_id=1) + .tuya_binary_sensor( + dp_id=14, + attribute_name="battery_low", + translation_key="battery_low", + fallback_name="Battery low", + ) + .tuya_battery(dp_id=15, battery_type=BatterySize.CR123A, battery_qty=1) .skip_configuration() .add_to_registry() ) From ed49667f18e9c348988a5c9d02fb1a0947e8cd2e Mon Sep 17 00:00:00 2001 From: PrairieSnpr Date: Sat, 25 Jan 2025 19:17:33 -0500 Subject: [PATCH 2/2] Use battery device class --- zhaquirks/tuya/tuya_smoke.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zhaquirks/tuya/tuya_smoke.py b/zhaquirks/tuya/tuya_smoke.py index a56f2f9915..9819331e43 100644 --- a/zhaquirks/tuya/tuya_smoke.py +++ b/zhaquirks/tuya/tuya_smoke.py @@ -76,7 +76,8 @@ def _update_attribute(self, attrid, value): .tuya_binary_sensor( dp_id=14, attribute_name="battery_low", - translation_key="battery_low", + device_class=BinarySensorDeviceClass.BATTERY, + entity_type=EntityType.DIAGNOSTIC, fallback_name="Battery low", ) .tuya_battery(dp_id=15, battery_type=BatterySize.CR123A, battery_qty=1)