[gelöst] "structure" soll "position"-reading übernehmen

Begonnen von Carsten K., 21 Februar 2024, 15:12:07

Vorheriges Thema - Nächstes Thema

Carsten K.

Hallo Gemeinde,

ich habe eine structure mit mehreren SOMFY-Rollos.
Diese haben ein Reading "position".

Gibt es eine Möglichkeit, dieses Reading auf eine "structure" zu projizieren?
Wunsch wäre in etwa:
- pos = readingsval("ROLLO_STRUCTURE", "position", -99);
- set ROLLO_STRUCTURE position 50


Wenn es so etwas bereits gibt, bin ich dankbar für Hinweise.

Grüße
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

betateilchen

Formuliere mal bitte die Aufgabenstellung so um, dass man wirklich versteht, was Du als Ergebnis haben möchtest.

Im Moment steht da:

- pos = readingsval("ROLLO_STRUCTURE", "position", -99);
- set ROLLO_STRUCTURE position 50

Du willst aus der structure den Wert auslesen und dann wieder in die structure schreiben? Warum?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Carsten K.

Danke für die Rückmeldung!

Ich denke, ich habe mich etwas verrannt.

1. Ich wollte die "position" aller Rollos in einem eigenen Reading "position" (analog zu "state").
Das wäre dann zum Lesen
"pos = readingsval("ROLLO_STRUCTURE", "position", -99);
2. Meine Anforderung (das Setzen der Position) ist bereits verfügbar:
set ROLLO_STRUCTURE pos 50

Grüße
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

betateilchen

Zitat von: Carsten K. am 21 Februar 2024, 18:06:001. Ich wollte die "position" aller Rollos in einem eigenen Reading "position" (analog zu "state").
Das wäre dann zum Lesen
"pos = readingsval("ROLLO_STRUCTURE", "position", -99);

Zum einen würde ich, da es sich um einen numerischen Wert handelt, eher mit ReadingsNum() anstatt ReadingsVal() arbeiten.
Zum anderen verstehe ich nicht, warum Du nicht einfach ein userReading dafür anlegst?

Dass der zweite Teil ohnehin schon funktioniert, hast Du ja inzwischen selbst rausgefunden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Aber auch zu "structure" gibt es übrigens ein passendes, "richtiges" Unterforum.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Carsten K.

ZitatAber auch zu "structure" gibt es übrigens ein passendes, "richtiges" Unterforum.
Ich habe beim Erstellen die ersten Beiträge zum Suchbegriff "structure" angesehen - die stehen alle unter "Anfängerfragen".

Meinst Du evtl. "Perl für FHEM-User" ?
FHEM Forum► FHEM► Automatisierung► Perl für FHEM-User
Der Tipp mit "UserReading" passt perfekt - Vielen Dank dafür !
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

betateilchen

Zitat von: Carsten K. am 21 Februar 2024, 20:13:11Ich habe beim Erstellen die ersten Beiträge zum Suchbegriff "structure" angesehen - die stehen alle unter "Anfängerfragen"

https://forum.fhem.de/index.php?topic=13092.0
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!