-
Notifications
You must be signed in to change notification settings - Fork 9
Home
Aktuelle Benutzerdokumentation
Mit dem PR v0.40.0 müsste es nun schon funktionieren, einen andere InverterTyp anzubinden
Definition des Wechselrichtertyps in CONFIG/default.ini bzw. CONFIG/default_priv.ini.
InverterTyp = gen24
Die Daten werden zur Berechnung der Ladesteuerung und fürs Logging verwendet.
1.)
Die Methode get_API() der Klasse InverterApi() in FUNCTIONS/gen24_api.py liefert zu folgenden Indizes und Werte als Dictionary:
Eine Anbindung eines anderen Wechselrichters müsste dann als get_API() der Klasse InverterApi() in FUNCTIONS/{InverterTyp}_api.py, dieselben Indizes liefern:
Version = 3.5.5-23199 # Firmwareversion
BattStatusProz = 76.0 # SOC Akku
aktuelleBatteriePower = 2339 # aktuelle Akkuleistung + ist entladen / - ist laden
BattganzeKapazWatt = 10284 # Kapazität des Akkus
BattganzeLadeKapazWatt = 10240 # Ladekapazität des Akkus
udc_mittel = 196 # Unterscheidung HVM = 50A und HVS = 25A zur Ermittlung der Ladekapazität mit GEN24
BattKapaWatt_akt = 2468 # Aktuell noch freie Kapazität im Akku
aktuelleEinspeisung = 21 # Aktuelle Einspeisung ins Netz + = Einspeisung, - ist Bezug
aktuellePVProduktion = 4178 # Aktuelle PV-Produktion
AC_Produktion = 53058431 # Zählerstand AC_Produktion des GEN24 in W/h
DC_Produktion = 55981586 # Zählerstand DC_Produktion des GEN24 in W/h
AC_to_DC = 37415 # Zählerstand AC zu DC Wandlung des GEN24 in W/h
Batterie_IN = 9193528 # Zählerstand in den Akku in W/h
Batterie_OUT = 8589579 # Zählerstand aus dem Akku in W/h
Netzverbrauch = 6666572 # Zählerstand Netzbezug in W/h
Einspeisung = 28006592 # Zählerstand Einspeisung in W/h
2.)
Die Methode get_http_data() der Klasse InverterInterface in FUNCTIONS/gen24_interface.py liefert zu folgenden Indizes und Werte als Dictionary:
Eine Anbindung eines anderen Wechselrichters müsste dann als get_http_data() der Klasse InverterInterface in FUNCTIONS/{InverterTyp}_interface.py, dieselben Indizes liefern:
Active[0] = True # Batteriemanagement => Zeitabhängige Steuerung => Status/Active
Power[0] = 4500 # Batteriemanagement => Zeitabhängige Steuerung => Leistung
ScheduleType[0] = CHARGE_MAX # Batteriemanagement => Zeitabhängige Steuerung => Art
# kann 4 Indizies haben [CHARGE_MAX, CHARGE_MIN, DISCHARGE_MAX, DISCHARGE_MIN]
HYB_EM_POWER = -50 # Eigenverbrauchs-Optimierung => Zielwert am Einspeisepunkt in Watt => + Bezug , - Einspeisung
HYB_EM_MODE = 0 # Eigenverbrauchs-Optimierung => Mode => 0 Automatisch , 1 Manuell
HYB_BACKUP_RESERVED = 5 # Ladezustand Einstellungen => Reservekapazität
BAT_M0_SOC_MIN = 5 # Ladezustand Einstellungen => Minimaler Ladezustand
Die Methode update_inverter_settings() der Klasse InverterInterface in FUNCTIONS/gen24_interface.py schreibt auf den Wechselrichter, und erwartet folgende Werte:
update_inverter_settings(self,mode,WR_schreiben=None,aktuellerLadewert=None,Neu_BatteryMaxDischarge=None,BatteryMaxDischarge=None, EntladeEintragloeschen=None,Options=None,Batterieentlandung_steuern=None,EntladeEintragDa=None,Ladetype=None,print_level=None, DEBUG_Ausgabe="", Schreib_Ausgabe="", Push_Schreib_Ausgabe="", **kwargs):
Hier die Aufrufe aus dem Controllerscript (EnergyController.py):
Lade- und Entladebegrenzungen entfernen:
inverter_interface.update_inverter_settings(mode="remove_timeofuse")
Lade- und Entladebegrenzungen setzen:
inverter_interface.update_inverter_settings(
mode="timeofuse",
WR_schreiben = WR_schreiben,
aktuellerLadewert = aktuellerLadewert,
Neu_BatteryMaxDischarge = Neu_BatteryMaxDischarge,
BatteryMaxDischarge = BatteryMaxDischarge,
EntladeEintragloeschen = EntladeEintragloeschen,
Options = Options,
Batterieentlandung_steuern = Batterieentlandung_steuern,
EntladeEintragDa = EntladeEintragDa,
Ladetype = Ladetype,
print_level = print_level,
DEBUG_Ausgabe = DEBUG_Ausgabe
)
Eigenverbrauchs-Optimierung setzen:
inverter_interface.update_inverter_settings(mode="eigenverbrauchsoptimierung", Eigen_Opt_Std_neu = Eigen_Opt_Std_neu, HYB_EM_MODE=HYB_EM_MODE )
Notstromreserve setzen:
inverter_interface.update_inverter_settings(mode="BACKUP_RESERVE", Neu_HYB_BACKUP_RESERVED=str(Neu_HYB_BACKUP_RESERVED))
Eine Anbindung eines anderen Wechselrichters müsste dann mit der Methode update_inverter_settings() der Klasse InverterInterface in FUNCTIONS/{InverterTyp)_interface.py, diese Werte Verarbeiten, und entsprechen auf den Wechselrichter schreiben.