Hallo zusammen ich habe zb. ein notify für meine Musik gemacht das so aussieht
Bad.on {
fhem("set Bad on")};{
fhem("define Time1 at +00:00:20 set Bad_Player favorites YOU_FM_-_YOUNG_FRESH_MUSIC")};{
fhem("define Time2 at +00:00:22 set Bad_Player volume 10")};{
fhem("define Time3 at +00:00:24 set Bad_Player play")};{
}
jetzt wollte ich das gleiche mit meine tv machen der an einer ip Steckdose von homematic angeschlossen ist mit dem Receiver
Ziel ist es das wenn ich auf off drücke erst der Receiver runterfährt und dann der TV ausgeht
define Wohnzimmer_steck_of notify Steckdose_Wohnzimmer.off {\
fhem("set Wohnzimmer.TV shutdown ")};;{\
fhem("define Time1 at +00:00:20 set Steckdose_Wohnzimmer.off ")};{
\
}
sobald ich aber auf off gehe geht sofort die Steckdose aus was mache ich evtl. falsch das mit dem Radio funktioniert einwandfrei.
Kann mir einer evtl. weiter helfen danke im Voraus
Warum ist da ein Punkt vor dem off?
Ehrlichgesagt weis ich es nicht so genau habe es mir so mal aus dem Forum so in der Art mal kopiert und etwas umgeschrieben und es hatt funktioniert zu mindestens bei der musik
Ich denke zap meint Zeile 3 und du Zeile 1.
Genau. Das funktioniert jedenfalls nicht:
set Steckdose_Wohnzimmer.off
Das vermutlich schon eher:
set Steckdose_Wohnzimmer off
Sorry war ein schreib fehler so steht es bei mir jetzt dirn aber funktionieren tuht es nicht
Steckdose_Wohnzimmer.off {
fhem("set Wohnzimmer.TV shutdown")};{
fhem("define Time1 00:00:20 set Wohnzimmer_Steckdose off")};{
}
Was heißt denn funktioniert nicht. Ist Dein FHEM denn an?
Du siehst man kann alles und nichts in Deine Aussage reininterpretieren. Trigger denn das Notify? Und warum arbeitest du nicht mit dem FHEM sleep?
Und was soll dieses };{ zwischen den beiden fhem()
Versuch es mal so.
Steckdose_Wohnzimmer.off {
fhem("set Wohnzimmer.TV shutdown; sleep 20; set Wohnzimmer_Steckdose off");
}
den "ausflug" nach perl kann man dann auch noch wegrationalisieren.
ok hab ich mal probiert leider ging das auch nicht ich habe folgenden aufbau
wenn ich die steckdose über fhem on mache geht sie an und wenn ich auf off gehe geht sie direkt aus. Ich will aber wie gesagt erst den Receifer herunderfahren (shutdown) und dann soll in 20sec die steckdose ausgehen mit dem befehl von der Steckdose off (set Wohnzimmer_Steckdose off)
define ccu2 HMCCU 192.168.178.200
attr ccu2 ccuaggregate name:battery,filter:room=Homematic,read:(LOWBAT|LOW_BAT),if:any=yes,else:no,prefix=battery_,coll:alias
attr ccu2 ccuflags extrpc
attr ccu2 event-on-change-reading .*
attr ccu2 room Homekit
attr ccu2 rpcinterfaces BidCos-RF,HmIP-RF
attr ccu2 rpcinterval 2
attr ccu2 rpcport 2001,2010
attr ccu2 rpcqueue /tmp/ccuqueue
attr ccu2 rpcserver on
attr ccu2 stateFormat rpcstate/state
define Steckdose_Wohnzimmer HMCCUDEV 000217099AD121
attr Steckdose_Wohnzimmer userattr Bad Bad_map flur_dimm flur_dimm_map room_map structexclude
attr Steckdose_Wohnzimmer Bad PowerAll
attr Steckdose_Wohnzimmer IODev ccu2
attr Steckdose_Wohnzimmer ccureadingfilter (STATE)
attr Steckdose_Wohnzimmer controldatapoint 3.STATE
attr Steckdose_Wohnzimmer event-on-change-reading .*
attr Steckdose_Wohnzimmer flur_dimm PowerAll
attr Steckdose_Wohnzimmer room Homekit
attr Steckdose_Wohnzimmer statechannel 3
attr Steckdose_Wohnzimmer statedatapoint 3.STATE
attr Steckdose_Wohnzimmer statevals on:true,off:false
attr Steckdose_Wohnzimmer substitute STATE!(0|false):off,(1|true):on
dann den Receiver define Wohnzimmer.TV ENIGMA2 192.168.178.27
attr Wohnzimmer.TV bouquet-radio 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet
attr Wohnzimmer.TV bouquet-tv 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
attr Wohnzimmer.TV devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
attr Wohnzimmer.TV event-on-change-reading .*
attr Wohnzimmer.TV http-method GET
attr Wohnzimmer.TV icon dreambox
attr Wohnzimmer.TV model SOLO2
attr Wohnzimmer.TV room TV
attr Wohnzimmer.TV webCmd channel:input:volume
und das notify dazu define Wohnzimmer_steckdose_off notify Steckdose_Wohnzimmer.off {\
fhem("set Wohnzimmer.TV shutdown;; sleep 20;; set Wohnzimmer_Steckdose off");;\
}
attr Wohnzimmer_steckdose_off webCmd state
Und wenn du den Perl Ausflug einfach weglässt?
{\
fhem("set Wohnzimmer.TV shutdown;; sleep 20;; set Wohnzimmer_Steckdose off");;\
}
->set Wohnzimmer.TV shutdown;; sleep 20;; set Wohnzimmer_Steckdose off
Wie Frank schon sagte ...
Edit: Wobei auch Dein Code im direkten Dialog perfekt funktioniert.
Edit2: Ich sehe es gerade, Du machst die gleiche Steckdose aus um sie 20 sec verzögert nochmal aus zu machen. Das geht natürlich nicht :o
Triggere doch einfach auf den receiver
define Wohnzimmer_steckdose_off notify Wohnzimmer.TV.shutdown sleep 20;; set Wohnzimmer_Steckdose off
Gruß Otto
1. du gehst auf off
2. durch das off geht die steckdose aus
3. das notify bekommt das mit
4. das notify schaltet den receiver aus
5. 20 Sekunden später schaltet das notify die Steckdose aus
Dummerweise ist in Schritt 2 die Steckdose schon aus, so dass 3-5 wirkungslos sind.
Schalte besser einen dummy für off.
So was dachte ich mir schon aber wie bekomme ich dann die redings in den Dummy damit wenn ich zb die Steckdose per Hand anmachen ich auch die in Tabu sehe das sie an ist
kann mir einer vieleicht ein beispiel zeigen bis jetzt haben alle Dummys immer mir falsche werte angezeigt wenn ich etwas per Hand zugeschaltet habe an oder aus
wenn ich nach diesem beispiel gehe funktioniert das ganze aber mein tab ui gibt mir falsche meldungen bekomme keine richtiges reading
define Switchgroup dummy
attr Switchgroup setList state:On,Off
attr Switchgroup webCmd state
define SwitchGr1_on notify Switchgroup.On {\
fhem("set Steckdose_Wohnzimmer on")};;{\
fhem("define Time1 at +00:00:05 set Switch2 on")};;{\
fhem("define Time2 at +00:00:10 set Switch3 on")};;{\
}
define SwitchGr1_off notify Switchgroup.Off {\
fhem("set Wohnzimmer.TV shutdown")};;{\
fhem("define Time3 at +00:00:15 set Steckdose_Wohnzimmer off")};;{\
fhem("define Time4 at +00:00:20 set Str off")};;{\
}
Meine Variante aus #9 gefällt nicht? :-X
ZitatTriggere doch einfach auf den receiver
Steh Gerade wenn auf den Schlauch kannst du mir ein beispiel mal geben damit ich das richtig nachvollziehen kann
Hochscrollen kaputt? :-[
Zitat von: Otto123 am 30 August 2018, 20:02:38
Triggere doch einfach auf den receiver
define Wohnzimmer_steckdose_off notify Wohnzimmer.TV.shutdown sleep 20;; set Wohnzimmer_Steckdose off
Gruß Otto
Also der ganze Hintergrund soll deswegen so sein damit ich im tab ui einen butten drücke der den TV an macht und wenn ich ihn wieder drück den herunter fährt und dann der TV aus geht wie würdet ihr das machen
Ok das hat jetzt schon mal funktioniert aber wie mache ich dann alles über einen butten brauch ich doch ein dummy ::)