Hmm,
stimmt wohl dieser Fall wäre nicht abgedeckt.
Ist aber noch nicht aufgetreten (gefühlt und laut Log)...
Tagsüber (wo ich ja doch immer wieder mal was mit dem Handy mache) hatte bislang auch das "normale" lan-ping immer funktioniert...
...Probleme/Unstimmigkeiten hatte ich nur nachts.
Bin mir bzgl. DOIF nicht sicher (verwende es [bislang] noch nicht) aber soweit mir bekannt braucht ein DOIF ebenfalls einen "Auslöser".
Da aber ja kein Statuswechsel kommt, kommt auch (dank event-on-change-reading) kein Event, also wird auch das DOIF nicht erneut ausgeführt...
...gleiches Problem.
(habe nachgesehen müsste so sein: kein Ereignis kein DOIF)
D.h. du müsstest (wie ich auch) das event-on-change-reading beim lan-ping PRESENCE/Fritzbox PRESENCE wegnehmen!
Das setreading ist vermutlich unnötig bzw. fraglich, ob das macht wie es gedacht ist:
da vermutlich das Ergebnis des statusRequest des hping3 noch nicht da ist würde das Fritzbox PRESENCE vermutlich auf present gehen (durch setreading) bis zum nächsten Prüfen...
Erst danach (nun ist ja das hping3 PRESENCE auch absent) würden beide Status auf dem selben Wert sein: absent (Fritzbox erneute eigenprüfung und hping3 durch den statusRequest).
Ohne das setreading wären beide Status nach dem hping3 statusRequest automatisch auf dem gleichen Stand: Fritzbox PRESENCE war ja absent und das hping3 PRESENCE ist es nach dem statusRequest auch.
Also gleicht sich das eigentlich automatisch ab oder es ist was unstimmig, dann eben noch mal statusRequest bis es stimmt...
Statt setreading state sollte set auch genügen...
...aber ich denke es ist unnötig (siehe oben).
Aber danke für den Hinweis auf die Lücke.
Ich werde es allerdings so lösen (bleibe bei notify

):
event-on-change-reading wegnehmen beim lan-ping PRESENCE
dadurch wird ja jeder Status (auch bei nicht Wechsel) gemeldet
notify löst aus
allerdings will ich ja nicht jedesmal einen statusRequest (daher ja das event-on-change-reading und die 2 stufigkeit), daher werde ich auch auf unterschiedlichen Status prüfen und nur dann einen hping3 statusRequest auslösen, wenn sich die beiden unterscheiden (also so wie du mit DOIF

).
Gruß und danke, Joachim