From 03c3b36f9c7861ab77dbed5a1d5325738bb65ea4 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Tue, 25 Aug 2026 12:11:06 -0400 Subject: [PATCH] feat(home_assistant): add energy meter sensors filter --- systems/brain/services/home_assistant.nix | 1 + .../home_assistant/energy_meters.yaml | 71 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 systems/brain/services/home_assistant/energy_meters.yaml diff --git a/systems/brain/services/home_assistant.nix b/systems/brain/services/home_assistant.nix index 3eb006e..dd53725 100644 --- a/systems/brain/services/home_assistant.nix +++ b/systems/brain/services/home_assistant.nix @@ -21,6 +21,7 @@ packages = { victron_modbuss = "!include ${./home_assistant/victron_modbuss.yaml}"; battery_sensors = "!include ${./home_assistant/battery_sensors.yaml}"; + energy_meters = "!include ${./home_assistant/energy_meters.yaml}"; gps_location = "!include ${./home_assistant/gps_location.yaml}"; heater = "!include ${./home_assistant/heater.yaml}"; van_weather = "!include ${./home_assistant/van_weather_template.yaml}"; diff --git a/systems/brain/services/home_assistant/energy_meters.yaml b/systems/brain/services/home_assistant/energy_meters.yaml new file mode 100644 index 0000000..16d5440 --- /dev/null +++ b/systems/brain/services/home_assistant/energy_meters.yaml @@ -0,0 +1,71 @@ +template: + - sensor: + - name: "JK0 Energy In Clean" + unique_id: jk0_energy_in_clean + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + availability: >- + {{ is_number(states('sensor.jk0_energy_in')) }} + state: >- + {{ states('sensor.jk0_energy_in') | float }} + + - name: "JK0 Energy Out Clean" + unique_id: jk0_energy_out_clean + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + availability: >- + {{ is_number(states('sensor.jk0_energy_out')) }} + state: >- + {{ states('sensor.jk0_energy_out') | float }} + + - name: "JK1 Energy In Clean" + unique_id: jk1_energy_in_clean + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + availability: >- + {{ is_number(states('sensor.jk1_energy_in')) }} + state: >- + {{ states('sensor.jk1_energy_in') | float }} + + - name: "JK1 Energy Out Clean" + unique_id: jk1_energy_out_clean + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + availability: >- + {{ is_number(states('sensor.jk1_energy_out')) }} + state: >- + {{ states('sensor.jk1_energy_out') | float }} + + - name: "Solar Yield Clean" + unique_id: solar_yield_clean + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + availability: >- + {{ is_number(states('sensor.solar_yield_daily')) }} + state: >- + {{ states('sensor.solar_yield_daily') | float }} + + - name: "DC Load Energy Clean" + unique_id: dc_load_energy_clean + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + availability: >- + {{ is_number(states('sensor.dc_load_energy_daily')) }} + state: >- + {{ states('sensor.dc_load_energy_daily') | float }} + + - name: "DC Charger Energy Clean" + unique_id: dc_charger_energy_clean + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + availability: >- + {{ is_number(states('sensor.dc_charger_energy')) }} + state: >- + {{ states('sensor.dc_charger_energy') | float }}