Skip to content

Commit 5c4abd3

Browse files
committed
Updating...
1 parent 5a2e64a commit 5c4abd3

File tree

1 file changed

+49
-15
lines changed

1 file changed

+49
-15
lines changed

plugwise/devices.py

Lines changed: 49 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class BaseGateway:
2222
class SmileP1Gateway(BaseGateway):
2323
"""Plugwise Smile P1 Gateway data class."""
2424

25-
binary_sensors: GatewayBinarySensors
25+
binary_sensors: GatewayBinarySensors # Not for legacy?
2626
hardware: str
2727
model_id: str
2828

@@ -45,14 +45,14 @@ class SmileThermostatGateway(SmileP1Gateway):
4545
class GatewayBinarySensors:
4646
"""Gateway binary_sensors class."""
4747

48-
plugwise_notification: bool
48+
plugwise_notification: bool # None for some?
4949

5050

5151
@dataclass
5252
class GatewaySensors:
5353
"""Gateway sensors class."""
5454

55-
outdoor_temperature: float
55+
outdoor_temperature: float | None # None when not enabled?
5656

5757

5858
@dataclass
@@ -79,34 +79,68 @@ class SmartEnergyMeter:
7979
vendor: str
8080

8181

82-
class SmartEnergySensors(TypedDict, total=False):
83-
"""DSMR Energy Meter sensors class."""
82+
@dataclass
83+
class SmartEnergySensors:
84+
"""DSMR Energy Meter sensors class (P1 v4)."""
8485

8586
electricity_consumed_off_peak_cumulative: float
8687
electricity_consumed_off_peak_interval: int
8788
electricity_consumed_off_peak_point: int
8889
electricity_consumed_peak_cumulative: float
8990
electricity_consumed_peak_interval: int
90-
electricity_consumed_peak_point: int,
91+
electricity_consumed_peak_point: int
9192
electricity_phase_one_consumed: int
9293
electricity_phase_one_produced: int
93-
electricity_phase_three_consumed: int
94-
electricity_phase_three_produced: int
95-
electricity_phase_two_consumed: int
96-
electricity_phase_two_produced: int
94+
electricity_phase_three_consumed: int | None
95+
electricity_phase_three_produced: int | None
96+
electricity_phase_two_consumed: int | None
97+
electricity_phase_two_produced: int | None
9798
electricity_produced_off_peak_cumulative: float
9899
electricity_produced_off_peak_interval: int
99100
electricity_produced_off_peak_point: int
100101
electricity_produced_peak_cumulative: float
101102
electricity_produced_peak_interval: int
102103
electricity_produced_peak_point: int
103-
gas_consumed_cumulative: float
104-
gas_consumed_interval: float
104+
gas_consumed_cumulative: float | None
105+
gas_consumed_interval: float | None
106+
net_electricity_cumulative:float
107+
net_electricity_point: int
108+
voltage_phase_one: float | None
109+
voltage_phase_three:float | None
110+
voltage_phase_two: float | None
111+
112+
113+
@dataclass
114+
class SmartEnergyLegacyMeter:
115+
"""Legacy DSMR Energy Meter data class."""
116+
117+
available: bool
118+
dev_class: str
119+
location: str
120+
model: str
121+
name: str
122+
sensors: SmartEnergyLegacySensors
123+
vendor: str
124+
125+
126+
@dataclass
127+
class SmartEnergyLegacySensors:
128+
"""Legacy DSMR Energy Meter sensors class (P1 v2)."""
129+
130+
electricity_consumed_off_peak_cumulative: float
131+
electricity_consumed_off_peak_interval: int
132+
electricity_consumed_peak_cumulative: float
133+
electricity_consumed_peak_interval: int
134+
electricity_consumed_point: int
135+
electricity_produced_off_peak_cumulative: float
136+
electricity_produced_off_peak_interval: int
137+
electricity_produced_peak_cumulative: float
138+
electricity_produced_peak_interval: int
139+
electricity_produced_point: int
140+
gas_consumed_cumulative: float | None
141+
gas_consumed_interval: float | None
105142
net_electricity_cumulative:float
106143
net_electricity_point: int
107-
voltage_phase_one: float
108-
voltage_phase_three:float
109-
voltage_phase_two: float
110144

111145

112146
class AnnaData(TypedDict, total=False):

0 commit comments

Comments
 (0)