go-e Charger WallBox über HTTPMOD

Begonnen von Prof. Dr. Peter Henning, 28 Januar 2024, 12:12:03

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

#75
Die Anschaltung verschiedener Modi in einem Aufruf - etwa mit "set a_AutoPvCharging" - spart zwar ein paar Byte Netzlast. Allerdings kann man damit nicht andere Dinge auf FHEM-Ebene steuern (jedenfalls nicht ohne Klimmzüge). Das ist deshalb wichtig, weil man natürlich die WallBox nicht alle 5 Sekunden mit den Daten der Solaranlage füttern muss, wenn das solare Überschussladen gar nicht gebraucht wird.

Deshalb geht das bei mir etwas anders: Ein Dummy "WallyPvSurplus" kennt die beiden Set-Befehle "on" und "off". Ein DOIF, das die WallBox sowieso benötigt, bekommt zwei weitere Zweige
## 1. End of day
([23:59:55])
({my $e=ReadingsVal("Wally","energy_total",0);
  fhem("setreading Wally energy_yesterday $e");
},setreading Wally energy_today 0.0)
## 2. Fahrzeug angeschlossen
DOELSEIF
([Wally:car] eq "wait")
({speak("Tab1.EG","ID7 an die Wallbox angeschlossen");})
## 3. Fahrzeug lädt
DOELSEIF
([Wally:car] eq "charging")
({speak("Tab1.EG","Der ID7 beginnt das Laden an der Wallbox");})
DOELSEIF
([Wally:car] eq "finished")
({speak("Tab1.EG","Laden des ID7 an der Wallbox abgeschlossen");})
DOELSEIF
([Wally:car] eq "idle")
({speak("Tab1.EG","Der ID7 wurde von der Wallbox abgekoppelt");})
## 6. PvSurplus
DOELSEIF
([WallyPvSurplus] eq "on")
{GoEC_setPvSP("on")}
DOELSEIF
([WallyPvSurplus] eq "off")
{GoEC_setPvSP("off")}

In dem Perl-Programm GoEC_setPVSP habe ich die nötigen FHEM-Befehle gruppiert:
sub GoEC_setPvSP($) {
  my ($cmd) = @_;
  if( $cmd eq "on" ){
     speak("Tab1.EG","Solares Überschussladen an der WallBox eingeschaltet";
     fhem("set Wally charge_mode eco");
     fhem("set Wally charge_pvSurplus yes");
     fhem("set Wally interval 10");
     fhem("set PowerFlow interval 10");
     fhem("set WallyFiller active");
  }else{
    fhem("set WallyFiller inactive");
    fhem("set PowerFlow interval 60");
    fhem("set Wally interval 60");
    fhem("set Wally charge_pvSurplus no");
    fhem("set Wally charge_mode default");
    speak("Tab1.EG","Solares Überschussladen an der WallBox ausgeschaltet";
  }
Ah ja, nur dass sich niemand wundert: Das Ding hieß bei mir Wally_c, weil ich nebenbei noch die Steuerung über MQTT und das veraltete Modul in Betrieb hatte. Die sind jetzt endgültig auf den Müllhaufen gewandert...

LG

pah