Hallo,
ich bin Sky-Kunde und "darf" daher äußert häufig die vierstellige Jugendschutzpin eingeben. Nun dachte ich mir, es sei eine Kleinigkeit mir eine Funktion in FHEM zu programmieren die die PIN per set remoteControl des BRAVIA-Moduls eingibt und hinterher noch ein OK sendet.
Da der Sony-TV bei der Eingabe etwas träge wirkt hab ich mal zwischen den einzelnen Commandos ein sleep eingebaut.
Sieht dann so aus:
define notify_Sony_PIN notify Sony_PIN:on.* {\
fhem ("set Sony_TV remoteControl 4");;\
fhem ("sleep 2 quiet;;set Sony_TV remoteControl 1");;\
fhem ("sleep 2 quiet;;set Sony_TV remoteControl 3");;\
fhem ("sleep 2 quiet;;set Sony_TV remoteControl 2");;\
fhem ("sleep 2 quiet;;set Sony_TV remoteControl OK");;\
fhem ("set Sony_PIN off")}
Wenn ich allerdings ins Log schaue, dann sieht man, dass es die Pausen (außer zwischen den ersten beiden Eingaben) nicht gibt und entsprechend gehen Teile der Eingabe verloren:
2016.09.06 18:06:34 2: BRAVIA set Sony_TV remoteControl 4
2016.09.06 18:06:36 2: BRAVIA set Sony_TV remoteControl 1
2016.09.06 18:06:36 2: BRAVIA set Sony_TV remoteControl 3
2016.09.06 18:06:36 2: BRAVIA set Sony_TV remoteControl 2
2016.09.06 18:06:36 2: BRAVIA set Sony_TV remoteControl OK
Hat jemand eine Idee, woran das liegt?
Danke und viele Grüße
Klaus
die pausen sind nicht relativ zueinander sondern absolut zum zeitpunkt der ausführung.
also alles direkt hintereinander als ein kommando schreiben. der fhem aufruf ist in deinem fall überflüssig.
define notify_Sony_PIN notify Sony_PIN:on.* set Sony_TV remoteControl 4;; sleep 2;; set Sony_TV remoteControl 1;; sleep 2;; set Sony_TV remoteControl 3;; sleep 2;; set Sony_TV remoteControl 2");; sleep 2;;set Sony_TV remoteControl OK;; set Sony_PIN off
oder die pausen selber aufsteigend wählen 2,4,6,8
gruss
andre
ps: du solltest es im frontend im DEF bereich eingeben. dann musst du die ; nicht selber verdoppeln.
Ähm, Andre, Dir sind da glaub ich ein paar zu viele ") reingerutscht!
Gruß
Dan
sind doch schon längst weg
;D 8)
Danke an euch, funktioniert wunderbar. Wieder was dazugelernt :)
define notify_Sony_PIN notify Sony_PIN:on.* set Sony_TV channel 4132");; sleep 2;;set Sony_TV remoteControl OK;; set Sony_PIN off
So sollte es auch funktionieren, nicht an "channel" stören, die Ziffern werden einzeln gesendet. Dabei wird nach jeder Ziffer auf eine Reaktion des TV gewartet, also dynamisches Sleep ;)
Eventuell kannst du dadurch auch das Sleep vorm Ok sparen, musst du ausprobieren.