1212from homeassistant .const import (
1313 CONF_NAME , STATE_ON , STATE_OFF , STATE_UNKNOWN , STATE_UNAVAILABLE , ATTR_TEMPERATURE ,
1414 PRECISION_TENTHS , PRECISION_HALVES , PRECISION_WHOLE )
15- from homeassistant .core import callback
16- from homeassistant .helpers .event import async_track_state_change
15+ from homeassistant .core import Event , EventStateChangedData , callback
16+ from homeassistant .helpers .event import async_track_state_change , async_track_state_change_event
1717import homeassistant .helpers .config_validation as cv
1818from homeassistant .helpers .restore_state import RestoreEntity
1919from . import COMPONENT_ABS_DIR , Helper
@@ -173,24 +173,24 @@ async def async_added_to_hass(self):
173173 self ._last_on_operation = last_state .attributes ['last_on_operation' ]
174174
175175 if self ._temperature_sensor :
176- async_track_state_change (self .hass , self ._temperature_sensor ,
177- self ._async_temp_sensor_changed )
176+ async_track_state_change_event (self .hass , self ._temperature_sensor ,
177+ self ._async_temp_sensor_changed )
178178
179179 temp_sensor_state = self .hass .states .get (self ._temperature_sensor )
180180 if temp_sensor_state and temp_sensor_state .state != STATE_UNKNOWN :
181181 self ._async_update_temp (temp_sensor_state )
182182
183183 if self ._humidity_sensor :
184- async_track_state_change (self .hass , self ._humidity_sensor ,
185- self ._async_humidity_sensor_changed )
184+ async_track_state_change_event (self .hass , self ._humidity_sensor ,
185+ self ._async_humidity_sensor_changed )
186186
187187 humidity_sensor_state = self .hass .states .get (self ._humidity_sensor )
188188 if humidity_sensor_state and humidity_sensor_state .state != STATE_UNKNOWN :
189189 self ._async_update_humidity (humidity_sensor_state )
190190
191191 if self ._power_sensor :
192- async_track_state_change (self .hass , self ._power_sensor ,
193- self ._async_power_sensor_changed )
192+ async_track_state_change_event (self .hass , self ._power_sensor ,
193+ self ._async_power_sensor_changed )
194194
195195 @property
196196 def unique_id (self ):
@@ -385,25 +385,35 @@ async def send_command(self):
385385
386386 except Exception as e :
387387 _LOGGER .exception (e )
388-
389- async def _async_temp_sensor_changed (self , entity_id , old_state , new_state ):
388+
389+ @callback
390+ async def _async_temp_sensor_changed (self , event : Event [EventStateChangedData ]) -> None :
390391 """Handle temperature sensor changes."""
392+ new_state = event .data ["new_state" ]
393+
391394 if new_state is None :
392395 return
393396
394397 self ._async_update_temp (new_state )
395398 self .async_write_ha_state ()
396399
397- async def _async_humidity_sensor_changed (self , entity_id , old_state , new_state ):
400+ @callback
401+ async def _async_humidity_sensor_changed (self , event : Event [EventStateChangedData ]) -> None :
398402 """Handle humidity sensor changes."""
403+ new_state = event .data ["new_state" ]
404+
399405 if new_state is None :
400406 return
401407
402408 self ._async_update_humidity (new_state )
403409 self .async_write_ha_state ()
404-
405- async def _async_power_sensor_changed (self , entity_id , old_state , new_state ):
406- """Handle power sensor changes."""
410+
411+ @callback
412+ async def _async_power_sensor_changed (self , event : Event [EventStateChangedData ]) -> None :
413+ entity_id = event .data ["entity_id" ]
414+ old_state = event .data ["old_state" ]
415+ new_state = event .data ["new_state" ]
416+
407417 if new_state is None :
408418 return
409419
@@ -441,4 +451,4 @@ def _async_update_humidity(self, state):
441451 if state .state != STATE_UNKNOWN and state .state != STATE_UNAVAILABLE :
442452 self ._current_humidity = float (state .state )
443453 except ValueError as ex :
444- _LOGGER .error ("Unable to update from humidity sensor: %s" , ex )
454+ _LOGGER .error ("Unable to update from humidity sensor: %s" , ex )
0 commit comments