@@ -601,19 +601,14 @@ async def test_xiaomi_plug_power(zigpy_device_from_quirk, quirk):
601
601
assert em_listener .attribute_updates [1 ][0 ] == zcl_em_current_power
602
602
assert em_listener .attribute_updates [1 ][1 ] == 150 # multiplied by 10
603
603
604
- # Test total power consumption on ElectricalMeasurement cluster and SmartEnergy cluster
605
- zcl_em_total_power = ElectricalMeasurement .AttributeDefs .total_active_power .id
604
+ # Test total power consumption on SmartEnergy cluster
606
605
zcl_se_total_power = Metering .AttributeDefs .current_summ_delivered .id
607
606
se_cluster = device .endpoints [1 ].smartenergy_metering
608
607
se_listener = ClusterListener (se_cluster )
609
608
610
609
basic_cluster .update_attribute (
611
610
XIAOMI_AQARA_ATTRIBUTE , create_aqara_attr_report ({149 : 0.001 })
612
611
)
613
- # electrical measurement cluster
614
- assert len (em_listener .attribute_updates ) == 3
615
- assert em_listener .attribute_updates [2 ][0 ] == zcl_em_total_power
616
- assert em_listener .attribute_updates [2 ][1 ] == 1 # multiplied by 1000
617
612
618
613
# smart energy cluster
619
614
assert len (se_listener .attribute_updates ) == 1
@@ -630,8 +625,20 @@ async def test_xiaomi_plug_power(zigpy_device_from_quirk, quirk):
630
625
assert analog_input_listener .attribute_updates [0 ][0 ] == zcl_analog_input_value
631
626
assert analog_input_listener .attribute_updates [0 ][1 ] == 40
632
627
633
- assert em_listener .attribute_updates [3 ][0 ] == zcl_em_current_power
634
- assert em_listener .attribute_updates [3 ][1 ] == 400 # multiplied by 10
628
+ assert em_listener .attribute_updates [2 ][0 ] == zcl_em_current_power
629
+ assert em_listener .attribute_updates [2 ][1 ] == 400 # multiplied by 10
630
+
631
+
632
+ async def test_xiaomi_total_active_power_clear (zigpy_device_from_quirk ):
633
+ """Tests that the total_active_power attribute is cleared during init."""
634
+
635
+ with mock .patch (
636
+ "zhaquirks.xiaomi.ElectricalMeasurementCluster._update_attribute"
637
+ ) as update_attribute_mock :
638
+ zigpy_device_from_quirk (zhaquirks .xiaomi .aqara .plug_eu .PlugMAEU01 )
639
+ update_attribute_mock .assert_called_with (
640
+ ElectricalMeasurement .AttributeDefs .total_active_power .id , None
641
+ )
635
642
636
643
637
644
@pytest .mark .parametrize (
0 commit comments