FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: morph am 15 Juni 2017, 09:53:03

Titel: Rollo Automatisierung
Beitrag von: morph am 15 Juni 2017, 09:53:03
Hi,

Ich hab einen entfernten Rollo, der leider nicht zuverlässig hoch bzw. runter fährt mit:


define Rollo_CHR CUL_HM 2DBE89
attr  .....

...


attr Rollo_CHR webCmd statusRequest:up:down:stop

define FileLog_Rollo_CHR FileLog ./log/Rollo_CHR-%Y.log Rollo_CHR
attr FileLog_Rollo_CHR logtype text
attr FileLog_Rollo_CHR room CUL_HM

define Rollo_CHR_abends at *{sunset} set Rollo_CHR off
attr Rollo_CHR_abends room CUL_HM

define Rollo_CHR_morgens at *06:30 set Rollo_CHR on
attr Rollo_CHR_morgens room CUL_HM



Nun dachte ich mir, ich mach nach dem nochmal ein DOIF, das er sobald das Ereignis rum ist, wo er schalten sollte, und nicht geschaltet hat, solange der Schaltbefehl raus geht, bis der Befehl ausgelöst und ein OK zurückkommt.


define Rollo_CHR_Auto DOIF ([Rollo_CHR:up] && [*{sunset(+300)}]) (set Rollo_CHR down) DOELSEIF (*06:30) (set Rollo_CHR up)


Wird das funktionieren? Oder ist ein Fehler eingebastelt? Übersetzt soll es heißen:

Wenn der Rollo_CHR 300 Sekunden nach dem Sonnenuntergang nicht up ist, setzte ihn auf Down, Ansonsten setzte ihn um 6.30 auf up.

Ich danke euch für Hilfen
Titel: Antw:Rollo Automatisierung
Beitrag von: amenomade am 15 Juni 2017, 23:34:20
([Rollo_CHR:up] && [*{sunset(+300)}])
wird getriggert wenn ein Event "up" auf Rollo_CHR kommt und wenn es sunset+300 ist. Ich würde lieber so schreiben:
([?Rollo_CHR] eq "up" and [{sunset(+300)}])
Titel: Antw:Rollo Automatisierung
Beitrag von: morph am 16 Juni 2017, 08:17:23
Das Fragezeichen vor Rollo auch?
Sonst sollte es passen?
WO ist der Unterschied bei den beiden?
Titel: Antw:Rollo Automatisierung
Beitrag von: Amenophis86 am 16 Juni 2017, 08:35:03
DOELSEIF (*06:30)
ist falsch. Hast dich wohl an at orientiert. Beim DOIF muss es heißen:
DOELSEIF ([06:30])
Titel: Antw:Rollo Automatisierung
Beitrag von: morph am 16 Juni 2017, 10:07:53
Ja, hab ich ;-) ich bin leider nur ein paste an Copy man. Für mehr reicht das Verständnis nicht aus in der Zeit.
Sonst?
Titel: Antw:Rollo Automatisierung
Beitrag von: Amenophis86 am 16 Juni 2017, 12:13:38
Sonst CommandRef lesen, Wiki lesen, try and error begehen ;)
Titel: Antw:Rollo Automatisierung
Beitrag von: amenomade am 16 Juni 2017, 12:17:48
Zitat von: morph am 16 Juni 2017, 08:17:23
Das Fragezeichen vor Rollo auch?
Sonst sollte es passen?
WO ist der Unterschied bei den beiden?
Ja auch. Damit wird nur geprüft und nicht getriggert.
Der Unterschied liegt an:
- Fragezeichen, siehe oben
- [Rollo_CHR:up] funktioniert nicht, wenn Rollo_CHR kein Reading up hat
- kein Stern vor {sunset()}
Titel: Antw:Rollo Automatisierung
Beitrag von: morph am 18 Juni 2017, 09:32:43
So, also so:


define Rollo_CHR_Auto DOIF ([?Rollo_CHR] eq "up" and [{sunset(+300)}]) (set Rollo_CHR down) DOELSEIF ([06:30]) (set Rollo_CHR up)

?

Bzw.:


define Rollo_CHR_Auto DOIF ([?Rollo_CHR] eq "up" and [22:00]) (set Rollo_CHR down) DOELSEIF ([06:30]) (set Rollo_CHR up)

?

Und das setzt er bzw. schickt er dann solange, bis er die Rückmeldung bekommt up, bzw. down?
Titel: Antw:Rollo Automatisierung
Beitrag von: amenomade am 18 Juni 2017, 12:43:54
Nein, das wird einmal um sunset+300 gemacht, falls die Rollos noch "up" sind. Zum beliebige Wiederholung (z.B. 3x im Abstand von 5mn), kannst Du dazu:
attr Rollo_CHR_Aut repeatsame 3
attr Rollo_CHR_Aut repeatcmd 300
attr Rollo_CHR_Aut do always


Eine Wiederholung "bis nicht mehr up" ist bestimmt möglich, aber ich muss noch überlegen und evtl. testen, oder vielleicht kommt @Damian mit gutem Rat dazu ;)
Titel: Antw:Rollo Automatisierung
Beitrag von: morph am 18 Juni 2017, 19:41:46
Achso... Dann hatte ich einen Denkfehler... :-)

Danke