@@ -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