structure übernimmt nicht den status der Elemente

Begonnen von klfhem, 19 Oktober 2020, 14:31:29

Vorheriges Thema - Nächstes Thema

klfhem

Hallo, ich habe mit dem unificlient mehrere presence-Devices angelegt.
Das funktioniert gut.
Die structure, die beides zusammenfasst nimmt im Status nicht absent oder present an, sondern "? ? ?", bleibt also undefiniert:

define 1da PRESENCE event handy1:fhem_state:.disconnected handy1:fhem_state:.connected
define 2da PRESENCE event handy2:fhem_state:.disconnected handy2:fhem_state:.connected
....
define anwesend structure dummy 1da 2da
....
Was fehlt hier noch?

TomLee

Hallo,

ZitatWas fehlt hier noch?

Gab es vlt. seit der Definition der structure noch keinen Statuswechel eines der beiden Presence-Definitionen ?

Bin der Meinung erst dann hat die structure ein state-Reading, dann auch keine drei ? mehr in der DeviceOverview.

Gruß

Thomas

betateilchen

Zitat von: klfhem am 19 Oktober 2020, 14:31:29
define anwesend structure dummy 1da 2da

Was fehlt hier noch?

attr anwesend clientstate_behavior absolute
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TomLee

Hab ich für mich einfach mal getestet, auch das setzen des Attribut clientstate_behavior auf absolute ändert bei mir nichts an den drei ?, solange nicht eines der beiden Presence-Definitionen den Status wechselt.

klfhem

Vielen Dank für eure schnelle Reaktion.

Ja ich hatte bereits Statusänderungen für die einzelnen Elemente der structure, die ist dann trotzdem auf ? ? ? geblieben.

Das "absolute" hat bei mir geholfen.
Jetzt ist der State absent.

Gibts neben dem Wiki eine trottelfeste und verständliche Erläuterung der Parameter der "structure"?
Das wäre hilfreich. Leider kann ich mich nicht immer in die Gedanken der Programmierer hineinversetzen.

betateilchen

Zitat von: klfhem am 19 Oktober 2020, 16:20:57
Gibts neben dem Wiki eine trottelfeste und verständliche Erläuterung der Parameter der "structure"?

ja, die commandref zum Modul.

Zitat von: TomLee am 19 Oktober 2020, 16:15:09
auch das setzen des Attribut clientstate_behavior auf absolute ändert bei mir nichts an den drei ?, solange nicht eines der beiden Presence-Definitionen den Status wechselt.

Logisch. Hat irgendwo irgendwer etwas anderes behauptet?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TomLee


TomLee

Aber eine Verständnisfrage hätte ich dazu nun.

Meine zwei Test-Presence-Devices sehen so aus (wie sie konfiguriert sind ein anderes Thema):


Internals:
   DEF        function {checkFritzMACpresent("Fritzbox1","10:41:7F:F2:C2:5A")} 60 60
   FUUID      5f4f9560-f33f-78f5-847f-84da634b4f8500d2
   INTERVAL_NORMAL 60
   INTERVAL_PRESENT 60
   MODE       function
   NAME       IphoneTLFB
   NOTIFYDEV  global
   NR         342
   NTFY_ORDER 50-IphoneTLFB
   STATE      present
   TYPE       PRESENCE
   READINGS:
     2020-10-19 16:36:42   model           function
     2020-10-19 13:38:16   presence        present
     2020-10-19 13:38:16   state           present
   helper:
     CURRENT_STATE present
     call       {checkFritzMACpresent("Fritzbox1","11:11:1F:11:11:1A")}
Attributes:
   devStateIcon {my $var = ReadingsVal($name,"state","false") eq "present"?"10px-kreis-gruen":"10px-kreis-rot";;
my $var1= ReadingsTimestamp($name,"state",0);;
my $seconds = time_str2num($var1);;
my $result = FmtDateTime($seconds);;
"<div>".FW_makeImage($var)." ".$result."</div>"}
   event-on-change-reading .*
   room       Fritzbox
   timestamp-on-change-reading presence,state
   userattr   dummy dummy_map structexclude


Internals:
   DEF        event Unifi:iPhone-TL:.disconnected Unifi:iPhone-TL:.connected
   EVENT_ABSENT Unifi:iPhone-TL:.disconnected
   EVENT_PRESENT Unifi:iPhone-TL:.connected
   FUUID      5d87dec7-f33f-78f5-8b3a-a74d8f0370cc870e
   MODE       event
   NAME       IphoneTL
   NOTIFYDEV  global,Unifi
   NR         166
   NTFY_ORDER 50-IphoneTL
   STATE      present
   TYPE       PRESENCE
   READINGS:
     2020-10-04 15:04:00   model           event
     2020-10-19 16:04:01   presence        present
     2020-10-19 16:04:01   state           present
   helper:
     CURRENT_STATE present
Attributes:
   devStateIcon {my $var = ReadingsVal($name,"state","false") eq "present"?"10px-kreis-gruen":"10px-kreis-rot";;
my $var1= ReadingsTimestamp($name,"state",0);;
my $seconds = time_str2num($var1);;
my $result = FmtDateTime($seconds);;
"<div>".FW_makeImage($var)." ".$result."</div>"}
   event-on-change-reading .*
   room       Fritzbox
   timestamp-on-change-reading presence,state
   userattr   dummy dummy_map structexclude


Was ist jetzt der Grund das bei mir ohne dem Attribut (und Statuswechsel eines der Devices) die jeweiligen richtigen Status angezeigt werden und keine drei ? wie beim TE ?


Hier noch mit ?:

Internals:
   ATTR       dummy
   CFGFN     
   CHANGEDCNT 0
   DEF        dummy IphoneTL IphoneTLFB
   FUUID      5f8d9d6c-f33f-78f5-d85f-313277260716c916
   NAME       anwesend
   NOTIFYDEV  global,IphoneTL,IphoneTLFB
   NR         491632
   NTFY_ORDER 50-anwesend
   STATE      ???
   TYPE       structure
Attributes:



klfhem

Probiere das bitte mal ohne event-on-state-reading aus.

klfhem

Tippfehler .... event-on-change-reading natürlich