(gelöst) Ungereimtheit in der Structure mit den Statuswerten

Begonnen von 2ktrouble, 14 August 2015, 12:22:22

Vorheriges Thema - Nächstes Thema

2ktrouble

Moin zusammen,
ich kämpfte seit mehreren Tagen mit der bzw einer Structure und deren Statuswerten und möchte euch das nicht vorenthalten.
Vielleicht steht ja noch mal einer vor dem Problem.

Habe mir drei Dummys mit Statuswerten angelegt und diese in eine Structure verpackt. Die Structure habe ich auf clientstate_behavior relative gesetzt und die clientstate_priority "present absent" auf meine Anforderung festgelegt. Siehe unten:
Zitat
define IngoG dummy
attr IngoG room Home
attr IngoG setList present absent
attr IngoG webCmd present:absent

define JolantaG dummy
attr JolantaG room Home
attr JolantaG setList present absent
attr JolantaG webCmd present:absent

define LennardG dummy
attr LennardG room Home
attr LennardG setList present absent
attr LennardG webCmd present:absent

define Wir_sind structure IngoG JolantaG LennardG
attr Wir_sind clientstate_behavior relative
attr Wir_sind clientstate_priority present absent
attr Wir_sind room Home

So wie ich es aus der CommandReferenz verstanden habe, sollte der Status der Structure sich in Abhängigkeit der zugehörigen Devs ändern.
Ich möchte, das wenn ein Dev in den Status "present" geht, die Structure eben den Statuswert auch annimmt. Und erst wenn das letzte Device auf absent geht, die Stucture ebenfalls auf absent geht.
So ist mein Wunsch und ich meine es richtig umgesetzt zu haben.

Hier die Ausgangssituation:
IngoG, JolantaG,LennardG und Structure stehen auf undefiniert.

Was aber passiert wen ich die Statuswerte der Devices verändere?

Ich setze alle Devices auf absent, Structure Wir_sind geht auf absent (schön)

setze IngoG auf present, Structure bleibt auf absent  (Hmm?)
setze IngoG auf absent, Structure bleibt auf absent   (Ok)

setze JolantaG auf present, Structure geht auf present (Ok)
setze JolantaG auf absent Structure geht auf absent   (Ok, aber keine Änderung)

setze LennardG auf present, Structure geht auf present (Ok)
setze LennardG auf absent Structure geht auf absent   (Ok)

Für mich sieht es so aus, das das erste Device keinen Einfluß auf den Status hat.

Aber das muss erst bewiesen werden, also noch ein identisches Device angelegt mit dem Namen IngoGr.
Alle Devs schalten die Structure um bloß das erste Device nicht.
So, nach meiner Vermutung müsste, wenn ich nun das Dev IngoG lösche, ein anders Device den Effekt bekommen.
Also IngoG über die WEBGUI gelöscht.

Test wiederholt, alles in Ordnung, es verhält sich alles so, wie ich es wünsche.
Name des Devices auf den gewünschten Namen geändert, verhält sich immer noch korrekt.
Shutdown restart durchgeführt, Test wiederholt, Verhalten korrekt.

Abschließender Test, in der fhem.cfg den Part gelöscht und ein Shutdown restart durchgeführt.
Nun in der fhem.cfg den Part wieder eingefügt und gespeichert, Fehlverhalten ist wieder da. Auf dem ersten Device keine Statusänderung in der Struktur.
Das ganze noch einmal entfernt und über das Eingabefeld der WEBGUI eingerichtet. Fehlverhalten ebenfalls wieder da, wieder keine Änderung über erstes Device möglich.

Da scheint sich ein kleiner Bug zu verstecken, die Spezialisten können dies ja mal überprüfen.

Die Funktion ist ja nun durch den Workaround bei mir gegeben.

Gruß

Ingo

justme1968

deine strukturen definition ist falsch. zwischen structure und den beteiligten devices kommt noch mal ein label.

bei dir ist IngoG das label und dann kommen noch mal zwei devices. deshalb schaut es so aus also ob das erste device ignoriert wird.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

2ktrouble

Wieder mal ein Fall von 100 mal gelesen und nicht gelesen. :-[

Danke, für den Stupser mit dem Laternenpfahl  ::)

Noch mal gelesen und nun auch structur_type aufgenommen.

Gruß Ingo

Hollo

Für die Querleser vielleicht noch der Lösungshinweis als Code:

define Wir_sind structure FamilieG IngoG JolantaG LennardG
attr Wir_sind clientstate_behavior relative
attr Wir_sind clientstate_priority present absent
attr Wir_sind room Home
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"