EMS för Fronius GEN24
Ett deterministiskt, batterimedvetet Energy Management System (EMS) för en Fronius GEN24. Optimerar för självförsörjning, peak shaving (“cap mode”), valfri nattladdning och fas/säkringsskydd — utan Nordpool, Solcast eller molnberoenden.
Vad EMS:en gör
Hur det fungerar (översikt)
Home Assistant läser GEN24 + smart meter via Modbus TCP, bygger stabila sensor.ems_*-värden och kör automationslogik.
Råa Modbus-sensorer är “plumbing” och bör inte användas för Energy-panelen eller historik.
Flödesscheman
Dagpris: cap mode (peak shaving)
När SoC blir låg under dagpris håller EMS importen kring cap_import_target_w och släpper via hysteresis.
Nattpris: besluta + ladda
Vid nattstart avgör EMS om det ska vara en “laddnatt” baserat på cap_night_soc_start_pct.
Om batteriet ofta är lågt vid solnedgång (vinter) → nattladdning aktiveras.
Om batteriet ofta är fullt vid solnedgång (sommar) → nattladdning hoppas över för att inte “spilla” sol nästa dag.
Nattpris: säkerhetsgränser (faser + totalimport)
Under nattpris övervakas total import och fasströmmar. Om gränser överskrids avbryts tvingad laddning.
if grid_import_w > cap_night_max_power_w:
stop_forced_charging()
if any(phase_a > cap_night_max_phase_a):
stop_forced_charging()
Installera (kort)
Förutsättningar
- Home Assistant installerat.
- Modbus TCP aktiverat i GEN24 och nåbart på LAN.
- Smart meter-data tillgänglig via GEN24 (vanligtvis slave/unit-id 200 i din setup).
Steg
- Klona repot och kopiera
ems/+dashboards/till din HA config. - Inkludera EMS-filer från
configuration.yaml. - Sätt inverter-IP i
secrets.yaml(rekommenderat). - Starta om Home Assistant.
- Justera hjälpare i EMS-konfigurationsdashboard.
Quick install (copy/paste)
Placera EMS-filerna i /config/ems/ och inkludera dem från configuration.yaml.
Sätt inverter-IP i secrets.yaml för att göra installationen portabel mellan flera HA-instanser.
1) Folder layout
/config
configuration.yaml
secrets.yaml
ems/
modbus_gen24.yaml
template_sensors.yaml
cap_mode.yaml
scripts.yaml
recorder.yaml
utility_meters.yaml
helpers_input_boolean.yaml
helpers_input_numbers.yaml
helpers_input_select.yaml
2) configuration.yaml includes
# --- EMS (Fronius GEN24) ---
modbus: !include ems/modbus_gen24.yaml
template: !include ems/template_sensors.yaml
utility_meter: !include ems/utility_meters.yaml
recorder: !include ems/recorder.yaml
automation: !include ems/cap_mode.yaml
script: !include ems/scripts.yaml
input_boolean: !include ems/helpers_input_boolean.yaml
input_number: !include ems/helpers_input_numbers.yaml
input_select: !include ems/helpers_input_select.yaml
template_sensors.yaml ska inkluderas under template:
eftersom filen innehåller - sensor: och - trigger: template-block.
3) secrets.yaml example
Skapa eller uppdatera /config/secrets.yaml:
fronius_host: 192.168.199.72
fronius_port: 502
Använd sedan secrets i ems/modbus_gen24.yaml:
host: !secret fronius_host
port: !secret fronius_port
4) Restart
Starta om Home Assistant och gå till EMS-konfigurationsdashboard för att justera gränsvärden.
sensor.ems_* i dashboards och automations.
SEO (för Yoast/RankMath)
SEO title
EMS för Fronius GEN24 i Home Assistant — Peak Shaving, Tariff & Säkringsskydd
Meta description
Deterministiskt Home Assistant-EMS för Fronius GEN24 via Modbus TCP: cap mode (peak shaving), valfri nattladdning och fas/säkringsskydd – utan Nordpool, Solcast eller molntjänster.
Fokusfraser
Fronius GEN24 Home Assistant EMS
Fronius Modbus TCP batteristyrning
Home Assistant peak shaving batteri
GEN24 nattladdning automation
Fasström säkringsskydd Home Assistant
Projekt: github.com/cnamehst/fronius-ems • Licens: AGPL-3.0
EV / Wattpilot (valfritt)
EMS kan (valfritt) styra en Fronius Wattpilot under nattpris och samtidigt skydda säkringarna genom att sänka laddströmmen om importeffekt eller fasström överskrider dina gränser.
EV binding (portabelt)
För att slippa hårdkoda Wattpilot-entity-id använder EMS en egen hjälpare och binder den till din Wattpilot-entitet.
input_boolean.ems_ev_enabled— aktiverar EV-moduleninput_number.ems_ev_max_charging_current— önskad maxström (A)number.wattpilot_max_charging_current— Wattpilot (byt namn i HA om den heter något annat)
Diagram
Översikt av bindningen mellan EMS och Wattpilot:
