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
