FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Der_müde_Joe am 14 Dezember 2017, 13:16:19

Titel: [Gelöst] DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 13:16:19
Hallo,

ich habe mal wieder ein Brett vorm Kopf und muss eine doofe Frage stellen. Ich brüte nuns chon zwei Tage über einer Lösung um mit Sonnenuntergang und ,sofern Advent ist, die Weihnachtsbeleuchtung bis 22:15 einzuschalten.

Folgende Idee hatte ich:
define Weihnachtsbeleuchtung_Abends DOIF ([{sunset("HORIZON=-2.5",0,"12:00","22:14")}] and Advent==1) ((set Weihnachtsbeleuchtung on-till 22:15:00);;(set Weihnachtsbaum_Out on-till 22:15:00))

Alle Einzelfunktionen funktionieren. Also sowohl Advent gibt mir ein 1 zurück als auch sunset klappt und auch das on-till funktioniert, wenn ich es einzeln eingebe. Ich vermute irgendwo in meiner Syntax ist ein Fehler. Bitte schaut da mal drauf.

Wenn ich mir die Funktion dann im Web Interface anschaue steht da nur ??? und ich bekomme keine Fehlermeldung beim Abspeichern.

Vielen Dank
Joe
Titel: Antw:DOIF mit Sunset
Beitrag von: kumue am 14 Dezember 2017, 14:00:03
muss Advent nicht auch in eckige Klammern ?
Was ist Advent ? Ein Dummy ?
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 14:05:03
Advent ist aus dem Codeschnipsel hier:

https://forum.fhem.de/index.php/topic,42209.0.html

aber den in Klammern zu setzen, ist ja nicht so das Problem.
Titel: Antw:DOIF mit Sunset
Beitrag von: kumue am 14 Dezember 2017, 14:08:29
aha, und wo hast du sub Advent() eingetragen ?
In die 99_myUtils.pm ?


Auf der Konsole bekommst Du - wie du schreibst - ja auch eine 1 zurückgeliefert...
fhem> {Advent}
1
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 14:12:32
Genau da. In der 99_myUtils.pm
Titel: Antw:DOIF mit Sunset
Beitrag von: kumue am 14 Dezember 2017, 14:20:21
Also an den Bedingungen liegt es nicht...
habe mal an der Uhr gedreht und folgendes funktionierte eben

([{sunset("HORIZON=10.8",0,"12:00","22:14")}] and Advent==1) (set dummy on)

Also stimmt wohl was im Ausführungsteil nicht...
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 14:22:54
Okay, jetzt wird es interessant. Wie zum Geier dreht man an der Uhr? Ich warte da jedes mal nach einer Änderung einen Tag. ^^
Titel: Antw:DOIF mit Sunset
Beitrag von: kumue am 14 Dezember 2017, 14:29:07
habe nur den Wert bei Horizon geändert.. Die Sonne steht jetzt ca. 10° überm Horizont... wollte nicht bis -2.5 warten...

Denke so sollte der Ausführungsteil aussehen...
(set Weihnachtsbeleuchtung on-till 22:15:00,set Weihnachtsbaum_Out on-till 22:15:00)
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 14:42:04
Hallo,

vielen vielen Dank für deine Hilfe. Mit folgendem Eintrag hat es nun gerade geklappt. Wieso es vorher nicht ging, ist mir allerdings schleierhaft.

define Weihnachtsbeleuchtung_Abends DOIF ([{sunset("HORIZON=8.5",0,"12:00","22:14")}] and Advent==1) (set Weihnachtsbeleuchtung on-till 22:15:00,set Weihnachtsbaum_Out on-till 22:15:00)

Trotzdem nochmal danke.
Joe
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 18:10:54
Hallo,

ich musste leider das gelöst wieder weg nehmen, denn, als ich die Gradzahl auf -2,5 geändert habe passiert leider wieder nichts mehr. Ich habe dann dieGradzahl auch noch zweimal erhöht, den Versuch zu wiederholen und auch dann läuft es nicht. Letzter Versuch war jetzt gerade mit -17 Grad.

define Weihnachtsbeleuchtung_Abends DOIF ([{sunset("HORIZON=-17",0,"12:00","22:14")}] and Advent==1) (set Weihnachtsbeleuchtung on-till 22:15:00,set Weihnachtsbaum_Out on-till 22:15:00)

So langsam habe ich keinen Plan mehr, woran es noch liegen kann. Zumal es ja heute Nachmittag geklappt hat. Vielleicht hat ja einer von euch noch eine Idee? Ich bin echt mit meinem Latein am Ende.

Könnte das mit dem - vor der Gradzahl zusammen hängen?

Lieben Gruß
Jens
Titel: Antw:DOIF mit Sunset
Beitrag von: kumue am 14 Dezember 2017, 20:33:41
na ich denke, als du auf -2.5 gesetzt hast, war die Zeit schon vorbei...
Das Reading timer_01_c01 müsste dir den morgigen Zeitpunkt anzeigen.
Und schau dir mal das Attribut "do always" an....
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 20:47:16
Hi,

danke für den Hinweis. Ich habe mir eben mal do always durchgelesen. Wenn ich das richtig verstehe, wird damit das selbe Event mehrmals getriggert. Ich verstehe nicht, wie mir das helfen soll. Zweite Sache ist, dass ich wie oben angegeben auch -17 Grad verwendet habe und natürlich habe ich drauf gachtet, dass die Zeit auch wirklich noch vor der aktuellen Uhrzeit liegt und nicht am nächsten Tag.

Lieben Gruß
Titel: Antw:DOIF mit Sunset
Beitrag von: kumue am 14 Dezember 2017, 21:12:31
Dein DOIF ist sozusagen eine Einzeiler, kein DOELSEIF, kein DOLESE.
Wenn es morgen (hoffentlich) triggert, dann hat es dein STATE cmd_1.
Ohne DOELSEIF, DOELSE und dem Attribut do always würde sich an diesem Zustand nichts ändern.
Deshalb das Attribut, damit es am nächsten (also übernächsten) Tag wieder triggert.

Das Reading timer_01_c01 verweist doch sicher auf eine morgige Uhrzeit so um 16Uhr herum... oder ?
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 14 Dezember 2017, 21:20:13
Ach so,

ah jetzt ja eine Insel :D.

Na dann haue ich da mal ganz entspannt das do always rein. Worauf man nicht alles achten muss... tzzz... Da wäre ich ja nie drauf gekommen.
Ja im Moment habe ich es auf 2 Grad anstatt 2,5 gestellt, um das Minus als Fehler ausschließen zu können. Somit steht es auf etwas nach 16 Uhr, da hast du Recht. An Sonsten bleibt mir ja nur morgen abzuwarten.

Lieben Gruß und danke
Joe
Titel: Antw:DOIF mit Sunset
Beitrag von: Damian am 14 Dezember 2017, 22:14:29
Zitat von: Der_müde_Joe am 14 Dezember 2017, 21:20:13
Ach so,

ah jetzt ja eine Insel :D.

Na dann haue ich da mal ganz entspannt das do always rein. Worauf man nicht alles achten muss... tzzz... Da wäre ich ja nie drauf gekommen.
Ja im Moment habe ich es auf 2 Grad anstatt 2,5 gestellt, um das Minus als Fehler ausschließen zu können. Somit steht es auf etwas nach 16 Uhr, da hast du Recht. An Sonsten bleibt mir ja nur morgen abzuwarten.

Lieben Gruß und danke
Joe

DOIF ist halt mehr als nur ein Eventhandler (den kannst du mit notify haben).

In der Einleitung zu DOIF steht ziemlich ausführlich:

ZitatDas DOIF-Modul arbeitet mit Zuständen. Jeder Ausführungszweig DOIF/DOELSEIF..DOELSEIF/DOELSE stellt einen eigenen Zustand dar (cmd_1, cmd_2, usw.). Das Modul merkt sich den zuletzt ausgeführten Ausführungszweig und wiederholt diesen standardmäßig nicht. Ein Ausführungszweig wird erst dann wieder ausgeführt, wenn zwischenzeitlich ein anderer Ausführungszweig ausgeführt wurde, also ein Zustandswechsel stattgefunden hat. Dieses Verhalten ist sinnvoll, um zu verhindern, dass zyklisch sendende Sensoren (Temperatur, Feuchtigkeit, Helligkeit, usw.) zu ständiger Wiederholung des selben Befehls oder Befehlsabfolge führen.
Titel: Antw:DOIF mit Sunset
Beitrag von: kumue am 15 Dezember 2017, 16:10:44
und gibt's was positives zu berichten ?
Titel: Antw:DOIF mit Sunset
Beitrag von: Der_müde_Joe am 30 Dezember 2017, 11:17:30
Hallo,

entschuldigt de späte Rückmeldung. Ja, meine Steuerung funktioniert wunderbar und ich werde meine Einstellungen auch gleich in den Tread mit dem Adventsschnipsel einstellen, damit jeder das für sich nutzen kann.

Hier findet man die notwendigen Infos:
https://forum.fhem.de/index.php/topic,42209.msg738996.html#msg738996

Vielen Dank nochmal für eure Hilfe ihr seit super.

Lieben Gruß
Jens