diff --git a/tests/test_tuya_builder.py b/tests/test_tuya_builder.py index 425c7ac425..10ad800838 100644 --- a/tests/test_tuya_builder.py +++ b/tests/test_tuya_builder.py @@ -8,10 +8,11 @@ from zigpy.quirks.v2 import CustomDeviceV2 import zigpy.types as t from zigpy.zcl import foundation -from zigpy.zcl.clusters.general import Basic, BatterySize +from zigpy.zcl.clusters.general import Basic from tests.common import ClusterListener, MockDatetime, wait_for_zigpy_tasks import zhaquirks +from zhaquirks.const import BatterySize from zhaquirks.tuya import ( TUYA_QUERY_DATA, TUYA_SET_TIME, @@ -93,6 +94,9 @@ async def test_convenience_methods(device_mock, method_name, attr_name, exp_clas (TuyaPowerConfigurationCluster2AAA, None, None, None, BatterySize.AAA, 2, 15), (None, BatterySize.CR123A, 1, 60, BatterySize.CR123A, 1, 60), (None, BatterySize.CR123A, 1, None, BatterySize.CR123A, 1, 30), + (None, BatterySize.CR2450, 1, None, BatterySize.CR2450, 1, 30), + (None, BatterySize.CR2032, 1, None, BatterySize.CR2032, 1, 30), + (None, BatterySize.CR1632, 1, None, BatterySize.CR1632, 1, 30), (None, BatterySize.AA, None, None, BatterySize.AA, None, None), (None, None, None, None, None, None, None), ], diff --git a/tests/test_xiaomi.py b/tests/test_xiaomi.py index a6f4454b91..fb6a45248f 100644 --- a/tests/test_xiaomi.py +++ b/tests/test_xiaomi.py @@ -47,6 +47,7 @@ OUTPUT_CLUSTERS, PROFILE_ID, ZONE_STATUS_CHANGE_COMMAND, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -58,6 +59,8 @@ XiaomiQuickInitDevice, handle_quick_init, ) +import zhaquirks.xiaomi.aqara.cube +import zhaquirks.xiaomi.aqara.cube_aqgl01 import zhaquirks.xiaomi.aqara.driver_curtain_e1 from zhaquirks.xiaomi.aqara.feeder_acn001 import ( FEEDER_ATTR, @@ -75,9 +78,14 @@ AqaraFeederAcn001, OppleCluster, ) +import zhaquirks.xiaomi.aqara.magnet_ac01 +import zhaquirks.xiaomi.aqara.magnet_acn001 import zhaquirks.xiaomi.aqara.magnet_agl02 +import zhaquirks.xiaomi.aqara.magnet_aq2 import zhaquirks.xiaomi.aqara.motion_ac02 +import zhaquirks.xiaomi.aqara.motion_acn001 import zhaquirks.xiaomi.aqara.motion_agl02 +import zhaquirks.xiaomi.aqara.motion_agl04 import zhaquirks.xiaomi.aqara.motion_aq2 import zhaquirks.xiaomi.aqara.motion_aq2b import zhaquirks.xiaomi.aqara.plug @@ -89,6 +97,7 @@ from zhaquirks.xiaomi.aqara.thermostat_agl001 import ScheduleEvent, ScheduleSettings import zhaquirks.xiaomi.aqara.weather import zhaquirks.xiaomi.mija.motion +import zhaquirks.xiaomi.mija.smoke zhaquirks.setup() @@ -384,10 +393,27 @@ async def test_mija_battery(zigpy_device_from_quirk, voltage, bpr): @pytest.mark.parametrize( "quirk, batt_size", ( - (zhaquirks.xiaomi.aqara.vibration_aq1.VibrationAQ1, 0x0A), - (zhaquirks.xiaomi.mija.motion.Motion, 0x09), - (zhaquirks.xiaomi.mija.sensor_switch.MijaButton, 0x0A), - (zhaquirks.xiaomi.mija.sensor_magnet.Magnet, 0x0B), + (zhaquirks.xiaomi.aqara.vibration_aq1.VibrationAQ1, BatterySize.CR2032), + (zhaquirks.xiaomi.aqara.cube.Cube, BatterySize.CR2450), + (zhaquirks.xiaomi.aqara.cube_aqgl01.CubeAQGL01, BatterySize.CR2450), + (zhaquirks.xiaomi.aqara.cube_aqgl01.CubeCAGL02, BatterySize.CR2450), + (zhaquirks.xiaomi.aqara.magnet_ac01.LumiMagnetAC01, BatterySize.CR123A), + (zhaquirks.xiaomi.aqara.magnet_acn001.MagnetE1, BatterySize.CR1632), + (zhaquirks.xiaomi.aqara.magnet_agl02.MagnetT1, BatterySize.CR1632), + (zhaquirks.xiaomi.aqara.magnet_aq2.MagnetAQ2, BatterySize.CR1632), + (zhaquirks.xiaomi.aqara.motion_ac02.LumiMotionAC02, BatterySize.CR1632), + (zhaquirks.xiaomi.aqara.motion_acn001.MotionE1, BatterySize.CR1632), + (zhaquirks.xiaomi.aqara.motion_agl02.MotionT1, BatterySize.CR1632), + (zhaquirks.xiaomi.aqara.motion_agl04.LumiLumiMotionAgl04, BatterySize.CR1632), + (zhaquirks.xiaomi.aqara.motion_aq2.MotionAQ2, BatterySize.CR2450), + (zhaquirks.xiaomi.aqara.motion_aq2b.MotionAQ2, BatterySize.CR2450), + (zhaquirks.xiaomi.mija.motion.Motion, BatterySize.CR2450), + (zhaquirks.xiaomi.mija.sensor_switch.MijaButton, BatterySize.CR2032), + (zhaquirks.xiaomi.mija.sensor_magnet.Magnet, BatterySize.CR1632), + ( + zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor, + BatterySize.CR123A, + ), ), ) async def test_xiaomi_batt_size(zigpy_device_from_quirk, quirk, batt_size): diff --git a/zhaquirks/const.py b/zhaquirks/const.py index 16d87635e1..5d0d81480f 100644 --- a/zhaquirks/const.py +++ b/zhaquirks/const.py @@ -12,6 +12,7 @@ SIG_NODE_DESC, SIG_SKIP_CONFIG, ) +import zigpy.types as t ARGS = "args" ATTR_ID = "attr_id" @@ -125,3 +126,21 @@ ZONE_STATE = 0x0000 ZONE_TYPE = 0x0001 ZONE_STATUS = 0x0002 + + +class BatterySize(t.enum8): + """Battery sizes.""" + + No_battery = 0x00 + Built_in = 0x01 + Other = 0x02 + AA = 0x03 + AAA = 0x04 + C = 0x05 + D = 0x06 + CR2 = 0x07 + CR123A = 0x08 + CR2450 = 0x09 + CR2032 = 0x0A + CR1632 = 0x0B + Unknown = 0xFF diff --git a/zhaquirks/ikea/__init__.py b/zhaquirks/ikea/__init__.py index d584269ccf..5d3a80fe12 100644 --- a/zhaquirks/ikea/__init__.py +++ b/zhaquirks/ikea/__init__.py @@ -8,6 +8,7 @@ from zigpy.zcl.clusters.general import Basic, PowerConfiguration, Scenes from zhaquirks import EventableCluster +from zhaquirks.const import BatterySize _LOGGER = logging.getLogger(__name__) @@ -148,7 +149,7 @@ class PowerConfig1AAACluster(CustomCluster, PowerConfiguration): """Updating power attributes: 2 AAA.""" _CONSTANT_ATTRIBUTES = { - BATTERY_SIZE: 4, + BATTERY_SIZE: BatterySize.AAA, BATTERY_QUANTITY: 1, BATTERY_RATED_VOLTAGE: 15, } @@ -158,7 +159,7 @@ class PowerConfig2AAACluster(CustomCluster, PowerConfiguration): """Updating power attributes: 2 AAA.""" _CONSTANT_ATTRIBUTES = { - BATTERY_SIZE: 4, + BATTERY_SIZE: BatterySize.AAA, BATTERY_QUANTITY: 2, BATTERY_RATED_VOLTAGE: 15, } @@ -168,7 +169,7 @@ class PowerConfig2CRCluster(CustomCluster, PowerConfiguration): """Updating power attributes: 2 CR2032.""" _CONSTANT_ATTRIBUTES = { - BATTERY_SIZE: 10, + BATTERY_SIZE: BatterySize.CR2032, BATTERY_QUANTITY: 2, BATTERY_RATED_VOLTAGE: 30, } @@ -178,7 +179,7 @@ class PowerConfig1CRCluster(CustomCluster, PowerConfiguration): """Updating power attributes: 1 CR2032.""" _CONSTANT_ATTRIBUTES = { - BATTERY_SIZE: 10, + BATTERY_SIZE: BatterySize.CR2032, BATTERY_QUANTITY: 1, BATTERY_RATED_VOLTAGE: 30, } @@ -189,7 +190,7 @@ class PowerConfig1CRXCluster(CustomCluster, PowerConfiguration): _CONSTANT_ATTRIBUTES = { BATTERY_VOLTAGE: 0, - BATTERY_SIZE: 10, + BATTERY_SIZE: BatterySize.CR2032, BATTERY_QUANTITY: 1, BATTERY_RATED_VOLTAGE: 30, } diff --git a/zhaquirks/tuya/__init__.py b/zhaquirks/tuya/__init__.py index f380f3e065..9b2b32c787 100644 --- a/zhaquirks/tuya/__init__.py +++ b/zhaquirks/tuya/__init__.py @@ -11,13 +11,7 @@ import zigpy.types as t from zigpy.zcl import BaseAttributeDefs, foundation from zigpy.zcl.clusters.closures import WindowCovering -from zigpy.zcl.clusters.general import ( - Basic, - BatterySize, - LevelControl, - OnOff, - PowerConfiguration, -) +from zigpy.zcl.clusters.general import Basic, LevelControl, OnOff, PowerConfiguration from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement from zigpy.zcl.clusters.hvac import Thermostat, UserInterface from zigpy.zcl.clusters.smartenergy import Metering @@ -30,6 +24,7 @@ RIGHT, SHORT_PRESS, ZHA_SEND_EVENT, + BatterySize, ) # --------------------------------------------------------- diff --git a/zhaquirks/tuya/builder/__init__.py b/zhaquirks/tuya/builder/__init__.py index 4d1310d746..c8a92b8934 100644 --- a/zhaquirks/tuya/builder/__init__.py +++ b/zhaquirks/tuya/builder/__init__.py @@ -17,7 +17,6 @@ from zigpy.quirks.v2.homeassistant.sensor import SensorDeviceClass, SensorStateClass import zigpy.types as t from zigpy.zcl import foundation -from zigpy.zcl.clusters.general import BatterySize from zigpy.zcl.clusters.measurement import ( PM25, CarbonDioxideConcentration, @@ -31,6 +30,7 @@ from zigpy.zcl.clusters.smartenergy import Metering from zigpy.zcl.foundation import BaseAttributeDefs, ZCLAttributeDef +from zhaquirks.const import BatterySize from zhaquirks.tuya import ( TUYA_CLUSTER_ID, BaseEnchantedDevice, @@ -54,6 +54,9 @@ BatterySize.AA: 15, BatterySize.CR2: 30, BatterySize.CR123A: 30, + BatterySize.CR2450: 30, + BatterySize.CR2032: 30, + BatterySize.CR1632: 30, BatterySize.Unknown: None, } diff --git a/zhaquirks/tuya/tuya_gas.py b/zhaquirks/tuya/tuya_gas.py index 2b30a95b39..0feeb8a8f7 100644 --- a/zhaquirks/tuya/tuya_gas.py +++ b/zhaquirks/tuya/tuya_gas.py @@ -4,9 +4,9 @@ from zigpy.quirks.v2.homeassistant import CONCENTRATION_PARTS_PER_MILLION, UnitOfTime from zigpy.quirks.v2.homeassistant.sensor import SensorDeviceClass, SensorStateClass import zigpy.types as t -from zigpy.zcl.clusters.general import BatterySize from zigpy.zcl.clusters.security import IasZone +from zhaquirks.const import BatterySize from zhaquirks.tuya import TuyaLocalCluster from zhaquirks.tuya.builder import TuyaQuirkBuilder diff --git a/zhaquirks/tuya/tuya_sensor.py b/zhaquirks/tuya/tuya_sensor.py index 1a97b4b897..767f29b2d4 100644 --- a/zhaquirks/tuya/tuya_sensor.py +++ b/zhaquirks/tuya/tuya_sensor.py @@ -8,6 +8,7 @@ import zigpy.types as t from zigpy.zcl import foundation +from zhaquirks.const import BatterySize from zhaquirks.tuya import ( TUYA_SET_TIME, TuyaPowerConfigurationCluster2AAA, @@ -305,7 +306,7 @@ class NoManufTimeTuyaMCUCluster(TuyaMCUCluster): .applies_to("_TZE200_n8dljorx", "TS0601") .tuya_illuminance(dp_id=101) .tuya_contact(dp_id=1) - .tuya_battery(dp_id=2) + .tuya_battery(dp_id=2, battery_type=BatterySize.CR2032, battery_qty=1) .skip_configuration() .add_to_registry() ) diff --git a/zhaquirks/tuya/tuya_siren.py b/zhaquirks/tuya/tuya_siren.py index f4246d7646..319092e361 100644 --- a/zhaquirks/tuya/tuya_siren.py +++ b/zhaquirks/tuya/tuya_siren.py @@ -4,8 +4,8 @@ from zigpy.quirks.v2.homeassistant import PERCENTAGE, UnitOfTemperature, UnitOfTime from zigpy.quirks.v2.homeassistant.binary_sensor import BinarySensorDeviceClass import zigpy.types as t -from zigpy.zcl.clusters.general import BatterySize +from zhaquirks.const import BatterySize from zhaquirks.tuya.builder import TuyaQuirkBuilder diff --git a/zhaquirks/tuya/tuya_valve.py b/zhaquirks/tuya/tuya_valve.py index 96b2f1f1f3..e036496fff 100644 --- a/zhaquirks/tuya/tuya_valve.py +++ b/zhaquirks/tuya/tuya_valve.py @@ -6,9 +6,9 @@ from zigpy.quirks.v2.homeassistant import UnitOfTime, UnitOfVolume from zigpy.quirks.v2.homeassistant.sensor import SensorDeviceClass, SensorStateClass import zigpy.types as t -from zigpy.zcl.clusters.general import BatterySize from zigpy.zcl.clusters.smartenergy import Metering +from zhaquirks.const import BatterySize from zhaquirks.tuya import TUYA_CLUSTER_ID from zhaquirks.tuya.builder import TuyaQuirkBuilder, TuyaValveWaterConsumed from zhaquirks.tuya.mcu import TuyaMCUCluster diff --git a/zhaquirks/xiaomi/__init__.py b/zhaquirks/xiaomi/__init__.py index f07243e512..4d2f53670a 100644 --- a/zhaquirks/xiaomi/__init__.py +++ b/zhaquirks/xiaomi/__init__.py @@ -48,6 +48,7 @@ UNKNOWN, VALUE, ZHA_SEND_EVENT, + BatterySize, ) BATTERY_LEVEL = "battery_level" @@ -116,7 +117,7 @@ class XiaomiCustomDevice(CustomDevice): def __init__(self, *args, **kwargs): """Init.""" if not hasattr(self, BATTERY_SIZE): - self.battery_size = 10 + self.battery_size = BatterySize.CR2032 super().__init__(*args, **kwargs) @@ -507,7 +508,9 @@ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._CONSTANT_ATTRIBUTES = { BATTERY_QUANTITY_ATTR: 1, - BATTERY_SIZE_ATTR: getattr(self.endpoint.device, BATTERY_SIZE, 0xFF), + BATTERY_SIZE_ATTR: getattr( + self.endpoint.device, BATTERY_SIZE, BatterySize.Unknown + ), } self._slope = 200 / (self.MAX_VOLTS_MV - self.MIN_VOLTS_MV) diff --git a/zhaquirks/xiaomi/aqara/cube.py b/zhaquirks/xiaomi/aqara/cube.py index c73709ea95..4e782aed90 100644 --- a/zhaquirks/xiaomi/aqara/cube.py +++ b/zhaquirks/xiaomi/aqara/cube.py @@ -26,6 +26,7 @@ TURN_ON, VALUE, ZHA_SEND_EVENT, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -161,7 +162,7 @@ class Cube(XiaomiQuickInitDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 9 + self.battery_size = BatterySize.CR2450 super().__init__(*args, **kwargs) class MultistateInputCluster(CustomCluster, MultistateInput): diff --git a/zhaquirks/xiaomi/aqara/cube_aqgl01.py b/zhaquirks/xiaomi/aqara/cube_aqgl01.py index d5efbec549..f5cdfcb351 100644 --- a/zhaquirks/xiaomi/aqara/cube_aqgl01.py +++ b/zhaquirks/xiaomi/aqara/cube_aqgl01.py @@ -27,6 +27,7 @@ TURN_ON, VALUE, ZHA_SEND_EVENT, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -214,7 +215,7 @@ class CubeAQGL01(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 9 + self.battery_size = BatterySize.CR2450 super().__init__(*args, **kwargs) signature = { @@ -353,7 +354,7 @@ class CubeCAGL02(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 9 + self.battery_size = BatterySize.CR2450 super().__init__(*args, **kwargs) signature = { diff --git a/zhaquirks/xiaomi/aqara/magnet_ac01.py b/zhaquirks/xiaomi/aqara/magnet_ac01.py index 1a9f67df81..3edbe41538 100644 --- a/zhaquirks/xiaomi/aqara/magnet_ac01.py +++ b/zhaquirks/xiaomi/aqara/magnet_ac01.py @@ -12,6 +12,7 @@ MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -42,7 +43,7 @@ class LumiMagnetAC01(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 8 + self.battery_size = BatterySize.CR123A super().__init__(*args, **kwargs) signature = { diff --git a/zhaquirks/xiaomi/aqara/magnet_acn001.py b/zhaquirks/xiaomi/aqara/magnet_acn001.py index 53044995e9..415de2fe6e 100644 --- a/zhaquirks/xiaomi/aqara/magnet_acn001.py +++ b/zhaquirks/xiaomi/aqara/magnet_acn001.py @@ -11,6 +11,7 @@ MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -28,7 +29,7 @@ class MagnetE1(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 super().__init__(*args, **kwargs) signature = { diff --git a/zhaquirks/xiaomi/aqara/magnet_agl02.py b/zhaquirks/xiaomi/aqara/magnet_agl02.py index 2a63c40645..e6d4f96181 100644 --- a/zhaquirks/xiaomi/aqara/magnet_agl02.py +++ b/zhaquirks/xiaomi/aqara/magnet_agl02.py @@ -11,6 +11,7 @@ MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, + BatterySize, ) from zhaquirks.xiaomi import ( BasicCluster, @@ -25,7 +26,7 @@ class MagnetT1(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 super().__init__(*args, **kwargs) signature = { diff --git a/zhaquirks/xiaomi/aqara/magnet_aq2.py b/zhaquirks/xiaomi/aqara/magnet_aq2.py index f59f8c834c..20066b7e3b 100644 --- a/zhaquirks/xiaomi/aqara/magnet_aq2.py +++ b/zhaquirks/xiaomi/aqara/magnet_aq2.py @@ -12,6 +12,7 @@ OUTPUT_CLUSTERS, PROFILE_ID, SKIP_CONFIGURATION, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -31,7 +32,7 @@ class MagnetAQ2(XiaomiQuickInitDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 super().__init__(*args, **kwargs) signature = { diff --git a/zhaquirks/xiaomi/aqara/motion_ac02.py b/zhaquirks/xiaomi/aqara/motion_ac02.py index 58da99acb2..d6c2145c83 100644 --- a/zhaquirks/xiaomi/aqara/motion_ac02.py +++ b/zhaquirks/xiaomi/aqara/motion_ac02.py @@ -18,6 +18,7 @@ MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, + BatterySize, ) from zhaquirks.xiaomi import ( LocalIlluminanceMeasurementCluster, @@ -91,7 +92,7 @@ class LumiMotionAC02(CustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 self.battery_quantity = 2 self.motion_bus = Bus() super().__init__(*args, **kwargs) diff --git a/zhaquirks/xiaomi/aqara/motion_acn001.py b/zhaquirks/xiaomi/aqara/motion_acn001.py index 138f705a41..189957c314 100644 --- a/zhaquirks/xiaomi/aqara/motion_acn001.py +++ b/zhaquirks/xiaomi/aqara/motion_acn001.py @@ -11,6 +11,7 @@ MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -30,7 +31,7 @@ class MotionE1(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 self.motion_bus = Bus() super().__init__(*args, **kwargs) diff --git a/zhaquirks/xiaomi/aqara/motion_agl02.py b/zhaquirks/xiaomi/aqara/motion_agl02.py index aa7d0fa87f..6ad286cebb 100644 --- a/zhaquirks/xiaomi/aqara/motion_agl02.py +++ b/zhaquirks/xiaomi/aqara/motion_agl02.py @@ -14,6 +14,7 @@ MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -32,7 +33,7 @@ class MotionT1(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 self.motion_bus = Bus() super().__init__(*args, **kwargs) diff --git a/zhaquirks/xiaomi/aqara/motion_agl04.py b/zhaquirks/xiaomi/aqara/motion_agl04.py index 846bb7e127..19e19c3942 100644 --- a/zhaquirks/xiaomi/aqara/motion_agl04.py +++ b/zhaquirks/xiaomi/aqara/motion_agl04.py @@ -17,6 +17,7 @@ MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, + BatterySize, ) from zhaquirks.xiaomi import ( DeviceTemperatureCluster, @@ -64,7 +65,7 @@ class LumiLumiMotionAgl04(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 self.battery_quantity = 2 self.motion_bus = Bus() super().__init__(*args, **kwargs) diff --git a/zhaquirks/xiaomi/aqara/motion_aq2.py b/zhaquirks/xiaomi/aqara/motion_aq2.py index e3647cc92c..319158fcdd 100644 --- a/zhaquirks/xiaomi/aqara/motion_aq2.py +++ b/zhaquirks/xiaomi/aqara/motion_aq2.py @@ -15,6 +15,7 @@ OUTPUT_CLUSTERS, PROFILE_ID, SKIP_CONFIGURATION, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -36,7 +37,7 @@ class MotionAQ2(XiaomiQuickInitDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 9 + self.battery_size = BatterySize.CR2450 self.motion_bus = Bus() super().__init__(*args, **kwargs) diff --git a/zhaquirks/xiaomi/aqara/motion_aq2b.py b/zhaquirks/xiaomi/aqara/motion_aq2b.py index 212b896d14..fd07fe89ae 100644 --- a/zhaquirks/xiaomi/aqara/motion_aq2b.py +++ b/zhaquirks/xiaomi/aqara/motion_aq2b.py @@ -13,6 +13,7 @@ OUTPUT_CLUSTERS, PROFILE_ID, SKIP_CONFIGURATION, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -32,7 +33,7 @@ class MotionAQ2(XiaomiCustomDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 9 + self.battery_size = BatterySize.CR2450 self.motion_bus = Bus() super().__init__(*args, **kwargs) diff --git a/zhaquirks/xiaomi/mija/motion.py b/zhaquirks/xiaomi/mija/motion.py index 15b2d4cf53..fdb1685a62 100644 --- a/zhaquirks/xiaomi/mija/motion.py +++ b/zhaquirks/xiaomi/mija/motion.py @@ -21,6 +21,7 @@ OUTPUT_CLUSTERS, PROFILE_ID, SKIP_CONFIGURATION, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -40,7 +41,7 @@ class Motion(XiaomiQuickInitDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 9 + self.battery_size = BatterySize.CR2450 self.motion_bus = Bus() super().__init__(*args, **kwargs) diff --git a/zhaquirks/xiaomi/mija/sensor_magnet.py b/zhaquirks/xiaomi/mija/sensor_magnet.py index 7413f135d6..72b34cc445 100644 --- a/zhaquirks/xiaomi/mija/sensor_magnet.py +++ b/zhaquirks/xiaomi/mija/sensor_magnet.py @@ -19,6 +19,7 @@ OUTPUT_CLUSTERS, PROFILE_ID, SKIP_CONFIGURATION, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -38,7 +39,7 @@ class Magnet(XiaomiQuickInitDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 11 + self.battery_size = BatterySize.CR1632 super().__init__(*args, **kwargs) signature = { diff --git a/zhaquirks/xiaomi/mija/sensor_switch.py b/zhaquirks/xiaomi/mija/sensor_switch.py index 3ab9e56a95..1fa2285aa8 100644 --- a/zhaquirks/xiaomi/mija/sensor_switch.py +++ b/zhaquirks/xiaomi/mija/sensor_switch.py @@ -44,6 +44,7 @@ TRIPLE_PRESS, UNKNOWN, ZHA_SEND_EVENT, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -68,7 +69,7 @@ class MijaButton(XiaomiQuickInitDevice): def __init__(self, *args, **kwargs): """Init.""" - self.battery_size = 10 + self.battery_size = BatterySize.CR2032 super().__init__(*args, **kwargs) class MijaOnOff(CustomCluster, OnOff): diff --git a/zhaquirks/xiaomi/mija/smoke.py b/zhaquirks/xiaomi/mija/smoke.py index d2780a2494..d4a4b44ba3 100644 --- a/zhaquirks/xiaomi/mija/smoke.py +++ b/zhaquirks/xiaomi/mija/smoke.py @@ -34,6 +34,7 @@ OUTPUT_CLUSTERS, PROFILE_ID, SKIP_CONFIGURATION, + BatterySize, ) from zhaquirks.xiaomi import ( LUMI, @@ -66,7 +67,7 @@ class MijiaHoneywellSmokeDetectorSensor(XiaomiQuickInitDevice): def __init__(self, *args, **kwargs): """Init method.""" - self.battery_size = 8 # CR123a + self.battery_size = BatterySize.CR123A super().__init__(*args, **kwargs) signature = {