Skip to content

Commit d616d14

Browse files
committed
Try 4
1 parent af00cc1 commit d616d14

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

plugwise/devices.py

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -641,11 +641,35 @@ class PlugwiseData:
641641
"""
642642

643643
gateway: Gateway = Gateway()
644-
climate_device: ClimateDevice = ClimateDevice()
644+
climate_device: ClimateDevice | None = None
645645
zones: list[Zone] | None = None
646646
thermostats: list[Thermostat] | None = None
647647
plugs: list[Plug] | None = None
648-
p1_dsmr: SmartEnergyMeter = SmartEnergyMeter()
648+
p1_dsmr: SmartEnergyMeter | None = None
649+
650+
def __init__(self, smile) -> None:
651+
"""Initialize PlugwiseData class."""
652+
self.climate_device = None
653+
self.zones = None
654+
self.thermostats = None
655+
self.plugs = None
656+
self.p1_dsmr = None
657+
self.smile = smile
658+
659+
if self.smile.type == "Adam":
660+
self.climate_device = ClimateDevice()
661+
self.zones = list[Zone()]
662+
self.thermostats = list[Thermostat()]
663+
self.plugs = list[Plug()]
664+
if self.smile.type == "Smile Anna":
665+
self.climate_device = ClimateDevice()
666+
if self.smile.type == "Smile Anna P1":
667+
self.climate_device = ClimateDevice()
668+
self.p1_dsmr = SmartEnergyMeter()
669+
if self.smile.type == "Smile P1":
670+
self.p1_dsmr = SmartEnergyMeter()
671+
if self.smile.type == "Stretch":
672+
self.plugs = list[Plug()]
649673

650674
def update_from_dict(self, data: dict[str, Any]) -> None:
651675
"""Update the status object with data received from the Plugwise API."""

0 commit comments

Comments
 (0)