From 5160f3a53e1f99a873b22d87fbfe18f71d78d118 Mon Sep 17 00:00:00 2001 From: oddlama Date: Fri, 1 Aug 2025 22:30:55 +0200 Subject: [PATCH] feat: add solar return energy to home assistant --- .../hass-modbus/mennekes-amtron-xtra.nix | 1 + hosts/sausebiene/home-assistant.nix | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/hosts/sausebiene/hass-modbus/mennekes-amtron-xtra.nix b/hosts/sausebiene/hass-modbus/mennekes-amtron-xtra.nix index 6e608f9..56c8e3d 100644 --- a/hosts/sausebiene/hass-modbus/mennekes-amtron-xtra.nix +++ b/hosts/sausebiene/hass-modbus/mennekes-amtron-xtra.nix @@ -47,6 +47,7 @@ ]; } ]; + template = [ { sensor = [ diff --git a/hosts/sausebiene/home-assistant.nix b/hosts/sausebiene/home-assistant.nix index 36019f8..46e3e24 100644 --- a/hosts/sausebiene/home-assistant.nix +++ b/hosts/sausebiene/home-assistant.nix @@ -43,6 +43,7 @@ in enable = true; extraComponents = [ "esphome" + "forecast_solar" "fritzbox" "matter" "met" @@ -160,6 +161,26 @@ in types = [ "Papiermüll" ]; } ]; + + template = [ + { + sensor = [ + { + name = "Total Grid Return Energy"; + unique_id = "calculated_total_grid_return_energy"; + device_class = "energy"; + unit_of_measurement = "kWh"; + state_class = "total_increasing"; + state = '' + {% set solar = states('sensor.pro3em_solar_total_active_energy') | float(0) %} + {% set mains = states('sensor.pro3em_mains_total_active_energy') | float(0) %} + {% set export = solar - mains %} + {{ [export, 0] | max }} + ''; + } + ]; + } + ]; }; extraPackages =