@@ -87,6 +87,22 @@ class MeterData(ComponentData):
8787 * Negative means supply into the grid.
8888 """
8989
90+ reactive_power : float
91+ """The total reactive 3-phase AC power, in Volt-Ampere Reactive (VAr).
92+
93+ * Positive power means capacitive (current leading w.r.t. voltage).
94+ * Negative power means inductive (current lagging w.r.t. voltage).
95+ """
96+
97+ reactive_power_per_phase : tuple [float , float , float ]
98+ """The per-phase AC reactive power, in Volt-Ampere Reactive (VAr).
99+
100+ The provided values are for phase 1, 2, and 3 respectively.
101+
102+ * Positive power means capacitive (current leading w.r.t. voltage).
103+ * Negative power means inductive (current lagging w.r.t. voltage).
104+ """
105+
90106 current_per_phase : tuple [float , float , float ]
91107 """AC current in Amperes (A) for phase/line 1,2 and 3 respectively.
92108
@@ -123,6 +139,12 @@ def from_proto(cls, raw: PbComponentData) -> Self:
123139 raw .meter .data .ac .phase_2 .power_active .value ,
124140 raw .meter .data .ac .phase_3 .power_active .value ,
125141 ),
142+ reactive_power = raw .meter .data .ac .power_reactive .value ,
143+ reactive_power_per_phase = (
144+ raw .meter .data .ac .phase_1 .power_reactive .value ,
145+ raw .meter .data .ac .phase_2 .power_reactive .value ,
146+ raw .meter .data .ac .phase_3 .power_reactive .value ,
147+ ),
126148 current_per_phase = (
127149 raw .meter .data .ac .phase_1 .current .value ,
128150 raw .meter .data .ac .phase_2 .current .value ,
@@ -270,6 +292,22 @@ class InverterData(ComponentData): # pylint: disable=too-many-instance-attribut
270292 * Negative means supply into the grid.
271293 """
272294
295+ reactive_power : float
296+ """The total reactive 3-phase AC power, in Volt-Ampere Reactive (VAr).
297+
298+ * Positive power means capacitive (current leading w.r.t. voltage).
299+ * Negative power means inductive (current lagging w.r.t. voltage).
300+ """
301+
302+ reactive_power_per_phase : tuple [float , float , float ]
303+ """The per-phase AC reactive power, in Volt-Ampere Reactive (VAr).
304+
305+ The provided values are for phase 1, 2, and 3 respectively.
306+
307+ * Positive power means capacitive (current leading w.r.t. voltage).
308+ * Negative power means inductive (current lagging w.r.t. voltage).
309+ """
310+
273311 current_per_phase : tuple [float , float , float ]
274312 """AC current in Amperes (A) for phase/line 1, 2 and 3 respectively.
275313
@@ -359,6 +397,12 @@ def from_proto(cls, raw: PbComponentData) -> Self:
359397 raw .inverter .data .ac .phase_2 .power_active .value ,
360398 raw .inverter .data .ac .phase_3 .power_active .value ,
361399 ),
400+ reactive_power = raw .inverter .data .ac .power_reactive .value ,
401+ reactive_power_per_phase = (
402+ raw .inverter .data .ac .phase_1 .power_reactive .value ,
403+ raw .inverter .data .ac .phase_2 .power_reactive .value ,
404+ raw .inverter .data .ac .phase_3 .power_reactive .value ,
405+ ),
362406 current_per_phase = (
363407 raw .inverter .data .ac .phase_1 .current .value ,
364408 raw .inverter .data .ac .phase_2 .current .value ,
@@ -413,6 +457,22 @@ class EVChargerData(ComponentData): # pylint: disable=too-many-instance-attribu
413457 * Negative means supply into the grid.
414458 """
415459
460+ reactive_power : float
461+ """The total reactive 3-phase AC power, in Volt-Ampere Reactive (VAr).
462+
463+ * Positive power means capacitive (current leading w.r.t. voltage).
464+ * Negative power means inductive (current lagging w.r.t. voltage).
465+ """
466+
467+ reactive_power_per_phase : tuple [float , float , float ]
468+ """The per-phase AC reactive power, in Volt-Ampere Reactive (VAr).
469+
470+ The provided values are for phase 1, 2, and 3 respectively.
471+
472+ * Positive power means capacitive (current leading w.r.t. voltage).
473+ * Negative power means inductive (current lagging w.r.t. voltage).
474+ """
475+
416476 voltage_per_phase : tuple [float , float , float ]
417477 """The AC voltage in Volts (V) between the line and the neutral
418478 wire for phase/line 1,2 and 3 respectively.
@@ -491,6 +551,12 @@ def from_proto(cls, raw: PbComponentData) -> Self:
491551 raw .ev_charger .data .ac .phase_2 .power_active .value ,
492552 raw .ev_charger .data .ac .phase_3 .power_active .value ,
493553 ),
554+ reactive_power = raw .ev_charger .data .ac .power_reactive .value ,
555+ reactive_power_per_phase = (
556+ raw .ev_charger .data .ac .phase_1 .power_reactive .value ,
557+ raw .ev_charger .data .ac .phase_2 .power_reactive .value ,
558+ raw .ev_charger .data .ac .phase_3 .power_reactive .value ,
559+ ),
494560 current_per_phase = (
495561 raw .ev_charger .data .ac .phase_1 .current .value ,
496562 raw .ev_charger .data .ac .phase_2 .current .value ,
0 commit comments