structure: Erster Eintrag wird ignoriert

Begonnen von tplus, 06 April 2021, 12:45:41

Vorheriges Thema - Nächstes Thema

tplus

Hallo,

ich habe einige Shelly-Rollosteuerungen mit structure zusammen gefasst die ich zusammen öffnen und schließen möchte. Das funktioniert auch, mit Ausnahme für den ersten Eintrag in der Liste. Dieser Aktor erhält keinen Befehl. Wenn ich den Aktor in der Liste nach hinten setze läuft er problemlos. Dafür eben dann der erste nicht. Einzeln kann ich den danach problemlos steuern.


defmod rollos_alle structure rollo.et1.kueche rollo.et1.essz rollo.et1.sued rollo.et1.wohn rollo.et2.ost rollo.et2.west
attr rollos_alle async_delay 5

setstate rollos_alle undefined
setstate rollos_alle 2021-04-06 12:35:31 LastDevice rollo.et2.ost
setstate rollos_alle 2021-04-06 12:35:31 LastDevice_Abs rollo.et2.ost
setstate rollos_alle 2021-04-06 12:35:31 state undefined


In diesem Fall wird rollo.et1.kueche nicht angesteuert.

Wo liegt das Problem? Besten Dank für Tips...


betateilchen

Zitat von: tplus am 06 April 2021, 12:45:41
Wo liegt das Problem?

Das "Problem" sitzt vermutlich 40-50cm vor dem Bildschirm und hat die Dokumentation zu structure nicht oder nicht aufmerksam genug gelesen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

KernSani

define <name> structure <struct_type> <dev1> <dev2> ...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

tplus

Danke, hatte ich übersehen. Die Funktion von <struct_type> erschließt sich mir trotz mehrmaligem Lesen sowohl der englisch- wie auch deutschsprachigen Referenz aber nicht.

"LoremIpsum" als <struct_type> sollte es daher tun.

betateilchen

Zitat von: tplus am 06 April 2021, 16:43:36
Die Funktion von <struct_type> erschließt sich mir ... nicht.

Die Bezeichnung <struct_type> in der Syntax zu structure finde ich auch schon lange ziemlich irreführend.
Vereinfacht gesagt, geht es darum, in einem device, das zu einer structure gehört, erkennen zu können, dass es so ist.

Wenn Du wirklich LoremIpsum verwendet hast, solltest Du nun

im device "rollo.et1.kueche"
ein Attribut mit dem Namen "LoremIpsum" finden,
das den Wert "rollos_alle" hat.

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