devStateIcon cmd auf reading

Begonnen von TimoD, 22 August 2021, 11:07:18

Vorheriges Thema - Nächstes Thema

TimoD

Ich bekomme es nicht hin, finde auch keine Hilfe,

ich würde gerne an meinem Garagentor das devStateIcon einrichten.

Allerdings soll der cmd nicht das state schreiben sondern das Reading ZielPosition

Mit Offen:fts_door_slide_open@red:ZielPosition Zu:fts_door_slide@green:ZielPosition

wird das Reading leer gesetzt, dann habe ich folgendes versucht:
Offen:fts_door_slide_open@red:ZielPosition 1 Zu:fts_door_slide@green:ZielPosition 0
Offen:fts_door_slide_open@red:"ZielPosition 1" Zu:fts_door_slide@green:"ZielPosition 0"
Offen:fts_door_slide_open@red:'ZielPosition 1' Zu:fts_door_slide@green:'ZielPosition 0'
Offen:fts_door_slide_open@red:{fhem "ZielPosition 1"} Zu:fts_door_slide@green:{fhem "ZielPosition 0"}


leider alles ohne Erfolg :-(

Nobbynews

Ich weiß zwar nicht, welche Hardware Du für Dein Tor benutzt, aber bei mir habe ich für das Garagentor einen Mirko-Schalter zusammen mit ESPEasy verbaut.
Das device hat von Haus aus nur ein Reading "State", worauf defStateIcon nicht reagiert.
Daher habe ich ein usereading erstellt:
attr Garagentor userReadings state {ReadingsVal("$name","State","on")}
Und als devStateIcon dann:
attr Garagentor devStateIcon on:fts_garage_door_10@red off:fts_garage_door_100

Zitat von: TimoD am 22 August 2021, 11:07:18
Allerdings soll der cmd nicht das state schreiben sondern das Reading ZielPosition
Das verstehe ich nicht. Schmeißt Du da ggf. etwas durcheinander?

justme1968

die bei devStateIcon hinterlegten kommandos werden also normale 'set <name>...' anweisungen weiterverarbeitet. d.h. es muss ein entsprechendes set kommando in deinem device geben damit etwas sinnvolles passiert. wenn es kein kommando gibt musst du dafür sorgen das es eines gibt.

da du kein list von deinem device zeigst bleibt nur raten...

es ist ein dummy: schau dir readingList an
es ist etwas anderes: schau dir cmdalias an

eventuell auch noch eventMap.

im übrigen passt auch die syntax nicht. leerzeichen sind nicht erlaubt und perl code auch nicht.

ansonsten: du gehst von den falschen voraussetzungen aus. kommandos (bis auf eine ausnahme) setzen keine readings. kommandos weisen normalerweise ein device an etwas zu tun. das setzen der readings macht dann das device. als nebeneffekt sozusagen.

die ausnahme ist das setreading kommando mit dem man ein reading setzen kann. das löst dann aber in der regel keine weiteren aktionen aus.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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