Hallo,
ich habe eigentlich die generelle frage ob FHem eine "loop detection" bei notifys hat
was passiert also bei sowas hier:
(vereinfacht)
define schalter1
define schalter2
define struct schalter1 schalter2
define not notify schalter1:on set struct on
bei einem set schalter1 on wird der notify getriggert der wiederum schalter1 auf on setzt ... (loop)
bekommt das fhem mit und unterbricht oder muss ich mich selbst drum kuemmern mit einem update-on-change-reading auf schalter1 ??
Hoffe jemand kann mir das beantworten .
Gruss aus Friedrichsfeld
Da häng ich mich gleich dran, da ich eine ähnliche Fragestellung habe.
Ich habe ein Notify A definiert das ein Skript B aufruft.
Skript B seinerseits führt ReadingsSingleUpdate aus,
welches zu weiteren Events führen sollte.
Werden die aus dem ReadingsUpdate resultierenden Events gefeuert ?
Meine Erfahrung bisher: Nein, diese werden nicht gefeuert, jedoch werden die Werte der Readings aktualisiert.
Damit wäre die zuvor erwähnte "loop detection" implementiert.
Wenn dies so ist, stellt sich die Frage, wie man es erreicht, dass die Reading-Updates von Skript B
dennoch zu einem notify führen.
John
Es gibt in der Benachrichtigungs-Mechanismus (also nicht nur notify, sondern auch watchdog, FileLog, etc) eine Schleifenerkennung: in der Benachrichtigung fuer Geraet A wird keine zweite fuer das gleiche Geraet ausgeloest.
Hi Rudolf
sehe ich also richtig wenn ich 2 geräte in eine Structure packe damit immer beide geschaltet werden (so wie oben) wäre ein notify wie dieser
define not (schalter1|schalter2):on set struct on
ok
In dem fall also egal welcher der beiden auf on geht über die struktur wird jeweils der andere auch on geschaltet aber der notify nicht erneut ausgelöst ?
Korrekt, ohne Gewaehr.