Einen wunderschönen Guten Tag.
Ich möchte eine Steckdose (NR1_TV) jeden Samstag um 12:30 einschalten.
Nach einigen rumkramen in den Anleitungen habe ich für Samsteg die Variable $wday == 6 gefunden.
Damit habe ich mir folgendes Kommando zusammengebaut:
define NR1_TV_an at *12:30:00 {$wday == 6} {fhem("set NR1_TV on")}
Das hat das System auch angenommen. Unter at steht jetzt NR1_TV_an.
Nur im Log fine ich folgendes:
2018.04.18 19:56:31 1: PERL WARNING: Useless use of numeric eq (==) in void context at (eval 350) line 1.
2018.04.18 19:56:31 3: eval: {return undef; {$wday == 6} {fhem("set NR1_TV on")}}
Habe schon einiges probiert, bekomme es aber nicht hin.
Wo liegt da mein Fehler.
Vielen Dank für eure Hilfe.
Have A Nice Day
Rof-Otto
define NR1_TV_an at *12:30:00 {$wday == 6} {fhem("set NR1_TV on")}
Wo hast Du das denn mal so gelesen?
define NR1_TV_an at *12:30:00 { if( $wday == 6) { fhem("set NR1_TV on")} }
Hallo CoolTux.
Vilen Dank für deine Hilfe.
Jetz sieht es gut aus. Mal sehn ob es Samstag funktioniert ...
Ich hatte mir das nur so aus allen möglichen Hinweisen zusammen gesucht.
Es war aber kein passendes Beispiel dabei, und meine Programier-Kenntnisse sind auch nur rudimentär.
Aber man lernt ja dazu.
Schönen Tag noch
Rolf-Otto
Wenn das geht, probier dann mal das. Ist ein Ticken kürzer
define NR1_TV_an at *12:30:00 { fhem("set NR1_TV on") if( $wday == 6) }
Warum nicht die Suchfunktion nutzen?
https://wiki.fhem.de/wiki/AT_an_einem_bestimmten_Wochentag_ausf%C3%BChren (https://wiki.fhem.de/wiki/AT_an_einem_bestimmten_Wochentag_ausf%C3%BChren)
Edit: Alternative https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung (https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung)
Noch was zum Testen, noch einen Ticken kürzer, aber nicht mit at:
define NR1_TV_an WeekdayTimer NR1_TV 6|12:30|on
Der WeekdayTimer kann dann ggf. auch wieder ausschalten ;) .
Gruß, Beta-User
Moin!
define DF_NR1_TV DOIF ([12:30|6]) (set NR1_TV on)
attr di_gong do always
Das dürfte auch gehen... (ungetestet da auf Arbeit)
Gruß
Alex
Zitat von: AlexSchei am 20 April 2018, 10:29:59
Das dürfte auch gehen... (ungetestet da auf Arbeit)
Kann schon sein, aber es ist zum einen nicht kürzer ;) , zum anderen hatte
Zitat von: rabehd am 19 April 2018, 14:36:59
Warum nicht die Suchfunktion nutzen?
https://wiki.fhem.de/wiki/AT_an_einem_bestimmten_Wochentag_ausf%C3%BChren (https://wiki.fhem.de/wiki/AT_an_einem_bestimmten_Wochentag_ausf%C3%BChren)
Edit: Alternative https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung (https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung)
bereits auf die Option hingewiesen...
Danke übrigens für den Wiki-Link, ich habe da gleich mal die entsprechenden weiterführenden Links zu den diversen Modulen und Attributen für at (JA, das geht auch, mit disabledForIntervals, das ist aber länger ;) ) mit reingebastelt, damit fleißige SuFu-Nutzer auch belohnt werden :) .
Gruß, Beta-User
Zitat von: AlexSchei am 20 April 2018, 10:29:59
define DF_NR1_TV DOIF ([12:30|6]) (set NR1_TV on)
attr di_gong do always
Das dürfte auch gehen... (ungetestet da auf Arbeit)
nee geht nicht. jedenfalls das attribut setzen nicht :)
attr DF_NR1_TV do always
oder in Kombination mit Perl ohne zusätzliche Attribute:
define DF_NR1_TV DOIF {if ([12:30|Sa]) {fhem"set NR1_TV on"}}
oder
define DF_NR1_TV DOIF {fhem"set NR1_TV on" if ([12:30|Sa])}
Hierbei muss man nicht erklären was eine 6 bedeutet ;)