@@ -162,9 +162,7 @@ def __init__(self, display_name, type_id, properties):
162162
163163 def __repr__ (self ):
164164 """Return the representation of the characteristic."""
165- return "<characteristic display_name={} value={} properties={}>" .format (
166- self .display_name , self .value , self .properties
167- )
165+ return f"<characteristic display_name={ self .display_name } value={ self .value } properties={ self .properties } >"
168166
169167 def _get_default_value (self ):
170168 """Return default value for format."""
@@ -191,9 +189,7 @@ def to_valid_value(self, value):
191189 """Perform validation and conversion to valid value."""
192190 if self .properties .get (PROP_VALID_VALUES ):
193191 if value not in self .properties [PROP_VALID_VALUES ].values ():
194- error_msg = "{}: value={} is an invalid value." .format (
195- self .display_name , value
196- )
192+ error_msg = f"{ self .display_name } : value={ value } is an invalid value."
197193 logger .error (error_msg )
198194 raise ValueError (error_msg )
199195 elif self .properties [PROP_FORMAT ] == HAP_FORMAT_STRING :
@@ -204,8 +200,8 @@ def to_valid_value(self, value):
204200 value = bool (value )
205201 elif self .properties [PROP_FORMAT ] in HAP_FORMAT_NUMERICS :
206202 if not isinstance (value , (int , float )):
207- error_msg = "{}: value={} is not a numeric value." . format (
208- self .display_name , value
203+ error_msg = (
204+ f" { self .display_name } : value= { value } is not a numeric value."
209205 )
210206 logger .error (error_msg )
211207 raise ValueError (error_msg )
@@ -281,10 +277,14 @@ def client_update_value(self, value, sender_client_addr=None):
281277
282278 Change self.value to value and call callback.
283279 """
280+ original_value = value
281+ if self .type_id not in ALWAYS_NULL or original_value is not None :
282+ value = self .to_valid_value (value )
284283 logger .debug (
285- "client_update_value: %s to %s from client: %s" ,
284+ "client_update_value: %s to %s (original: %s) from client: %s" ,
286285 self .display_name ,
287286 value ,
287+ original_value ,
288288 sender_client_addr ,
289289 )
290290 changed = self .value != value
0 commit comments