Grüezi,
Ich schalte mit folgender Definition:
[define FernsehAn WeekdayTimer harmonyWZ 17:58|{fhem("set harmonyWZ activity Fernsehen")}
den Fernseher ein.
Dies funktioniert (d.h. der Fernseher wird zur richtigen Zeit eingeschaltet) - jedoch meldet das Logfile
Zitat2017.02.06 17:39:00 1: [FernsehAn] problem calculating dynamic param: ........... {fhem("set harmonyWZ activity Fernsehen")}
.
Das Ziel ist, den Fernseher unter einer Bedingung einzuschalten, wegen dem Problem komme ich nicht weiter.
Kann mir jemand auf die Sprünge helfen?
Danke im Voraus!
Marcel
Hi,
kannst Du mal beschreiben, was Du machen willst? Mir wird das durch das define nicht so ganz klar.
Gruß,
Thorsten
Hi Thorsten,
Gerne.
An jedem Tag soll der Fernseher via Harmony kurz vor 18:00 eingeschaltet werden.
Als Timer-Programm habe ich den WeekdayTimer gewählt. Ist der am Besten geeignet für diesen Zweck?
Zum (normalen, d.h. ohne Timer) Einschalten lautet der Befehl:
Zitatset harmonyWZ activity Fernsehen
Die Definition von WeekdayTimer ist:
define <name> WeekdayTimer <device> [<language>] [weekdays] <profile> <command>|<condition>
Kann ich damit Deine Frage beantworten?
Danke im Voraus!
Marcel
P.S.:
Sollte ich die Frage eventuell eher im Forum http://forum.fhem.de Unterstuetzende Dienste (Maintainer WeekdayTimer) stellen?
Ach so, das mit der Harmony ist das Kommando, das den Fernseher einschalten soll.
Also dann so:
define FernsehAn WeekdayTimer harmonyWZ 17:58 set harmonyWZ activity Fernsehen
...nicht ausprobiert, aber das entspricht ein bisschen mehr dem Schema laut Commandref.
Gruß,
Thorsten
Hi Thorsten,
Danke für die Hilfe.
Das Schema laut Commandref verlangt zwingend <profile> und <profile> verlangt zwingend <time>|<parameter>.
Der <parameter> kann ein Text oder Perl-Code sein. In der Zwischenzeit habe ich herausgefunden wie "activity Fernsehen" als Text im Parameter eingegeben werden muss (" " ersetzt durch ":") (wieso wohl dasselbe als Perlcode richtig ausgeführt wurde, aber einen Fehler im Logfile generierte?). Somit kann ich jetzt diesen Befehl auch mit condition ausführen lassen:
harmonyWZ 13:29|activity:Fernsehen (ReadingsVal("harmonyWZ","currentActivity","Fernsehen") eq "PowerOff")
LG
Marcel
Perlcode als Parameter ist ein recht neues Feature, das leider schwer zu benutzten ist.
Wahrscheinlich werde ich es ausbauen und über eine verbesserte Version nachdenken.
Ich habe seit ein paar Tagen dieselbe Fehlermeldung, ich nutze den Weekdaytimer dafür, die Lautstärke der Sprachausgabe (ein Speaker direkt am RPi) morgens hoch- und abends runterzuregeln:
AR_Sprachausgabe 12345|06:30|{fhem("set AR_Sprachausgabe volume 30")} 12345|21:01|{fhem("set AR_Sprachausgabe volume 10")} 60|08:30|{fhem("set AR_Sprachausgabe volume 30")} 60|21:01|{fhem("set AR_Sprachausgabe volume 10")}
Dietmar, sollte ich das generell anders lösen und Perlcode im WDT vermeiden?
Danke!