Also ich habe 2 Python Scripts erstellt, eines für den Start des Ladens und eines fürs Stoppen. Und die dann mit Hilfe von Pyscript in Home Assistant integriert. Die erscheinen dann als Entität und man kann sie einfach ausführen.
Das ist das Skript für den Start vom Laden
from pymodbus.client import ModbusTcpClient
from datetime import datetime, timedelta
# Verbindung zum Modbus-Client herstellen
client = ModbusTcpClient('IP Adresse vom Fronius Gen24', port=502)
# Funktion zum Starten der erzwungenen Ladung
@service ###-->@service muss da stehen, damit das Skript in HA ausführbar ist
def start_forced_charging():
try:
# Setze die Register für die erzwungene Ladung
client.write_register(40360, 1) # ChaGriSet: Ladung aus dem Netz erlaubt
client.write_register(40348, 2) # StorCtl_Mod: Speicherbetrieb aktiv
client.write_register(40355, 62000) # OutWRt: Ausgangsleistung auf -40 55536 client.write_register(40356, 10000) # InWRte: Eingangsladung
client.write_register(40350, 9400) # MinRsvPct
print("Erzwungene Ladung gestartet")
except Exception as e:
print(f"Fehler beim Starten: {str(e)}")
start_forced_charging()
und das ist das Skript zu Stoppen
from pymodbus.client import ModbusTcpClient
# Verbindung zum Modbus-Client herstellen
client = ModbusTcpClient('IP Adresse vom Gen24', port=502)
# Funktion zum Stoppen der erzwungenen Ladung
@service ###muss da stehen damits in HA ausführbar ist
def stop_forced_charging():
try:
# Setze die Register zum Stoppen der Ladung
client.write_register(40360, 0) # ChaGriSet: Ladung aus dem Netz deaktiviert
client.write_register(40348, 0) # StorCtl_Mod: Zurücksetzen auf neutralen Modus
client.write_register(40356, 0) # InWRte: Eingangsladung zurücksetzen
client.write_register(40355, 10000) # OutWRt: Ausgangsleistung zurücksetzen
client.write_register(40350, 1000) # MinRsvPct
print("Erzwungene Ladung gestoppt")
except Exception as e:
print(f"Fehler beim Stoppen: {str(e)}")
# Beispielaufruf zum Stoppen der Ladung
stop_forced_charging()
Diese Lösung ist sicher nicht ideal, ich bin kein Techniker und kein Programmierer, ich hab da KI Hilfe gehabt. Den Input hab ich hauptsächlich von da erhalten: Gen24 + HVM + Tibber: per Modbus Laden aus Netz nur mit maximal 500W möglich ? - Fronius - Datenkommunikation - Photovoltaikforum
Ich hab die Funktionen etliche Male manuell gestartet und im Fronius Interface beobachtet und angepasst. Man muss bedenken, dass man in die interne Steuerung eingreift, deswegen garantier ich da natürlich für nichts, das ist nur als input zu betrachten.
In Home Assistant habe ich dann eine input.datetime erstellt und eine Automation, die zu Beginn der eingestellten Zeit das Skript fürs Laden startet und nach ablauf der eingestellten Zeit das Skript fürs Stoppen ausführt. Und mir ist einmal aufgefallen, dass nach dem Neustart von Home Assistant der HVM lädt, also scheinbar ist beim Neustart von HA das Start Skript ausgeführt worden. Drum hab ich jetzt eine zusätzliche Automation, die 1 min nach jedem Neustart das Stopp Skript ausführt, einfach als Absicherung.
Grundsätzlich geht das natürlich nur für manuelle Steuerungen, für eine Automation die das ans Wetter und die Strompreise koppelt bin ich zu dumm und zu feig.
Ahja und im Wechslerichter muss man glaube ich auch den Modbus aktivieren, oder externen Zugriff, irgend sowas…
Ich bin auch für kontruktive Kritik zu haben, wenn sich da jemand besser auskennt, und mir erklärt dass ich damit den Speicher potentiell in Flammen setz, wär ich dankbar für den Hinweis.
LG
by HeikoBauer: Code formatiert. Bitte mit </> einfügen.