Skip to content

Commit 67cc477

Browse files
committed
Typing corrections
1 parent 286058f commit 67cc477

File tree

5 files changed

+34
-12
lines changed

5 files changed

+34
-12
lines changed

plugwise/constants.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -500,9 +500,9 @@ class ThermoLoc(TypedDict, total=False):
500500
"""Thermo Location class."""
501501

502502
name: str
503-
primary: set[str]
503+
primary: list[str]
504504
primary_prio: int
505-
secondary: set[str]
505+
secondary: list[str]
506506

507507

508508
class ActuatorData(TypedDict, total=False):
@@ -521,7 +521,7 @@ class ZoneData(TypedDict, total=False):
521521

522522
dev_class: str
523523
name: str
524-
members: dict[str, set[str]]
524+
members: dict[str, list[str]]
525525
climate_mode: str
526526
# Extra for Adam Master Thermostats
527527
control_state: str | bool
@@ -572,13 +572,26 @@ class DeviceData(TypedDict, total=False):
572572
select_gateway_mode: str
573573
select_regulation_mode: str
574574

575+
# Single thermostat (Anna)
576+
# Presets:
577+
active_preset: str | None
578+
preset_modes: list[str] | None
579+
# Schedules:
580+
available_schedules: list[str]
581+
select_schedule: str
582+
583+
climate_mode: str
584+
# Extra for Adam Master Thermostats
585+
control_state: str | bool
586+
575587
# Dict-types
576588
binary_sensors: SmileBinarySensors
577589
max_dhw_temperature: ActuatorData
578590
maximum_boiler_temperature: ActuatorData
579591
sensors: SmileSensors
580592
switches: SmileSwitches
581593
temperature_offset: ActuatorData
594+
thermostat: ActuatorData
582595

583596

584597
@dataclass

plugwise/data.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
OFF,
1616
ActuatorData,
1717
DeviceData,
18+
ZoneData,
1819
)
1920
from plugwise.helper import SmileHelper
2021
from plugwise.util import remove_empty_platform_dicts
@@ -151,7 +152,7 @@ def _update_for_cooling(self, device: DeviceData) -> None:
151152
self._count += 2 # add 4, remove 2
152153

153154

154-
def _get_location_data(self, loc_id: str) -> DeviceData:
155+
def _get_location_data(self, loc_id: str) -> ZoneData:
155156
"""Helper-function for _all_device_data() and async_update().
156157
157158
Provide device-data, based on Location ID (= loc_id).
@@ -237,14 +238,19 @@ def _device_data_adam(self, device: DeviceData, data: DeviceData) -> None:
237238
self._count += 1
238239

239240

240-
def _device_data_climate(self, location_id: str, device: DeviceData, data: DeviceData) -> None:
241+
def _device_data_climate(
242+
self,
243+
location_id: str,
244+
device: DeviceData | ZoneData,
245+
data: DeviceData | ZoneData
246+
) -> None:
241247
"""Helper-function for _get_device_data().
242248
243249
Determine climate-control device data.
244250
"""
245251
loc_id = location_id
246-
if (dev_loc := device.get("location")) is not None:
247-
loc_id = dev_loc
252+
if device.get("location") is not None:
253+
loc_id = device["location"]
248254

249255
# Presets
250256
data["preset_modes"] = None
@@ -285,7 +291,7 @@ def check_reg_mode(self, mode: str) -> bool:
285291
)
286292

287293
def _get_schedule_states_with_off(
288-
self, location: str, schedules: list[str], selected: str, data: DeviceData
294+
self, location: str, schedules: list[str], selected: str, data: DeviceData | ZoneData
289295
) -> None:
290296
"""Collect schedules with states for each thermostat.
291297

plugwise/helper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ def __init__(self) -> None:
262262
self.smile_type: str
263263
self.smile_zigbee_mac_address: str | None
264264
self.therms_with_offset_func: list[str] = []
265-
self.zone_data: ZoneData = {}
265+
self.zone_data: dict[str, ZoneData] = {}
266266
SmileCommon.__init__(self)
267267

268268
def _all_appliances(self) -> None:

plugwise/legacy/helper.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ def _power_data_from_modules(self) -> DeviceData:
336336
def _appliance_measurements(
337337
self,
338338
appliance: etree,
339-
data: DeviceData,
339+
data: DeviceData | ZoneData,
340340
measurements: dict[str, DATA | UOM],
341341
) -> None:
342342
"""Helper-function for _get_measurement_data() - collect appliance measurement data."""
@@ -368,7 +368,10 @@ def _appliance_measurements(
368368
self._count += len(data) - 3
369369

370370
def _get_actuator_functionalities(
371-
self, xml: etree, device: DeviceData, data: DeviceData
371+
self,
372+
xml: etree,
373+
device: DeviceData | ZoneData,
374+
data: DeviceData | ZoneData
372375
) -> None:
373376
"""Helper-function for _get_measurement_data()."""
374377
for item in ACTIVE_ACTUATORS:

plugwise/smile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ async def async_update(self) -> PlugwiseData:
127127
"""Perform an incremental update for updating the various device states."""
128128
self.gw_data: GatewayData = {}
129129
self.gw_devices: dict[str, DeviceData] = {}
130-
self.zone_data: ZoneData = {}
130+
self.zone_data: dict[str, ZoneData] = {}
131131
try:
132132
await self.full_update_device()
133133
self.get_all_devices()

0 commit comments

Comments
 (0)