From cb84782ca5eec3eaacf6399f106c3997aad03521 Mon Sep 17 00:00:00 2001 From: Bartlomiej Kobus Date: Mon, 8 Jun 2026 09:28:26 +0200 Subject: [PATCH] feat: add reactive energy sensors for energyMeter --- blebox_uniapi/box_types.py | 2 ++ blebox_uniapi/sensor.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/blebox_uniapi/box_types.py b/blebox_uniapi/box_types.py index 3727251..17c3efe 100644 --- a/blebox_uniapi/box_types.py +++ b/blebox_uniapi/box_types.py @@ -724,6 +724,8 @@ def get_latest_api_level(product_type: str) -> Union[dict, int]: "reactivePower": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'reactivePower']|[0]|value", "reverseActiveEnergy": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'reverseActiveEnergy']|[0]|value", "forwardActiveEnergy": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'forwardActiveEnergy']|[0]|value", + "forwardReactiveEnergy": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'forwardReactiveEnergy']|[0]|value", + "reverseReactiveEnergy": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'reverseReactiveEnergy']|[0]|value", "illuminance": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'illuminance']|[0]|value", "temperature": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'temperature']|[0]|value", "wind": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'wind']|[0]|value", diff --git a/blebox_uniapi/sensor.py b/blebox_uniapi/sensor.py index d21ad61..5e859d5 100644 --- a/blebox_uniapi/sensor.py +++ b/blebox_uniapi/sensor.py @@ -160,6 +160,8 @@ def __str__(self): @SensorFactory.register("apparentPower", unit="va") @SensorFactory.register("reactivePower", unit="var") @SensorFactory.register("activePower", unit="W") +@SensorFactory.register("reverseReactiveEnergy", unit="kvarh", scale=1_000) +@SensorFactory.register("forwardReactiveEnergy", unit="kvarh", scale=1_000) @SensorFactory.register("reverseActiveEnergy", unit="kWh", scale=1_000) @SensorFactory.register("forwardActiveEnergy", unit="kWh", scale=1_000) @SensorFactory.register("illuminance", unit="lx", scale=100)