Skip to content

HM abfragen und S10 steuern

nischram edited this page Jan 29, 2024 · 4 revisions

Diese Funktion steht ab der Version V2.04 zur Verfügung!

Folgende Parameter können an Homematic abgefragt werden und damit das S10 gesteuert werden:

  • Notstrom-Reserve
  • Batterie-Limits

Parameter von der Homematic abfragen und an das S10 senden

Mit dieser Funktion kannst du über die Homematic dein S10 steuern oder einstellen. Die Funktion steht auch für die Wallbox zur Verfügung,
siehe hier: Wallbox in die Homematic einbinden
Die gesamte Funktion muss in der parameter.h aktiviert werden. Die Definition muss, wie hier gezeigt auf 1 gesetzt werden:
#define EP_RESERVE_ACTION 1
oder
#define BATTERYLIMIT_ACTION 1

Es wird eine Variable als Trigger in einem bestimmten Intervall abgefragt. Wenn die Variable in der HM auf "true" steht, werden die Parameter aus weiteren Variablen abgefragt und mit einer zusätzlichen RSCP-Applikation an das S10 gesendet. Diese Applikation nutze ich auch um beim antippen der Button den Menüs, die Parameter zu setzen.
Folgende Variablen werden für diese Funktion benötigt:

Systemvariable Variablentyp Werte
S10_Notstromreserve_Send_Now Logikwert true/false
S10_Notstromreserve_Send_Reserve Zahl Power in kW
- - -
S10_Batterielimits_Send_Now Logikwert true/false
S10_Batterielimits_Send_Used Logikwert true/false
S10_Batterielimits_Send_Charge_Power Zahl Power in kW
S10_Batterielimits_Send_Discharge_Power Zahl Power in kW

zum Beispiel die Variable "S10_Batterielimits_Send_Now" ist bei mir die Trigger-Variable. Der Abfrageintervall wird in der parameter.h hier eingetragen: #define HM_Intervall 15
Sobald die Funktion die Parameter zum S10 gesendet hat, wird die "Trigger-Variable" wieder auf "false" (oder "falsch") gesetzt.

Funktion Senden der Parameter ohne Display verwenden

Wenn die Funktion ohne Display verwendet wird, muss ein zusätzliches Programm kompiliert werden. Da ohne Display das Programm GuiMain nicht läuft, habe ich Teile aus der GuiMain zusätzlich in ein Programm gebracht Rscp/actionCheckHM.c. Das Kompilieren habe ich nicht automatisch in der Makefile eingebaut, es muss von Hand mit folgendem Befehl ausgeführt werden:

make Rscp/actionCheckHM

Wenn die Applikation gestartet ist (über crontab etc.) kann ggf. mit pstreeüberprüft werden ob der Programmteil actionCheckHM läuft.
Information: Diesen Programmteil überwache ich nicht mit dem watchdog

Aufruf der RscpSet

Um die Parameter im S10 zu ändern wird die Datei Rscp/RscpSet.cpp verwendet. Es gibt diverse Schalte, hier folgt die Erklärung.

Für die Wallbox

Dateiaufruf Grundfunktion Sonnenmodus Max. Strom in Amp. Batterie zu Auto Batterie vor Auto Phasenanzahl ändern oder Ladung stoppen
RscpSet -wb -sonne / -mix 6 - 32A -BtCno / -BtCyes -BbCno / -BbCyes -swPh / -stop

Beispiel für Mischbetrieb mit 12A, Batterie wird nicht entladen und hat keine Priorität:
/home/pi/E3dcGui/Rscp/RscpSet -wb -mix 12 -BtCno -BbCno
oder Sonnenmodus mit 20A, die Batterie kann entladen werden hat keine Priorität und die Anzahl der Phasen wird geändert.
/home/pi/E3dcGui/Rscp/RscpSet -wb -sonne 20 -BtCyes -BbCno -swPh

Für die Notstromreserve

Dateiaufruf Grundfunktion Maximalwert für Reserve in Wh Notstrom-Reserve in Wh
RscpSet -ep abhängig von Batteriegröße kleiner als 80% Maximalwer

Beispiel für 3,2kWh bei max. 10kWh die möglich wären:
/home/pi/E3dcGui/Rscp/RscpSet -ep 10000 3200

Für die Batterie-Limits

Dateiaufruf Grundfunktion Modus Automatisch vom System oder Manuell vom User Maximale Ladeleistung Maximale Endladeleistung Startwert der Batterieleistung
RscpSet -bl -blNo / -blYes 0 - 65536 W 0 - 65536 W 0 - 400 W (Eingabe Optional)

Beispiel für Manuell mit 2400 W laden und 3000W entladen:
/home/pi/E3dcGui/Rscp/RscpSet -bl -blYes 2400 3000
Beispiel für Manuell mit 200 W laden und 4500W entladen und einem Schwellwert von 50W:
/home/pi/E3dcGui/Rscp/RscpSet -bl -blYes 200 4500 50
Zwei Beispiele für Automatisch:
/home/pi/E3dcGui/Rscp/RscpSet -bl -blNo 200 4500 50
/home/pi/E3dcGui/Rscp/RscpSet -bl -blNo

In Planung sind noch folgende Funktionen:

  • Powersave
  • Wetterprognose