Hauptmenü

Was ist da falsch?

Begonnen von satprofi, 08 August 2016, 09:34:06

Vorheriges Thema - Nächstes Thema

satprofi

Kurze Info:
Mit ladestatus überwache ich die Stromaufnahme des Akkus, Überschuss den Überschuss der PV Anlage. Wenn der Akku leer und am meisten Strom zieht muss 1000w übrig bleiben um den Ladevorgang zu starten, usw. Zusätzlich soll am 10. jedes Monats ,egal was die PV liefert,der Akku geladen werden.

send from OP3

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

satprofi

Am besten wäre den erstzustand herzustellen und bei jedem DOELSEIF den Tag hinzuzufügen.

send from OP3

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

automatisierer

Habe mal die Klammern so gesetzt wie ich es nachdem was ich verstanden habe für sinvoll erachte. Teste es morgen mal...


([07:45-17:00] and $mday==10 and [Netz_Schuetz_aus] eq "off") (set Batterielader_aus off)
DOELSEIF ((($month >10 or $month <3) and $mday!=10 and [07:45-17:00] and [Netz_Schuetz_aus] eq "off") and (([Ladestatus] < 2 and [Ueberschuss:state:d] > 100 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 3 and [Ueberschuss:state:d] > 200 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 4 and [Ueberschuss:state:d] > 300) or ([Ladestatus] < 5 and [Ueberschuss:state:d] > 400) or ([Ladestatus] >= 5 and [Ueberschuss:state:d] > 500))) (set Batterielader_aus off)
DOELSEIF ((($month <11 and $month >2) and $mday!=10 and [07:45-18:00] and [Netz_Schuetz_aus] eq "off") and (([Ladestatus] < 2 and [Ueberschuss:state:d] > 200 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 3 and [Ueberschuss:state:d] > 400 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 4 and [Ueberschuss:state:d] > 600) or ([Ladestatus] < 5 and [Ueberschuss:state:d] > 800) or ([Ladestatus] >= 5 and [Ueberschuss:state:d] > 1000))) (set Batterielader_aus off)
DOELSEIF ([Ueberschuss:state:d] <1 or [Netz_Schuetz_aus] eq "on") (set Batterielader_aus on)


da die ganzen or Bedingungen ja nur in Verbindung mit (($month >10 or $month <3) and $mday!=9 and [07:45-17:00] and [Netz_Schuetz_aus] eq "off") wahr werden sollen musst du diese zusammen klammern s.O..

Ich verstehe das ganze nun so:
Zweig 1: Einmal im Monat wird auf jeden Fall geladen
Zweig 2: Wenn die Bedingungen innerhalb des angegebenen Zeitfenster wahr werden, oder es zu Beginn schon sind, möchtest du den Ladevorgang starten.
Zweig 3: dito
Zweig 4: Wenn diese Bedingungen wahr werden wird der Ladevorgang gestoppt.

richtig?

satprofi

#18
ja genau.
Aber ich habe DOIF vom ersten Beitrag, das bisher klappte, mit dem Tag zusätzlich verbunden, trotzdem wird cmd zum Abschalten des Laders ausgeführt (heutiger Tag). Irgendwie dürfte der Tag nicht abgefragt werden.
Ich werde dein Beispiel testen.
thx.

[edit]
So dürfte es klappen, zumindest cmd1 ausgeführt, und next timer cmd5


([06:00] and $mday==10) (set Netz_Schuetz_aus off,set load_kWh_daily 0,define step2 at +00:00:05 set Batterielader_aus off,set Ladestatus 6)
DOELSEIF ((($month >10 or $month <3) and $mday!=10 and [Netz_Schuetz_aus] eq "off") and (([Ladestatus] < 2 and [Ueberschuss:state:d] > 100 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 3 and [Ueberschuss:state:d] > 200 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 4 and [Ueberschuss:state:d] > 300) or ([Ladestatus] < 5 and [Ueberschuss:state:d] > 400) or ([Ladestatus] >= 5 and [Ueberschuss:state:d] > 500))) (set Batterielader_aus off)
DOELSEIF ((($month <11 and $month >2) and $mday!=10 and [Netz_Schuetz_aus] eq "off") and (([Ladestatus] < 2 and [Ueberschuss:state:d] > 200 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 3 and [Ueberschuss:state:d] > 400 and [Absorbtionsphase] eq "Closed") or ([Ladestatus] < 4 and [Ueberschuss:state:d] > 600) or ([Ladestatus] < 5 and [Ueberschuss:state:d] > 800) or ([Ladestatus] >= 5 and [Ueberschuss:state:d] > 1000))) (set Batterielader_aus off)
DOELSEIF ($mday!=10 and [Ueberschuss:state:d] <1 or [Netz_Schuetz_aus] eq "on") (set Batterielader_aus on)
DOELSEIF ([18:00] and $mday==10) (set Batterielader_aus on)


ich benötigte noch zusätzlich bei cmd4 den tag, sonst hätte die ladung wieder abgebrochen bzgl. des Überschuss
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram