Ich habe bisher im WeekdayTimer das Kommando "on-for-timer xxx" Sekunden verwendet. Dabei werden die Sekunden vom Kommando durch Doppelpunkt getrennt. Also on-for-timer:60
Jetzt will ich aber das Kommando "on-till hh:mm" verwenden. Da funktioniert der Doppelpunkt nicht, da er ja bereits die Stunden von den Minuten trennt. on-till:22:00 funktioniert nicht.
Wie gebe ich das richtig an?
Muss ich dafür wirklich ein {FHEM set $NAME on-till 22:00} absetzen, geht das nicht einfacher?
Danke
Chipmunk
PS: Kann man bei sunset() und sunrise() auch negative Werte angeben, um x Minuten davor etwas auszulösen?
on-till:22\:00
So sollte das gehen.
Zitat von: chipmunk am 20 März 2019, 07:34:01
PS: Kann man bei sunset() und sunrise() auch negative Werte angeben, um x Minuten davor etwas auszulösen?
Ja. Man kann das Ergebnis auch einfach testen: {sunset(-360)} in die FHEM Kommandozeile werfen.
Gruß Otto
Danke Sinus61, das hat geholfen.
@ Otto: Danke,
aber mich hat verwirrt, dass im Log eine Zeitangabe von 42:38:05 steht, was 18:38:05 am nächsten Tag entspricht.
Offenbar geben sunset und sunrise keine Uhrzeit, sondern die Zeit bis zum nächsten Auftreten im Uhrzeitformat aus.
Das war mir so nicht bewußt und die Fehlermeldung im Log hat mich irritiert.
LG
Chipmunk
Moin,
na dafür gibt es ja dann die anderen Funktionen:
https://commandref.fhem.de/#SUNRISE_EL
Gruß Otto
Die Commandref habe ich natürlich zuerst gelesen, aber sie ist mir nicht klar genug formuliert.
Auch das Wiki hat mir nicht weiter geholfen,.
Es sind viele Fragen offen geblieben, daher habe ich hier gefragt, wo mir ja auch geholfen wurde.
LG
Chipmunk
Was ist denn daran nicht klar genug?
Zitatsunrise_abs() and sunset_abs() return the absolute time of the corresponding event today (no 24 hours added).
ZitatWas ist denn daran nicht klar genug?/quote]
Wann welche Variante einzusetzen ist und ob es überhaupt einen Unterschied ausmacht, abgesehen von der Fehlermeldung im Log.
Ich zitiere mal gern die Doku für alle Varianten, Du sagst es ist Dir nicht klar und Du fragst Dich ob es einen Unterschied macht. Und Du redest von offenbar ...
Sag doch dem Author bitte, was Du an dieser (für mich sehr klaren Aussage) ändern würdest.
Zitatsunrise() and sunset() return the absolute time of the next sunrise/sunset, adding 24 hours if the next event is tomorrow, to use it in the timespec of an at device or for the on-till command for FS20 devices.
sunrise_rel() and sunset_rel() return the relative time to the next sunrise/sunset.
sunrise_abs() and sunset_abs() return the absolute time of the corresponding event today (no 24 hours added).
sunrise_abs_dat() and sunset_abs_dat() return the absolute time of the corresponding event to a given date(no 24 hours added).
Oder wird es beim zweiten Lesen einfach klarer? ;D
Gruß Otto
Otto,
nein es wird auch beim fünften Lesen nicht besser, da es für mich nicht ausreichend dokumentiert ist und daher Fragen offen bleiben.
Ich kann die Beschreibung nicht besser formulieren, da ich eben nicht weiß, wie sich die Versionen verhalten und wann sie Anwendung finden.
Es gibt von den Befehlen jeweils eine generische Variante (sunset()) und ein paar spezifische (sunset_irgendwas()).
Normalerweise verwendet man in diesem Fall die generische Variante außer man hat einen speziellen Anwendungsfall, der eine spezifische Variante erfordert.
Es ist NICHT erklärt, welche Auswirkungen die unterschiedlichen spezifischen Varianten haben und wofür sie anzuwenden sind.
Die generische Variante sunset() scheint in weekdaytimer zu funktionieren (es wird geschaltet) aber produziert Fehler im Log.
Damit ist es (zumindest mir) unklar, ob sie sonst noch irgendwelche unerwünschten Nebenwirkungen produziert.
Weiters ist zu lesen, dass es drei Parameter gibt, aber dann wird ein vierter verwendet.
Wenn dir alles klar ist: fein - aber ich kenne mich nicht aus.
Es hat auch keinen Sinn, hier weiter zu diskutieren, dass, im Gegensatz zu dir, jemand mit der Beschreibung nicht auskommt.
Das soll kein Angriff sein, ich will nur den Thread nicht sinnlos offen halten.
LG
Chipmunk
PS: Vielleicht habe ich als Informatiker ja zu viel Wissen und hinterfrage die Funktionalität deshalb genauer, statt einfach unbedarft irgend etwas anzunehmen.
Die Annahme aus dem Namen sunrise() auf eine generische Funktion zu schließen ist meiner Meinung nach falsch.
Im Gegenteil, sie ist eigentlich speziell für Module wie at und Funktionen wie on-till gebaut.
Sie liefert den Zeitpunkt aus der Sicht von JETZT, wenn der Zeitpunkt morgen ist werden einfach 24 h aufgeschlagen.
Das mit den Argumenten ist in der Tat schwierig beschrieben. Es gibt 3 Optionale und das "1-te" Argument. Wenn es nicht angegeben ist, steht dort intern "CIVIL". Anhand des Syntax ist die Funktion so intelligent zu erkennen um was es sich in der ersten Position handelt.