FHEM Forum

FHEM => Automatisierung => Thema gestartet von: djfflow am 22 April 2020, 14:41:41

Titel: structure relative Status
Beitrag von: djfflow am 22 April 2020, 14:41:41
Hallo,

ich habe eine structure und clientstate_behavior relative und als clientstate_priority active inactive
Nun habe ich die Geräte die den Status active oder inactive annehmen.
Wenn ein Gerät active ist ist die structure auch active aber wenn alle als inactive sind, dann ist das structure undefined.
Was mache ich falsch? Liegt es daran, dass das Wort active in inactive enthalten ist?

MfG
Titel: Antw:structure relative Status
Beitrag von: rudolfkoenig am 22 April 2020, 17:16:34
Es liegt daran, dass ein Geraet auch dann als disabled betrachtet wird, wenn STATE oder state inactive ist.
Und solche Geraete werden im Struktur nicht beruecksichtigt.
Titel: Antw:structure relative Status
Beitrag von: djfflow am 22 April 2020, 20:13:05
Wie kann ich das dann umgehen? Muss ich am Gerät ein mapping vornehmen?
Titel: Antw:structure relative Status
Beitrag von: rudolfkoenig am 22 April 2020, 20:22:28
Vermutlich ja, mir faellt nichts Besseres ein.
Titel: Antw:structure relative Status
Beitrag von: djfflow am 23 April 2020, 07:25:04
Hab es mal ausprobiert. Sowohl über eventmap als auch struc_map bei beiden gleiches Ergebnis. Es geht nicht.
Titel: Antw:structure relative Status
Beitrag von: rudolfkoenig am 23 April 2020, 09:14:39
ZitatHab es mal ausprobiert. Sowohl über eventmap als auch struc_map bei beiden gleiches Ergebnis. Es geht nicht.
Tut mir leid fuer meine vorschnelle Antwort: weder state noch STATE darf inactive sein.
<struct>_map wirkt nur innerhalb der Struktur-Auswertungen, und eventMap wirkt nur auf die Events.

Wenn das Geraet selbst keine Moeglichkeit des Umbaus von disem Wert hat, dann kann man das mit jeweils einer readingsChange Instanz realisieren:
define rcX readingsChange memberX state inactive Inactive
attr rcX addStateEvent


Ich habe jetzt ein Struktur-Attribut considerDisabledMembers hinzugefuegt, damit duerfte readigsChange ueberfluessig sein.