@@ -372,13 +372,24 @@ class Test_RF_DEVICE_TYPE_09(BaseDeviceTestClass):
372372 def device_value (self ):
373373 return self .create_device_value (inels_value = "64\n 3C\n 08\n 40\n 00\n " )
374374
375+ @pytest .fixture
376+ def device_value_negative (self ):
377+ return self .create_device_value (inels_value = "64\n C4\n 08\n C0\n 00\n " )
378+
375379 def test_create_ha_value_object (self , device_value ):
376380 assert device_value .ha_value .low_battery == True
377381 assert device_value .ha_value .thermovalve .current == 30
378382 assert device_value .ha_value .thermovalve .required == 32
379383 assert device_value .ha_value .thermovalve .climate_mode == 1
380384 assert device_value .ha_value .thermovalve .open_in_percentage == 50
381385
386+ def test_create_ha_value_object_negative (self , device_value_negative ):
387+ assert device_value_negative .ha_value .low_battery == True
388+ assert device_value_negative .ha_value .thermovalve .current == - 30
389+ assert device_value_negative .ha_value .thermovalve .required == - 32
390+ assert device_value_negative .ha_value .thermovalve .climate_mode == 0
391+ assert device_value_negative .ha_value .thermovalve .open_in_percentage == 50
392+
382393 def test_format_inels_set_value (self , device_value ):
383394 device_value .ha_value .thermovalve .required = 25
384395 device_value = self .create_device_value (
@@ -413,10 +424,18 @@ class Test_RF_DEVICE_TYPE_12(BaseDeviceTestClass):
413424 def device_value (self ):
414425 return self .create_device_value (inels_value = "30\n 00\n 81\n 00\n 00\n " )
415426
427+ @pytest .fixture
428+ def device_value_negative (self ):
429+ return self .create_device_value (inels_value = "F2\n 00\n 80\n 00\n 00\n " )
430+
416431 def test_create_ha_value_object (self , device_value ):
417432 assert device_value .ha_value .low_battery == True
418433 assert device_value .ha_value .temp_in == 24.0
419434
435+ def test_create_ha_value_object_negative (self , device_value_negative ):
436+ assert device_value_negative .ha_value .low_battery == False
437+ assert device_value_negative .ha_value .temp_in == - 7.0
438+
420439
421440class Test_RF_DEVICE_TYPE_13 (BaseDeviceTestClass ):
422441 DEVICE_TYPE_ID = "13"
@@ -611,11 +630,20 @@ class Test_RF_DEVICE_TYPE_30(BaseDeviceTestClass):
611630 def device_value (self ):
612631 return self .create_device_value (inels_value = "01\n D8\n 09\n 24\n 00" )
613632
633+ @pytest .fixture
634+ def device_value_negative (self ):
635+ return self .create_device_value (inels_value = "01\n F6\n FF\n 24\n 00" )
636+
614637 def test_create_ha_value_object (self , device_value ):
615638 assert device_value .ha_value .low_battery
616639 assert device_value .ha_value .temp_in == "09D8"
617640 assert device_value .ha_value .humidity == 36
618641
642+ def test_create_ha_value_object_negative (self , device_value_negative ):
643+ assert device_value_negative .ha_value .low_battery
644+ assert device_value_negative .ha_value .temp_in == "FFF6"
645+ assert device_value_negative .ha_value .humidity == 36
646+
619647
620648class Test_CU_DEVICE_TYPE_100 (BaseDeviceTestClass ):
621649 DEVICE_TYPE_ID = "100"
@@ -1070,27 +1098,27 @@ class Test_CU_DEVICE_TYPE_112(BaseDeviceTestClass):
10701098 @pytest .fixture
10711099 def device_value_all_on (self ):
10721100 return self .create_device_value (
1073- inels_value = "07\n 07\n 07\n 07\n 07\n 07\n 07\n 07\n 7F \n FF \n FF \n FF \n 7F\n FF\n FF\n FF\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n FF\n FF\n FF\n "
1101+ inels_value = "07\n 07\n 07\n 07\n 07\n 07\n 07\n 07\n 00 \n 00 \n 12 \n 33 \n 7F\n FF\n FF\n FF\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n FF\n FF\n FF\n "
10741102 )
10751103
10761104 @pytest .fixture
10771105 def device_value_all_off (self ):
10781106 return self .create_device_value (
1079- inels_value = "06\n 06\n 06\n 06\n 06\n 06\n 06\n 06\n 7F \ n FF\n FF\n FF \n 7F\n FF\n FF\n FF\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n "
1107+ inels_value = "06\n 06\n 06\n 06\n 06\n 06\n 06\n 06\n FF\n FF\n FB \n 33 \n 7F\n FF\n FF\n FF\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n 00\n "
10801108 )
10811109
10821110 def test_create_ha_value_object_all_on (self , device_value_all_on ):
10831111 assert isinstance (device_value_all_on .ha_value .relay [0 ], Relay )
10841112 assert device_value_all_on .ha_value .din == [True ] * 8
1085- assert device_value_all_on .ha_value .temps == ["7FFFFFFF " , "7FFFFFFF" ]
1113+ assert device_value_all_on .ha_value .temps == ["00001233 " , "7FFFFFFF" ]
10861114 for r in device_value_all_on .ha_value .relay :
10871115 assert r .is_on
10881116 assert r .overflow
10891117
10901118 def test_create_ha_value_object_all_off (self , device_value_all_off ):
10911119 assert isinstance (device_value_all_off .ha_value .relay [0 ], Relay )
10921120 assert device_value_all_off .ha_value .din == [False ] * 8
1093- assert device_value_all_off .ha_value .temps == ["7FFFFFFF " , "7FFFFFFF" ]
1121+ assert device_value_all_off .ha_value .temps == ["FFFFFB33 " , "7FFFFFFF" ]
10941122 for r in device_value_all_off .ha_value .relay :
10951123 assert not r .is_on
10961124 assert not r .overflow
0 commit comments