From db37eb2f9eea1c033f243edcc23d4262b0205cb6 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Wed, 15 Oct 2025 21:45:29 -0400 Subject: [PATCH] added victron_modbuss.yaml --- systems/brain/services/home_assistant.nix | 2 +- .../home_assistant/victron_modbuss.yaml | 129 ++++++++++++++++++ 2 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 systems/brain/services/home_assistant/victron_modbuss.yaml diff --git a/systems/brain/services/home_assistant.nix b/systems/brain/services/home_assistant.nix index 016f0ff..5237a29 100644 --- a/systems/brain/services/home_assistant.nix +++ b/systems/brain/services/home_assistant.nix @@ -27,7 +27,7 @@ unit_system = "us_customary"; temperature_unit = "F"; packages = { - victron_modbuss = "!include victron_modbuss.yaml"; + victron_modbuss = "!include ${home_assistant/victron_modbuss.yaml}"; }; }; recorder = { diff --git a/systems/brain/services/home_assistant/victron_modbuss.yaml b/systems/brain/services/home_assistant/victron_modbuss.yaml new file mode 100644 index 0000000..1a68275 --- /dev/null +++ b/systems/brain/services/home_assistant/victron_modbuss.yaml @@ -0,0 +1,129 @@ +modbus: + - name: victron_gx + type: tcp + host: 192.168.103.30 + port: 502 + timeout: 3 + delay: 2 + sensors: + # ---- SOLAR CHARGER (Unit ID 226) ---- + - name: Solar Voltage + slave: 226 + address: 776 + input_type: holding + data_type: uint16 + scale: 0.01 + precision: 2 + unit_of_measurement: "V" + device_class: voltage + state_class: measurement + + - name: Solar Amperage + slave: 226 + address: 777 + input_type: holding + data_type: int16 + scale: 0.1 + precision: 1 + unit_of_measurement: "A" + device_class: current + state_class: measurement + + - name: Solar Wattage + slave: 226 + address: 789 + input_type: holding + data_type: uint16 + scale: 0.1 + unit_of_measurement: "W" + device_class: power + state_class: measurement + + - name: Solar Yield Today + slave: 226 + address: 784 + input_type: holding + data_type: uint16 + scale: 0.1 + precision: 3 + unit_of_measurement: "kWh" + device_class: energy + state_class: total + + # DC system + - name: DC Voltage + slave: 100 + address: 840 + input_type: holding + data_type: uint16 + scale: 0.1 + precision: 2 + unit_of_measurement: "V" + device_class: voltage + state_class: measurement + unique_id: dc_voltage + + - name: DC Wattage + slave: 100 + address: 860 + input_type: holding + data_type: int16 + scale: 1 + precision: 0 + unit_of_measurement: "W" + device_class: power + state_class: measurement + unique_id: dc_wattage + +sensor: + - platform: integration + source: sensor.dc_wattage + name: DC System Energy + unit_prefix: k + round: 2 + method: trapezoidal + max_sub_interval: + minutes: 5 + + - platform: integration + source: sensor.solar_wattage + name: Solar Yield + unit_prefix: k + round: 2 + method: trapezoidal + max_sub_interval: + minutes: 5 + +template: + - sensor: + - name: "Fake Energy Zero" + unique_id: fake_energy_zero + state: "0" + unit_of_measurement: "kWh" + device_class: energy + state_class: total_increasing + +utility_meter: + dc_load_energy_daily: + source: sensor.dc_system_energy + cycle: daily + + dc_load_energy_monthly: + source: sensor.dc_system_energy + cycle: monthly + + solar_yield_daily: + source: sensor.solar_yield + cycle: daily + + solar_yield_monthly: + source: sensor.solar_yield + cycle: monthly + + fake_energy_zero_daily: + source: sensor.fake_energy_zero + cycle: daily + + fake_energy_zero_monthly: + source: sensor.fake_energy_zero + cycle: monthly