@@ -28,67 +28,63 @@ def _update_gw_entities(self) -> None:
2828 Collect data for each entity and add to self.gw_entities.
2929 """
3030 for entity_id , entity in self .gw_entities .items ():
31- data = self ._get_entity_data (entity_id )
32- entity .update (data )
31+ self ._get_entity_data (entity_id , entity )
3332 remove_empty_platform_dicts (entity )
3433
35- def _get_entity_data (self , entity_id : str ) -> GwEntityData :
34+ def _get_entity_data (self , entity_id : str , entity : GwEntityData ) -> None :
3635 """Helper-function for _all_entity_data() and async_update().
3736
3837 Provide entity-data, based on Location ID (= entity_id), from APPLIANCES.
3938 """
40- entity = self .gw_entities [entity_id ]
41- data = self ._get_measurement_data (entity_id )
39+ self ._get_measurement_data (entity_id , entity )
4240
4341 # Switching groups data
44- self ._entity_switching_group (entity , data )
42+ self ._entity_switching_group (entity )
4543
4644 # Skip obtaining data when not a thermostat
4745 if entity ["dev_class" ] != "thermostat" :
48- return data
46+ return
4947
5048 # Thermostat data (presets, temperatures etc)
51- self ._climate_data (entity , data )
52- self ._get_anna_control_state (data )
49+ self ._climate_data (entity )
50+ self ._get_anna_control_state (entity )
5351
54- return data
55-
56- def _climate_data (self , entity : GwEntityData , data : GwEntityData ) -> None :
52+ def _climate_data (self , entity : GwEntityData ) -> None :
5753 """Helper-function for _get_entity_data().
5854
5955 Determine climate-control entity data.
6056 """
6157 # Presets
62- data ["preset_modes" ] = None
63- data ["active_preset" ] = None
58+ entity ["preset_modes" ] = None
59+ entity ["active_preset" ] = None
6460 self ._count += 2
6561 if presets := self ._presets ():
66- data ["preset_modes" ] = list (presets )
67- data ["active_preset" ] = self ._preset ()
62+ entity ["preset_modes" ] = list (presets )
63+ entity ["active_preset" ] = self ._preset ()
6864
6965 # Schedule
70- data ["available_schedules" ] = []
71- data ["select_schedule" ] = None
66+ entity ["available_schedules" ] = []
67+ entity ["select_schedule" ] = None
7268 self ._count += 2
7369 avail_schedules , sel_schedule = self ._schedules ()
7470 if avail_schedules != [NONE ]:
75- data ["available_schedules" ] = avail_schedules
76- data ["select_schedule" ] = sel_schedule
71+ entity ["available_schedules" ] = avail_schedules
72+ entity ["select_schedule" ] = sel_schedule
7773
7874 # Set HA climate HVACMode: auto, heat
79- data ["climate_mode" ] = "auto"
75+ entity ["climate_mode" ] = "auto"
8076 self ._count += 1
8177 if sel_schedule in (NONE , OFF ):
82- data ["climate_mode" ] = "heat"
78+ entity ["climate_mode" ] = "heat"
8379
84- def _get_anna_control_state (self , data : GwEntityData ) -> None :
80+ def _get_anna_control_state (self , entity : GwEntityData ) -> None :
8581 """Set the thermostat control_state based on the opentherm/onoff device state."""
86- data ["control_state" ] = "idle"
82+ entity ["control_state" ] = "idle"
8783 self ._count += 1
88- for entity in self .gw_entities .values ():
89- if entity ["dev_class" ] != "heater_central" :
84+ for device in self .gw_entities .values ():
85+ if device ["dev_class" ] != "heater_central" :
9086 continue
9187
92- binary_sensors = entity ["binary_sensors" ]
88+ binary_sensors = device ["binary_sensors" ]
9389 if binary_sensors ["heating_state" ]:
94- data ["control_state" ] = "heating"
90+ entity ["control_state" ] = "heating"
0 commit comments