Statusrequest bei Structure geht nicht?

Begonnen von Invers, 12 Juni 2017, 19:10:35

Vorheriges Thema - Nächstes Thema

Invers

Wenn ich einen Statusrequest auslöse, dann bleibt die Struktur bei Statusrequest einfach stehen.
Es scheint keine Abfrage bzw. Aktualisierung mehr zu erfolgen. Mein zugehöriges Icon wird dann natürlich auch nicht mehr angezeigt. Bei DeviceOverview wird auch nur noch das Wort statusRequest angezeigt.
Ich Wahrheit erfolgt aber eine Prüfung, das habe ich getestet, indem ich mein Handy ausgeschaltet habe. Dann wird wieder aktualisiert und ein Icon angezeigt.
Müsste nicht statusRequest von selber wieder verschwinden nach Aktualisierung der Readings? Irgendwie erkenne ich hier keine logische Funktionalität.

Hier noch die Def.
defmod BinIchDa structure s_structure s7 s5
attr BinIchDa clientstate_behavior relative
attr BinIchDa clientstate_priority present absent
attr BinIchDa devStateIcon .*present:control_building_filled@lime .*absent:control_building_filled@red
attr BinIchDa event-on-change-reading state
attr BinIchDa group Anwesend
attr BinIchDa room Anwesenheit


Ist das so normal?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig


Invers

Sollte da nicht der Status und die Reaadings aktualisiert werden? Hier passiert aber gar nichts. state statusRequest bleibt so. Sollte da nicht auch das DevStateIcon wieder aktualisiert werden? Die Abfrage scheint ja zu erfolgen. Es scheint also nur die Zusammenarbeit von Statusrequest und DevStateIcon nicht zu klappen. Dadurch sieht es merkwürdig aus. Ist mir bisher noch nirgends aufgefallen, daher halt meine Frage. Ist aber auch nicht all zu wichtig, ich muss ja da nicht hinklicken.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

ZitatSollte da nicht der Status und die Reaadings aktualisiert werden?
Grob ja, im Detail weiss ich es aber nicht mehr. Wenn ich es anschauen soll, dann brauche ich noch zusaetzlich die Events, und was du genau erwartest.

Invers

#4
Also:
Bild Anwesenheit1 zeigt das normale Aussehen der Gruppe.
BinIchDa ist die Struktur, s5 und s7 sind Handys und "anwesend" ist ein Dummy.
Der Dummy soll von der Struktur auf absent geschaltet werden, wenn beide Handys weg sind und auf present wenn eines der beiden oder beide Handys da ist/sind. Die Ermittlung erfolgt per BlueTooth.

Das klappte auch seit Jahren sehr zuverlässig. Jetzt jedoch leider nicht mehr. Manchmal wird die Struktur offenbar nicht geschaltet. Auch wenn beide Handys abwesend sind, ändert sich die Struktur nicht. Warum weiss ich noch nicht, daher hatte ich versucht mit Statusrequest zu testen, ob die Struktur überhaupt noch zuverlässig funktioniert. Bin halt auf der Suche nach dem Fehler.

Bild Anwesenheit2 zeigt den Zustand nach dem Aufruf Statusrequest. Eigentlich sollte ja nun kontrolliert werden, welchen Zustand die Struktur hat und entsprechend das Haus in rot oder grün angezeigt werden. Wird aber nicht. Es bleibt so, wie auf dem Bild dargestellt, bis sich der Status ändert, weil ein Handy wiedergekommen oder weggegangen ist. Nach einer solchen Änderung sieht es dann wieder aus, wie in Bild Anwesenheit1.

Hier die Def passend zu Bild Anwesenheit1:

defmod BinIchDa structure s_structure s7 s5
attr BinIchDa clientstate_behavior relative
attr BinIchDa clientstate_priority present absent
attr BinIchDa devStateIcon .*present:control_building_filled@lime .*absent:control_building_filled@red
attr BinIchDa event-on-change-reading state
attr BinIchDa group Anwesend
attr BinIchDa room Anwesenheit

setstate BinIchDa present
setstate BinIchDa 2017-06-13 11:37:01 LastDevice s7
setstate BinIchDa 2017-06-13 11:37:01 LastDevice_Abs s7
setstate BinIchDa 2017-06-13 11:37:01 state present



Und entsprechend Anwesenheit2:

setstate BinIchDa statusRequest
setstate BinIchDa 2017-06-13 11:37:01 LastDevice s7
setstate BinIchDa 2017-06-13 11:37:01 LastDevice_Abs s7
setstate BinIchDa 2017-06-13 11:45:56 state statusRequest



Die Def eines Handys sieht so aus:
defmod s5 PRESENCE local-bluetooth 68:48:98:92:01:A5 60 60
attr s5 userattr s_structure s_structure_map structexclude
attr s5 absenceThreshold 2
attr s5 comment .*on:FS20.on@gold .*:FS20.off
attr s5 devStateIcon .*present:it_smartphone_5@gold .*:it_smartphone_5
attr s5 event-on-change-reading state
attr s5 group Anwesend
attr s5 room Anwesenheit
attr s5 s_structure BinIchDa

setstate s5 absent
setstate s5 2017-06-13 11:50:02 .absenceThresholdCounter 1
setstate s5 2017-06-13 11:50:02 .presenceThresholdCounter 0
setstate s5 2017-06-13 09:51:15 device_name s5
setstate s5 2017-06-13 11:50:02 presence absent
setstate s5 2017-06-13 11:50:02 state absent



Und das ist mein Dummy (ist sicher nicht nötig, aber zur Vollständigkeit):

defmod s5 PRESENCE local-bluetooth 68:48:98:92:01:A5 60 60
attr s5 userattr s_structure s_structure_map structexclude
attr s5 absenceThreshold 2
attr s5 comment .*on:FS20.on@gold .*:FS20.off
attr s5 devStateIcon .*present:it_smartphone_5@gold .*:it_smartphone_5
attr s5 event-on-change-reading state
attr s5 group Anwesend
attr s5 room Anwesenheit
attr s5 s_structure BinIchDa

setstate s5 absent
setstate s5 2017-06-13 11:50:02 .absenceThresholdCounter 1
setstate s5 2017-06-13 11:50:02 .presenceThresholdCounter 0
setstate s5 2017-06-13 09:51:15 device_name s5
setstate s5 2017-06-13 11:50:02 presence absent
setstate s5 2017-06-13 11:50:02 state absent



Danke, dass du dir die Mühe machst.



Sorry, Bilder vergessen. Tja, das Alter.

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

Nach laengeres debuggen: die Ursache ist das Feature, dass structure Benachrichtigungen ignoriert, falls sie von dem eigenen set ausgeloest wurden. Muss wohl ein Problem geloest haben, da es erst vor vier Jahren, als eine einzeilige Aenderung reinkam, weiss aber nicht mehr, welches.

In deinem Fall ist das kontraproduktiv, habe deswegen ein evaluateSetResult Attribut eingefuegt, was gesetzt werden muss, damit dein Fall wie erwartet funktioniert. Habs nur mit dummies getestet, kann also sein, dass mit PRESENCE noch nicht richtig zusammenspielt, bitte testen.

Invers

Danke sehr.
Ich vermute mal, morgen im Update. Werde ich dann probieren. Ich melde mich mit dem Ergebnis. Schönes WE.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

Nach dem Setzen des Attributes funktioniert alles, wie erwartet.
Vielen Dank für die Mühe und die schnelle Hilfe.

Schönes Wochenende.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2