Strukturproblem? Notify wird doppelt ausgeloest und $EVENT nur einmal resolved..

Begonnen von Darkman, 08 Januar 2016, 14:31:52

Vorheriges Thema - Nächstes Thema

Darkman

Moin,

Ich hab folgendes Setup:
- Funksteckdose fuer Eventbeleuchtung
- Dummyschalter zum Schalten der Beleuchtung
- 2 Notify zum Abgleich des Status

Damit meine ganzen Schalter und co halbwegs uebersichtlich sortiert bleiben, habe ich sie nach einem bestimmten Schema benannt. Das ist natuerlich fuer das menschliche Hirn eher schwer zu merken, daher hab ich mir "sprechende" Dummys angelegt. Diese Dummys funktionieren mit einem Notify auch super. Klick aufn Dummy, Funksteckdose wird geschaltet, alle States auf "on" und fein ists.
Dann ist mir aber aufgefallen, wenn man die Funksteckdose schaltet, statt dem Dummy, dann bekommt dieser natuerlich nix davon mit. Ist also "out of sync". Das ist eigentlich nur ein Anzeigeproblem, aber mich hats gestoert. Also ein 2. Notify dazu gebaut, das beim Klick auf die Funksteckdose den setstate vom Dummy anpasst. Damit hat das hin + her funktioniert.

Jetzt hatte ich zum testen noch eine Pushnotification ins Notify gehauen, eigentlich ums fuer was anderes zu testen. Das funktionierte dann aber sehr merkwuerdig. Das notify sah am Ende so aus:

define not.DummySchalter.Funksteckdose notify DummySchalter set Funksteckdose $EVENT;; set PushMSG message DummySchalter auf $EVENT gesetzt


das selbe natuerlich nochmal andersrum fuers Notify von Funksteckdose zu DummySchalter. Wenn ich jetzt irgendwas davon geklickt habe, wurden allerdings 2 PushMSGs ausgeloest. Das alleine ist schon unguenstig, aber was noch viel verwirrender war: eine Nachricht kam mit dem ausgewerteten $EVENT und in der 2. stand dann $EVENT drin. Irgendwie also wirds doppelt ausgeloest, aber auch nicht richtig.

Ist das Konzept von mir so murksig oder hab ich irgendwas vergessen / uebersehen um diese Doppler wieder los zu werden?

Meine wilde Vermutung ist ja, das der setstate irgendwie das Notify nochmal triggert, obwohl er das eigentlich nicht sollte...?

Danke & Gruss,
Sven