Trotz eindeutigen Event triggert kein DOIF oder Notify

Begonnen von CoolTux, 25 Juni 2019, 13:47:11

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo,

Ich schreibe mittels readingsSingleUpdate($defs{$name},...,1) ein Reading in ein fremdes Device.
Leider triggert kein DOIF oder Notify auf genau den Event. Selbst eine etwas offenere RegEx welche nur den Anfang des Readings vom Event mit nimmt wird nicht getriggert.
Jetzt kommt es, eine FHEM2FHEM Verbindung mit einem Dummy auf der Gegenseite fängt das Event auf und schreibt das Reading in den Dummy. Darauf wiederum kann ich dann triggern.
Das Problem ist das ich nicht weiß wie ich da was debuggen kann. Ein Event kommt ja.

Jemand Vorschläge für mich.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Ich vermute, dass Du die Funktion aus eine notifyFn fuer das gleiche Device aufrufst.
Ausweg: mit setInternalTimer den Aufruf verzoegert absetzen.

Wenn meine Theorie nicht stimmt, dann brauche ich ausreichend Details zum Nachstellen.

CoolTux

Zitat von: rudolfkoenig am 25 Juni 2019, 13:52:12
Ich vermute, dass Du die Funktion aus eine notifyFn fuer das gleiche Device aufrufst.
Ausweg: mit setInternalTimer den Aufruf verzoegert absetzen.

Du meinst die Funktion welche das readingsSingleUpdate aufruft oder die Funktion readingsSingleUpdate selbst?
Beides wird jedenfalls nicht innerhalb einer notifyFn aufgerufen.

Zitat von: rudolfkoenig am 25 Juni 2019, 13:52:12
Wenn meine Theorie nicht stimmt, dann brauche ich ausreichend Details zum Nachstellen.

Das habe ich befürchtet. Ich versuche mein bestes. Werde noch mal mit global 5 mit schneiden.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Hallo Rudi,

Ich habe nun das schreiben des Readings mittels InternalTimer um 0.1s verzögert und nun geht es.
Kannst Du Dir erklären warum das so ist? Würde das gerne verstehen.

Wie gesagt das ist einfach eine Funktion welche ein readingsSingleUpdate macht.

Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

#4
Ich blebe bei meiner Theorie mit der rekursiven Event, bis Du es mit einem verbose 5 Log widerlegst.

DoTrigger() ruft nur dann die notifyFn's auf, wenn $hash->{INTRIGGER} nicht gesetzt ist.
Die weiteren Moeglichkeiten (CHANGED ist leer, do_not_notify Attribut ist gesetzt) treffen wohl hier nicht zu.

CoolTux

Alles klar. Danke Dir für die Erklärung. Muss ich mir die Tage einmal in Ruhe anschauen.


LG
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net