@@ -69,12 +69,15 @@ def apply_write(self, state: Dict[str, Any], key: str, value: Any):
6969
7070 state [EFFECTIVE_FLAGS ] = flags
7171
72+ def _device (self ) -> Dict [str , Any ]:
73+ return self ._device_conf .get ("Device" , {})
74+
7275 @property
7376 def has_energy_consumed_meter (self ) -> bool :
7477 """Return True if the device has an energy consumption meter."""
7578 if self ._device_conf is None :
7679 return False
77- return self ._device_conf . get ( "Device" , {} ).get ("HasEnergyConsumedMeter" , False )
80+ return self ._device ( ).get ("HasEnergyConsumedMeter" , False )
7881
7982 @property
8083 def total_energy_consumed (self ) -> Optional [float ]:
@@ -85,8 +88,7 @@ def total_energy_consumed(self) -> Optional[float]:
8588 """
8689 if self ._device_conf is None :
8790 return None
88- device = self ._device_conf .get ("Device" , {})
89- reading = device .get ("CurrentEnergyConsumed" , None )
91+ reading = self ._device ().get ("CurrentEnergyConsumed" , None )
9092 if reading is None :
9193 return None
9294 return reading / 1000.0
@@ -128,7 +130,7 @@ def actual_ventilation_mode(self) -> Optional[str]:
128130 """Return actual ventilation mode."""
129131 if self ._state is None :
130132 return None
131- return _ventilation_mode_from (self ._device_conf . get ( "Device" , {} ).get ("ActualVentilationMode" , - 1 ))
133+ return _ventilation_mode_from (self ._device ( ).get ("ActualVentilationMode" , - 1 ))
132134
133135 @property
134136 def fan_speed (self ) -> Optional [str ]:
@@ -148,7 +150,7 @@ def actual_supply_fan_speed(self) -> Optional[str]:
148150 """
149151 if self ._state is None :
150152 return None
151- return _fan_speed_from (self ._device_conf . get ( "Device" , {} ).get ("ActualSupplyFanSpeed" , - 1 ))
153+ return _fan_speed_from (self ._device ( ).get ("ActualSupplyFanSpeed" , - 1 ))
152154
153155 @property
154156 def actual_exhaust_fan_speed (self ) -> Optional [str ]:
@@ -158,28 +160,28 @@ def actual_exhaust_fan_speed(self) -> Optional[str]:
158160 """
159161 if self ._state is None :
160162 return None
161- return _fan_speed_from (self ._device_conf . get ( "Device" , {} ).get ("ActualExhaustFanSpeed" , - 1 ))
163+ return _fan_speed_from (self ._device ( ).get ("ActualExhaustFanSpeed" , - 1 ))
162164
163165 @property
164166 def core_maintenance_required (self ) -> bool :
165167 """Return True if core maintenance required."""
166168 if self ._device_conf is None :
167169 return False
168- return self ._device_conf . get ( "Device" , {} ).get ("CoreMaintenanceRequired" , False )
170+ return self ._device ( ).get ("CoreMaintenanceRequired" , False )
169171
170172 @property
171173 def filter_maintenance_required (self ) -> bool :
172174 """Return True if filter maintenance required."""
173175 if self ._device_conf is None :
174176 return False
175- return self ._device_conf . get ( "Device" , {} ).get ("FilterMaintenanceRequired" , False )
177+ return self ._device ( ).get ("FilterMaintenanceRequired" , False )
176178
177179 @property
178180 def night_purge_mode (self ) -> bool :
179181 """Return True if NightPurgeMode."""
180182 if self ._device_conf is None :
181183 return False
182- return self ._device_conf . get ( "Device" , {} ).get ("NightPurgeMode" , False )
184+ return self ._device ( ).get ("NightPurgeMode" , False )
183185
184186 @property
185187 def room_co2_level (self ) -> Optional [float ]:
@@ -190,7 +192,7 @@ def room_co2_level(self) -> Optional[float]:
190192 if not self ._state .get ("HasCO2Sensor" , False ):
191193 return None
192194
193- return self ._device_conf . get ( "Device" , {} ).get ("RoomCO2Level" , None )
195+ return self ._device ( ).get ("RoomCO2Level" , None )
194196
195197 @property
196198 def fan_speeds (self ) -> Optional [List [str ]]:
@@ -227,12 +229,12 @@ def ventilation_modes(self) -> List[str]:
227229 """Return available ventilation modes."""
228230 modes : List [str ] = [VENTILATION_MODE_RECOVERY ]
229231
230- conf_dev = self ._device_conf . get ( "Device" , {} )
232+ device = self ._device ( )
231233
232- if conf_dev .get ("HasBypassVentilationMode" , False ):
234+ if device .get ("HasBypassVentilationMode" , False ):
233235 modes .append (VENTILATION_MODE_BYPASS )
234236
235- if conf_dev .get ("HasAutoVentilationMode" , False ):
237+ if device .get ("HasAutoVentilationMode" , False ):
236238 modes .append (VENTILATION_MODE_AUTO )
237239
238240 return modes
0 commit comments