-
Notifications
You must be signed in to change notification settings - Fork 14
HM abfragen und S10 steuern
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
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.
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
Um die Parameter im S10 zu ändern wird die Datei Rscp/RscpSet.cpp verwendet. Es gibt diverse Schalte, hier folgt die Erklärung.
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
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
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
- Powersave
- Wetterprognose