Skip to content

Commit ffdd537

Browse files
committed
Simplify
1 parent 9fb9583 commit ffdd537

File tree

1 file changed

+6
-23
lines changed

1 file changed

+6
-23
lines changed

plugwise/models.py

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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:
117119
class 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

Comments
 (0)