Struct übernimmt keinen State

Begonnen von Dirk_H, 20 Januar 2015, 08:46:26

Vorheriges Thema - Nächstes Thema

Dirk_H

Hallo,

ich versuche gerade mehrere Mysensors Dimmer Module mit einer Struct gleichzeitig zu dimmen. Das funktioniert auch soweit, allerdings möchte ich natürlich das bei der Struct auch ein state angezeigt wird.

Mitglieder des Structs sind die Devices MYSENSOR_3 und MYSENSOR_4. Beide bekommen mit
stateFormat{sprintf("%d %%", ReadingsVal("MYSENSOR_3","dimmer",0))}
den Dimmwert als state mit einem "%" Zeichen im STATE angezeigt (funktioniert auch).

Da beide STates der Geräte gleich sind, müsste die Structure doch auch den STATE bekommen oder nicht?

Da sie das nicht tut, habe ich noch mal clienstate_behaviour last ausprobiert. Aber auch damit ist der STATE immer undefined.

Was ich noch seltsam finde ist, dass der STATE der structure direkt nachdem ändern des dimmer wertes "dimmer 28" ist. Nach einem reload der seite ist er aber wieder undefined.
Wahrscheinlich ist das der Befehl der an die Devices MYSENSOR_3 und 4 geschickt wird (dieser lautet nämlich "set MYSENSOR_3 dimmer 28") - wird denn standardmäßig das kommando als state für die struct genommen und nicht das STATE der structure member?

Wie ihr merkt bin ich etwas ratlos, ich hoffe ihr könnt mich auf die Richtige Fährte locken :)

Danke und Gruß
Dirk_H

rudolfkoenig

Structure sammelt die Informationen aus dem state Reading der Mitgliedgeraete, und nicht von dem Benutzer modifizierbaren und an verschiedenen Stellen angezeigten STATE "Internal". Man beachte die Klein-/Grossschreibung, bzw. siehe Detailansicht. STATE wird (bis auf Ausnahmen) vom Framework aus state generiert, unter Beruecksichtigung vom stateFormat.

Falls du vermutest, dass trotzdem ein Structure Fehler vorliegt, dann poste Defintion und Status aller betroffenen Geraete.

Dirk_H

Hallo Rudolf,

eigentlich habe ich heute morgen einen Post vorbereitet aber wohl vergessen auf Schreiben zu drücken (nur Vorschau...)

Ich habe herausgefunden das es funktionier wenn man den membern der struct sagt das sie ihr reading ("dimmer" in diesem Fall) an die Struct melden sollen. Auch habe ich heute morgen herausgefunden das es state und STATE gibt.

Durch deine Antwort sehe ich das auch bestätigt. Ich erzeuge durch das stateFormat den STATE, den ich auch sehe. Aber die Struct zieht sich state - das ist natürlich immer noch undefined denn darauf wirkt das stateFromat ja nicht...

Danke für die Hilfe und Gruesse
Dirk H