@@ -79,34 +79,55 @@ 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 for 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 SmartEnergyLegacySensors :
115+ """DSMR Energy Meter sensors class for legacy P1 v2."""
116+
117+ electricity_consumed_off_peak_cumulative : float
118+ electricity_consumed_off_peak_interval : int
119+ electricity_consumed_peak_cumulative : float
120+ electricity_consumed_peak_interval : int
121+ electricity_consumed_point : int
122+ electricity_produced_off_peak_cumulative : float
123+ electricity_produced_off_peak_interval : int
124+ electricity_produced_peak_cumulative : float
125+ electricity_produced_peak_interval : int
126+ electricity_produced_point : int
127+ gas_consumed_cumulative : float | None
128+ gas_consumed_interval : float | None
105129 net_electricity_cumulative :float
106130 net_electricity_point : int
107- voltage_phase_one : float
108- voltage_phase_three :float
109- voltage_phase_two : float
110131
111132
112133class AnnaData (TypedDict , total = False ):
0 commit comments