FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Schlaefisch am 17 Mai 2014, 10:51:33

Titel: Befehl senden, ohne notify zu triggern
Beitrag von: Schlaefisch am 17 Mai 2014, 10:51:33
Hi,

Ich möchte mit einem 4 Tastenschalter 4-5 Lampen steuern, allerdings nicht einzeln, sondern nach Modi (Hell, indirekt, TV, aus). Bisher habe ich das komplett über fhem gemacht, es gab keine direkte Kopplung zwischen Sender und Empfänger. Allerdings führt das dazu, dass das Licht gar nicht geht, wenn der Server gerade mal steht, oder es schon mal 30 sec dauert, wenn er sich gerade "ausruht".

Deswegen möchte ich jetzt auch eine direkt Kopplung einrichten als Backup einrichten und den Rest dann per notify dazu schalten. Den 4 Tastenschalter habe ich jetzt schon auf 2 Paare umgestellt und ein paar davon direkt mit der Deckenlampe gekoppelt. Allerdings triggern sich meine beiden notifes immer gegenseitig. Ich konnte das jetzt etwas abschwächen, indem es nur noch eine direkt Kopplung gibt, so bleibt mir eine notify loop erspart, aber trotzdem führt ein triggert dire indirekt Beleuchtung (schalter unten) immer noch das notify für die deckenlampe, die dann alle lampen nochmal schaltet...

Ich denke was ich brauche ist eine Möglichkeit einen Befehl (analog zu "set Lampe_Decke on") zu senden,  ohne notify events für Lampe_Decke auszulösen. Leider konnte ich keinen entsprechenden Befehl doer Workaround finden, aber da gibt es doch bestimmt eine Möglichkeit,oder?

Hier der relevante Teil meiner config:


define Lampe_Decke FS20 0055 00
define Lampe_Seite FS20 0055 10
define Schalter_unten FS20 0055 01
define Lampe_TV FS20 0055 12
define Lampe_Bar FS20 0055 11
define Notifier_Lampe_Decke_schaltet_andere notify Lampe_Decke { if ( "$EVENT" eq "on") { fhem("set Lampe_Seite on;;set Lampe_Bar off;;set Lampe_TV off")} else { fhem("set Lampe_Seite on;;set Lampe_Bar on;;set Lampe_TV on") } }

define Schalter_unten_schaltet notify Schalter_unten { if ( "$EVENT" eq "on") { fhem("set Lampe_TV on;;set Lampe_Seite off;;set Lampe_Bar off;;set Lampe_Decke off")} else { fhem("set Lampe_TV off;;set Lampe_Seite off;;set Lampe_Bar off;;set Lampe_Decke off") } }


Titel: Antw:Befehl senden, ohne notify zu triggern
Beitrag von: tpm88 am 17 Mai 2014, 11:02:15
Du kannst für den set Befehl kurz den/die notify(s) deaktivieren. Ist nicht elegant - funktioniert aber.

Also von der Idee her:

attr <notify> disable 1 ; set <device> <ommand> ; deleteattr <notify> disable


Gruss
Tobias
Titel: Antw:Befehl senden, ohne notify zu triggern
Beitrag von: Schlaefisch am 17 Mai 2014, 11:44:00
Funktioniert tatsächlich, vielen Dank :)