@@ -22,7 +22,7 @@ class BaseGateway:
2222class 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):
4545class GatewayBinarySensors :
4646 """Gateway binary_sensors class."""
4747
48- plugwise_notification : bool
48+ plugwise_notification : bool # None for some?
4949
5050
5151@dataclass
5252class 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
112146class AnnaData (TypedDict , total = False ):
0 commit comments