Notify in Abhängigkeit von Residents schalten

Begonnen von Bluefire69, 16 November 2015, 14:30:43

Vorheriges Thema - Nächstes Thema

Bluefire69

Moin

Folgendes angelegt


define Home_Presence_D dummy
attr Home_Presence_D event-on-change-reading STATE


Der Dummy wird in Abhängigkeit von Residents on oder off geschaltet... Klappt wunderbar

Jetzt möchte Ich wenn sich der Status entsprechend ändert eine LightScene aktivieren, dazu habe Ich einen notify angelegt


define n_Home_Status notify Home_Presence_D { my $d1 = Value("Home_Presence_D");; if ($d1 eq "on") {fhem("set HomeStatus scene home")} else {fhem("set HomeStatus scene away")} }


Der notify wird aber nicht abgearbeitet

Ziel soll sein, wenn sich der Residents Status ändert, soll einmalig die LightScene aktiviert werden und nicht jede Minute ... Genereller Denkfehler drin ?

Danke



marvin78

Das Reading STATE wird es nicht geben und deshalb auch kein Event. Ich nehme an, dass du auf state reagieren und dann auch das Attribut event-on-change-reading auf state setzen musst.

Aber warum der Umweg über den Dummy, wenn du auch direkt auf das Residents Device per notify reagiern könntest?

Wichtig: Bitte verwende Code-Tags. Deinen Code kann man so nicht gut lesen (siehe angepinnte Beiträge)!

Bluefire69

Moin

Ups... Sorry geändert  ;)

Wenn ich direkt auf das Residents Device reagiere wird doch jede Minute die Scene gesetzt. Ich möchte  nur bei Statusänderung vom Residents Device die entsprechende scene aktivieren.

Der Dummy wird durch ein notify gesteuert, dass Residents überwacht ... Wie gesagt der Dummy schaltet on oder off wie er soll

define n_Home_Status notify ZuHause { if ( Value ("ZuHause") eq "home") {fhem ("set Home_Presence_D on")} else {fhem ("set Home_Presence_D off")} }

marvin78

Du kannst in Residents oder PRESENCE auch das Attribut event-on-change-reading setzen. Ich verstehe den Umweg also noch immer nicht.

Was dein Problem ist, falls du, warum auch immer, bei der Variante bleibst, habe ich oben beschrieben.

Bluefire69

Ah im Residents kann man den auch setzen, das vereinfacht die Sache ... Lesen und verstehen ;)

Ich danke dir