@@ -19,12 +19,20 @@ async def test_sinope_device_temp(zigpy_device_from_quirk, quirk):
19
19
dev_temp_cluster = device .endpoints [1 ].device_temperature
20
20
dev_temp_listener = ClusterListener (dev_temp_cluster )
21
21
dev_temp_attr_id = DeviceTemperature .AttributeDefs .current_temperature .id
22
+ dev_temp_other_attr_id = DeviceTemperature .AttributeDefs .min_temp_experienced .id
22
23
24
+ # verify current temperature is multiplied by 100
23
25
dev_temp_cluster .update_attribute (dev_temp_attr_id , 25 )
24
26
assert len (dev_temp_listener .attribute_updates ) == 1
25
27
assert dev_temp_listener .attribute_updates [0 ][0 ] == dev_temp_attr_id
26
28
assert dev_temp_listener .attribute_updates [0 ][1 ] == 2500 # multiplied by 100
27
29
30
+ # verify other attributes are not modified
31
+ dev_temp_cluster .update_attribute (dev_temp_other_attr_id , 25 )
32
+ assert len (dev_temp_listener .attribute_updates ) == 2
33
+ assert dev_temp_listener .attribute_updates [1 ][0 ] == dev_temp_other_attr_id
34
+ assert dev_temp_listener .attribute_updates [1 ][1 ] == 25 # not modified
35
+
28
36
29
37
@pytest .mark .parametrize ("quirk" , (zhaquirks .sinope .switch .SinopeTechnologiesValveG2 ,))
30
38
async def test_sinope_flow_measurement (zigpy_device_from_quirk , quirk ):
@@ -34,8 +42,19 @@ async def test_sinope_flow_measurement(zigpy_device_from_quirk, quirk):
34
42
flow_measurement_cluster = device .endpoints [1 ].flow
35
43
flow_measurement_listener = ClusterListener (flow_measurement_cluster )
36
44
flow_measurement_attr_id = FlowMeasurement .AttributeDefs .measured_value .id
45
+ flow_measurement_other_attr_id = FlowMeasurement .AttributeDefs .min_measured_value .id
37
46
47
+ # verify measured value is divided by 10
38
48
flow_measurement_cluster .update_attribute (flow_measurement_attr_id , 2500 )
39
49
assert len (flow_measurement_listener .attribute_updates ) == 1
40
50
assert flow_measurement_listener .attribute_updates [0 ][0 ] == flow_measurement_attr_id
41
51
assert flow_measurement_listener .attribute_updates [0 ][1 ] == 250.0 # divided by 10
52
+
53
+ # verify other attributes are not modified
54
+ flow_measurement_cluster .update_attribute (flow_measurement_other_attr_id , 25 )
55
+ assert len (flow_measurement_listener .attribute_updates ) == 2
56
+ assert (
57
+ flow_measurement_listener .attribute_updates [1 ][0 ]
58
+ == flow_measurement_other_attr_id
59
+ )
60
+ assert flow_measurement_listener .attribute_updates [1 ][1 ] == 25 # not modified
0 commit comments