Hallo,
ich habe eine Verständnisfrage wenn ich den Befehl
{wakeUp (5,"WZ_TV")}
ausführe startet dieser sofort.
Jetzt möchte ich diesen gern Mo-Fr. um 5:30 ausführen wie mache ich dies am Besten.
Ich habe es Testweise mit
define wakeUp at *21:36:00(5,"WZ_TV")
probiert.
Allerdings erhalte ich dann immer im Log:
2016.09.29 21:50:00 3: wakeUp: Unknown command wakeUp(5,"WZ_TV"), try help.
Vielleicht kann mir jemand helfen :)
Also ich würde es so versuchen (ungeprüft)
define ATwakeUp at *21:36:00 {wakeUp (5,"WZ_TV")}
Gruß Otto
Die geschwungenen Klammern fehlen, so wie in Deinem ersten Beispiel. Immerhin musst Du auf Perlebene kommen da es sich um eine Perl Sub handelt die Du aufrufen willst.
define ATwakeUp at *21:36:00 {wakeUp (5,"WZ_TV")}
Funktioniert vielen Dank.
warum funktioniert
define wakeUp at *21:36:00 {wakeUp (5,"WZ_TV")}
nicht? Also was ändert das AT?
Wie lautete denn die Fehlermeldung? So in etwa wie das ein Device mit dem Namen schon existiert?
Mal selber kurz überlegen bitte!
Du könntest auch Willi schreiben.
define willi at *21:36:00 {wakeUp (5,"WZ_TV")}
Aber wakeUp gibt es schon...
Zitat von: CoolTux am 29 September 2016, 22:28:11
Wie lautete denn die Fehlermeldung? So in etwa wie das ein Device mit dem Namen schon existiert?
Mal selber kurz überlegen bitte!
Hi CoolTux
dafür war es mir jetzt zu spät ;)
Gruß Otto
Die Fehlermeldung lautetet dann auch immer
Unknown command (wakeUp, try help.
daher bin ich daraus nicht schlau geworden.
Wie gesagt ich bin Anfänger und habe so gut wie keine Programmier Erfahrung.
Aber nochmals danke für eure Hilfe.
Jetzt muss ich "nur" das nur noch Mo-Fr ausführen lassen und im Bedarfsfall abstellen können später möchte ich dazu noch Musik abspielen. Aber ob ich das je schaffen werde ;)
define willi at *21:36:00 {wakeUp (5,"WZ_TV") if( !we )}
Sorgt dafür das der Befehl nicht am Wochenende und nicht an Feiertagen ausgeführt wird.
Zitat von: derhelge am 29 September 2016, 22:35:52
Jetzt muss ich "nur" das nur noch Mo-Fr ausführen lassen und im Bedarfsfall abstellen können später möchte ich dazu noch Musik abspielen. Aber ob ich das je schaffen werde ;)
Mach das vielleicht lieber mit DOIF, das wäre für solche Zeitsteuerungen eventuell einfacher als mit at.
Schau in der commandref, da gibt es bei DOIF viele Beispiele.
Mit at würdest Du die Variable $we verwenden, auch dafür gibt es in der commandref ein Beispiel. Und Du willst natürlich nicht am WE also musst Du $we umkehren. das geht mit einem Perl Operator 8)
Jetzt kannst Du mal schauen ob Du es hin bekommst.
Ach CoolTux jetzt hattest Du keine Ruhe mehr ;)
Gruß Otto
Huhu,
ich nochmal, heute habe ich versucht den Befehl zu benutzen.
Zitatdefine willi at *21:36:00 {wakeUp (5,"WZ_TV") if( !we )}
Allerdings bekomme ich dann folgende Fehler im Log.
Bareword "we" not allowed while "strict subs" in use at (eval 17546) line 1
Dollarzeichen vor dem we
Ich habe jetzt folgenden Code genutzt
define willi at *17:30:00 {wakeUp (5,"WZ_TV") if( $we )}
dann passiert garnichts mehr im Log ist auch nix zu finden:(
Heute ist ja auch kein we ;-)
!$we
( "!"Bedeutet "nicht", $we ist am Wochenende gesetzt)
Das klappt vielen Dank. :)
Hast du vielleicht einen Tipp für mich wo ich gut da Grundverständis zu diesen Befehlen lernen kann?
FHEM Einsteiger PDF. Im Forum Anfänger oben die angepinnten Beiträge
Okay dann werde ich dir mir mal zu Gemüte führen ;)