2121 set_timer() # expects number of minutes
2222 Inherited
2323 json = status() # returns json payload
24- set_version(version) # 3.1 [default] or 3.3
24+ set_version(version) # protocol version (defaults to 3.4 for this device)
2525 set_socketPersistent(False/True) # False [default] or True
2626 set_socketNODELAY(False/True) # False or True [default]
2727 set_socketRetryLimit(integer) # retry count limit [default 5]
@@ -63,7 +63,7 @@ def __init__(self, *args, **kwargs):
6363 super (TowelRailHeaterDevice , self ).__init__ (* args , ** kwargs )
6464
6565 def status_json (self ):
66- """Wrapper around status() that replace DPS indices with human readable labels."""
66+ """Wrapper around status() that replaces DPS indices with human readable labels."""
6767 status = self .status ()["dps" ]
6868 return {
6969 "Power On" : status [self .DPS_POWER ],
@@ -74,10 +74,10 @@ def status_json(self):
7474 }
7575
7676 def tuya_temperature_to_celsius (self , temperature ):
77- return int ( temperature / 10 )
77+ return round ( float ( temperature ) / 10 , 1 )
7878
7979 def celsius_to_tuya_temperature (self , temperature ):
80- return int (temperature * 10 )
80+ return int (round ( float ( temperature ) * 10 ) )
8181
8282 def get_current_temperature (self ):
8383 status = self .status ()["dps" ]
@@ -99,7 +99,8 @@ def is_float(f):
9999 if not is_float (t ):
100100 return
101101
102- self .set_value (self .DPS_SET_TEMP , self .celsius_to_tuya_temperature (t ))
102+ target = float (t )
103+ self .set_value (self .DPS_SET_TEMP , self .celsius_to_tuya_temperature (target ))
103104
104105 def get_operating_mode (self ):
105106 status = self .status ()["dps" ]
0 commit comments