Skip to content

Commit

Permalink
Update methods add battery
Browse files Browse the repository at this point in the history
  • Loading branch information
prairiesnpr committed Feb 1, 2025
1 parent cf84fd6 commit 9811ed9
Showing 1 changed file with 8 additions and 18 deletions.
26 changes: 8 additions & 18 deletions zhaquirks/tuya/tuya_rain.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
"""Quirk for TS0207 rain sensors."""

import math

from zigpy.quirks.v2.homeassistant import EntityType
from zigpy.quirks.v2.homeassistant import LIGHT_LUX, EntityType
from zigpy.quirks.v2.homeassistant.sensor import SensorDeviceClass, SensorStateClass
import zigpy.types as t
from zigpy.zcl.clusters.measurement import IlluminanceMeasurement
from zigpy.zcl.clusters.security import IasZone

from zhaquirks.tuya import TuyaLocalCluster
from zhaquirks.tuya import BatterySize, TuyaLocalCluster
from zhaquirks.tuya.builder import TuyaQuirkBuilder


Expand All @@ -20,26 +17,19 @@ class TuyaIasZone(IasZone, TuyaLocalCluster):
}


class TuyaIlluminanceCluster(IlluminanceMeasurement, TuyaLocalCluster):
"""Tuya Illuminance cluster."""


(
TuyaQuirkBuilder("_TZ3210_tgvtvdoc", "TS0207")
.tuya_dp(
dp_id=101,
ep_attribute=TuyaIlluminanceCluster.ep_attribute,
attribute_name=TuyaIlluminanceCluster.AttributeDefs.measured_value.name,
converter=lambda x: (10000.0 * math.log10(x) + 1.0 if x != 0 else 0),
.tuya_battery(
dp_id=4, battery_type=BatterySize.Other, battery_qty=1, battery_voltage=30
)
.adds(TuyaIlluminanceCluster)
.tuya_illuminance(dp_id=101)
.tuya_sensor(
dp_id=102,
attribute_name="average_light_intensity_20mins",
type=t.uint32_t,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.DURATION,
# unit=LIGHT_LUX,
unit=LIGHT_LUX,
entity_type=EntityType.DIAGNOSTIC,
translation_key="average_light_intensity_20mins",
fallback_name="Average light intensity last 20 min",
Expand All @@ -50,10 +40,10 @@ class TuyaIlluminanceCluster(IlluminanceMeasurement, TuyaLocalCluster):
type=t.uint32_t,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.DURATION,
# unit=LIGHT_LUX,
unit=LIGHT_LUX,
entity_type=EntityType.DIAGNOSTIC,
translation_key="todays_max_light_intensity",
fallback_name="Todays max light intensity",
fallback_name="Today's max light intensity",
)
.tuya_binary_sensor(
dp_id=104,
Expand Down

0 comments on commit 9811ed9

Please sign in to comment.