Moin zusammen,
ich versuche gerade meine PV-Überschuss-Regelung zu verbessern. List vom DOIF in der Anlage.
Problem:
- DOIF geht aktuell und obwohl "ga_myGoE_car_state 1" bei jedem Status-Wechsel seitens SolarView:DPAC auf den DOELSE Zweig mit dem state "Ladung nicht möglich", sollte aber auf den state "Kein Auto" gehen.
- Setze ich das DOIF manuell auf "Checkall" wird der state "Keine Auto" ausgewählt. Das ist korrekt.
- Der "ga_myGoE_car_state" bleibt (geprüft mit verbose 5) permanent auf "1", da steckt der Fehler vermutlich nicht.
- UPDATE: Der state geht zuerst auf "5" also "Kein Auto" und 11 Sekunden später auf "6", "Ladung nicht möglich". Das wiederholt sich aktuell alle 10Minuten. Ich suche derzeit an der Wallbox.
Findet jemand von euch den Fehler?
VG Helmut
Zur besseren Lesbarkeit habe ich nur hier "Return" eingefügt.
defmod WB_PV_Regelung
DOIF (([SolarView:DPAC] > 250) and ([ga_myGoE:amp_current] < [ga_myGoE:amp_max_wallbox]) and ([ga_myGoE:car_state] == 2)) (set ga_myGoE amp_current [ga_myGoE:amp_current:d:$1+1])
DOELSEIF (([SolarView:DPAC] < 250) and ([ga_myGoE:amp_current] > 6 ) and ([ga_myGoE:car_state] == 2)) (set ga_myGoE amp_current [ga_myGoE:amp_current:d:$1-1])
DOELSEIF ([ga_myGoE:car_state] == 4) (set ga_myGoE off)
DOELSEIF ([ga_myGoE:car_state] == 3) (set ga_myGoE amp_current 6)
DOELSEIF ([ga_myGoE:car_state] == 1) (set ga_myGoE off, set ga_myGoE amp_current 6)
DOELSE (set ga_myGoE off, set ga_myGoE amp_current 6)
attr WB_PV_Regelung cmdState Incr|Decr|Fertig geladen, aus|Start Ladung mit 6A|Kein Auto|Laden nicht möglich
Wenn ein Trigger eines Reading z. B. in der ersten Bedingung kommt, dann wird diese Bedingung geprüft und wenn diese Bedingung nicht wahr ist, dann werden die anderen Fälle nicht mehr geprüft, sondern der ELSE-Fall kommt zum Zuge.
Wenn du willst, dass immer alle Bedingungen geprüft werden sollen, dann musst du das Attribut checkall setzen.
Danke für die schnelle Antwort,
ja so passt das DOIF.
VG Helmut