Guten Abend,
ich fange gerade an mich an die DOIF zu gewöhnen und diese entsprechen in den Config einzubauen.
Nun versuche ich einige at-Befehle zu ersetzen und gerade ist das Schalten der Flurbeleuchtung in den Wintermonaten morgens um 6:15 Uhr an der Reihe.
Wie würde eine Bedingung mit der Abfrage von Monaten aussehen? Ist dies schon möglich?
Ich denke hier an folgendes:
define Auto_Lichtmorgens_ON_Week DOIF ([06:15|8] and ( $month <= 4 || $month >= 9 )) (set AK_Flur_Licht on) DOELSEIF ([08:15|8]) (set AK_Flur_Licht on)
attr Auto_Lichtmorgens_ON_Week do always
Funktioniert der Code oder gibt es ggf noch eine andere Lösung?
Danke
So kurz vorm einnicken würde ich behaupten, daß der Code funktioniert.
Anders habe ich die Monate bei mir in DOIFs auch nicht eingebunden.
Was kosmetische..Zitat aus der DOIF-commandref:
ZitatLogische Verknüpfungen sollten zwecks Übersichtlichkeit mit and bzw. or vorgenommen werden.
Gute Nacht.
Danke
auch kurz vorm einnicken würde ich sagen wenn du auch
( $month <= 4 || $month >= 9 )
benutzt hast und es funktioniert finde ich es gut das ich langsam in die Programmiersprache schreiben kann.
Hatte gedacht die ,,||" könnten ein Problem geben.
Aber wenn ich nun am Ende noch ein ,,off" statt ,,on" schreibe könnte es wirklich funktionieren.
define Auto_Lichtmorgens_ON_Week DOIF ([06:15|8] and ( $month <= 4 || $month >= 9 )) (set AK_Flur_Licht on) DOELSEIF ([08:15|8]) (set AK_Flur_Licht off)
attr Auto_Lichtmorgens_ON_Week do always
Danke und gute Nacht
Der Monat steht on $mon.
Gruß
Julian
Zitat von: Loredo am 21 November 2015, 01:55:39
Der Monat steht on $mon.
Gruß
Julian
Der Anwender kann folgende Zeitvariablen in der Bedingung von DOIF nutzen:
$sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst
Gruß
Damian
Hallo Damian,
danke für die Rückmeldung. Ich habe mir gleich die Zeitvariablen als Merker aufgeschrieben.
Aus meiner Sicht ist die Frage damit beantwortet.
Danke
Gruß
aherby
Zitat von: aherby am 22 November 2015, 12:34:43
Hallo Damian,
danke für die Rückmeldung. Ich habe mir gleich die Zeitvariablen als Merker aufgeschrieben.
Aus meiner Sicht ist die Frage damit beantwortet.
Danke
Gruß
aherby
Interessant ist vermutlich $mday, $month, $year, $yday, $isdst.
$wday wird normalerweise mit Wochentagangaben [..|123455678] abgedeckt.
Es gibt noch $HMS für HH:MM:SS und $HM für HH:MM, allerdings braucht man diese Angaben normalerweise auch nicht, da ja DOIF mit Zeit und Zeitintervallen umgehen kann.
Gruß
Damian
Hallo Damian,
danke
Was versteckt sich genau hinter:
$yday
$isdst
$mday
Danke
einfach mal auf der Konsole eingeben...
fhem> {$yday}
326
fhem> {$isdst}
0
fhem> {$mday}
23
326 Tag des Jahres, beginnend bei 0
keine Sommerzeit
23. Tag des Monats
Super,
danke für die Hilfe / Tipps.
Damit hat sich mein Problem erledigt.
Gruß aherby
Hallo,
wenn ich folgendes eingebe
Zitatdefine Auto_Lichtmorgens_ON_Week DOIF ([21:30|8] and ( $month <= 4 || $month >= 9 )) (set LEDspot1 on) DOELSEIF ([21:31|8]) (set LEDspot1 off)
attr Auto_Lichtmorgens_ON_Week do always
kommt Error:
set LEDspot1 off: Please define LEDspot1 first
definiert ist meine Lampe die hinter einer FS20 steckdose hängt...so
Zitat### LED SPOTS Küchenzeile
define LEDspot1 FS20 1234 11
attr LEDspot1 IODev nanocul
attr LEDspot1 model fs20st
attr LEDspot1 room Kueche
Zitat von: patman1607 am 25 November 2015, 21:52:41
Hallo,
wenn ich folgendes eingebe
kommt Error:
set LEDspot1 off: Please define LEDspot1 first
definiert ist meine Lampe die hinter einer FS20 steckdose hängt...so
Hast du deine FS20 direkt in der fhem.cfg eingegeben, oder über die Kommandozeile in FHEM definiert? Diesen Fehler habe ich in den Anfangszeiten auch gemacht. Lass lieber die Finger von der fhem.cfg da kann man so manchen shitstorm hier ernten. ;-)
Gib einfach define <name> FS20 housecode addr [fg addr] [lm addr] [gm FF] in die Kommandozeile ein. Sollte funzen.
Gruß schucki