@@ -33,22 +33,28 @@ class DeviceBase:
3333 Every device will have most of these data points.
3434 """
3535
36+ available : bool | None = None
3637 dev_class : str | None = None
3738 firmware : str | None = None
39+ hardware : str | None = None
3840 location : str | None = None
3941 mac_address : str | None = None
4042 model : str | None = None
43+ model_id : str | None = None
4144 name : str | None = None
4245 vendor : str | None = None
4346
4447 def update_from_dict (self , data : dict [str , Any ]) -> None :
4548 """Update this DeviceBase object with data from a dictionary."""
4649
50+ self .available = process_key (data , "available" )
4751 self .dev_class = process_key (data , "dev_class" )
4852 self .firmware = process_key (data , "firmware" )
53+ self .hardware = process_key (data , "hardware" )
4954 self .location = process_key (data , "location" )
5055 self .mac_address = process_key (data , "mac_address" )
5156 self .model = process_key (data , "model" )
57+ self .model_id = process_key (data , "model_id" )
5258 self .name = process_key (data , "name" )
5359 self .vendor = process_key (data , "vendor" )
5460
@@ -59,8 +65,6 @@ class Gateway(DeviceBase):
5965
6066 binary_sensors : GatewayBinarySensors
6167 gateway_modes : list [str ] | None = None
62- hardware : str | None = None
63- model_id : str | None = None
6468 regulation_modes : list [str ] | None = None
6569 select_gateway_mode : str | None = None
6670 select_regulation_mode : str | None = None
@@ -79,8 +83,6 @@ def update_from_dict(self, data: dict[str, Any]) -> None:
7983 super ().update_from_dict (data )
8084 self .binary_sensors .update_from_dict (data )
8185 self .gateway_modes = process_key (data , "gateway_modes" )
82- self .hardware = process_key (data , "hardware" )
83- self .model_id = process_key (data , "model_id" )
8486 self .regulation_modes = process_key (data , "regulation_modes" )
8587 self .select_gateway_mode = process_key (data , "select_gateway_mode" )
8688 self .sensors .update_from_dict (data )
@@ -117,21 +119,18 @@ def update_from_dict(self, data: dict[str, Any]) -> None:
117119class SmartEnergyMeter (DeviceBase ):
118120 """DSMR Energy Meter data class."""
119121
120- available : bool | None
121122 sensors : SmartEnergySensors
122123
123124 def __init__ (self ) -> None :
124125 """Init SmartEnergyMeter class and inherited functions."""
125126 super ().__init__ ()
126- self .available = None
127127 self .sensors = SmartEnergySensors ()
128128
129129 def update_from_dict (self , data : dict [str , Any ]) -> None :
130130 """Update this SmartEnergyMeter object with data from a dictionary."""
131131
132132 super ().update_from_dict (data )
133133 self .sensors .update_from_dict (data )
134- self .available = process_key (data , "available" )
135134
136135
137136@dataclass (kw_only = True )
@@ -258,8 +257,6 @@ class Zone(DeviceBase):
258257 select_zone_profile : str | None = None
259258 zone_profiles : list [str ] | None = None
260259 active_preset : str | None = None
261- hardware : str | None = None
262- model_id : str | None = None
263260 select_schedule : str | None = None
264261 thermostat : ThermostatDict | None = None
265262 thermostats : ThermostatsDict | None = None
@@ -281,8 +278,6 @@ def update_from_dict(self, data: dict[str, Any]) -> None:
281278 self .select_zone_profile = process_key (data , "select_zone_profile" )
282279 self .zone_profiles = process_key (data , "zone_profiles" )
283280 self .active_preset = process_key (data , "active_preset" )
284- self .hardware = process_key (data , "hardware" )
285- self .model_id = process_key (data , "model_id" )
286281 self .select_schedule = process_key (data , "select_schedule" )
287282 self .thermostat = process_key (data , "thermostat" )
288283 self .thermostats = process_key (data , "thermostats" )
@@ -319,8 +314,6 @@ class Thermostat(DeviceBase):
319314 preset_modes : list [str ] | None = None
320315 active_preset : str | None = None
321316 climate_mode : str | None = None
322- hardware : str | None = None
323- model_id : str | None = None
324317 select_schedule : str | None = None
325318 temperature_offset : SetpointDict | None = None # not for legacy
326319 thermostat : ThermostatDict | None = None
@@ -343,8 +336,6 @@ def update_from_dict(self, data: dict[str, Any]) -> None:
343336 self .preset_modes = process_key (data , "preset_modes" )
344337 self .active_preset = process_key (data , "active_preset" )
345338 self .climate_mode = process_key (data , "climate_mode" )
346- self .hardware = process_key (data , "hardware" )
347- self .model_id = process_key (data , "model_id" )
348339 self .select_schedule = process_key (data , "select_schedule" )
349340 self .temperature_offset = process_key (data , "temperature_offset" )
350341 self .thermostat = process_key (data , "thermostat" )
@@ -436,7 +427,6 @@ class ClimateDevice(DeviceBase):
436427 binary_sensors : ClimateDeviceBinarySensors
437428 sensors : ClimateDeviceSensors
438429 switches : ClimateDeviceSwitches
439- available : bool | None = None
440430 maximum_boiler_temperature : SetpointDict | None = None
441431 max_dhw_temperature : SetpointDict | None = None
442432 model_id : str | None = None
@@ -455,7 +445,6 @@ def update_from_dict(self, data: dict[str, Any]) -> None:
455445 self .binary_sensors .update_from_dict (data )
456446 self .sensors .update_from_dict (data )
457447 self .switches .update_from_dict (data )
458- self .available = process_key (data , "available" )
459448 self .maximum_boiler_temperature = process_key (
460449 data , "maximum_boiler_temperature"
461450 )
@@ -541,9 +530,6 @@ class Plug(DeviceBase):
541530
542531 sensors : PlugSensors
543532 switches : PlugSwitches
544- available : bool | None = None
545- hardware : str | None = None
546- model_id : str | None = None
547533 zigbee_mac_address : str | None = None
548534
549535 def __init__ (self ) -> None :
@@ -559,9 +545,6 @@ def update_from_dict(self, data: dict[str, Any]) -> None:
559545 self .sensors .update_from_dict (data )
560546 self .switches .update_from_dict (data )
561547 self .zigbee_mac_address = process_key (data , "zigbee_mac_address" )
562- self .available = process_key (data , "available" )
563- self .hardware = process_key (data , "hardware" )
564- self .model_id = process_key (data , "model_id" )
565548
566549
567550@dataclass (kw_only = True )
0 commit comments