[gelöst]MQTT2_Device setlist publish mit Readingwert ergänzen Tradfri transition

Begonnen von red81, 31 Dezember 2020, 10:43:18

Vorheriges Thema - Nächstes Thema

red81

Hallo,

bei den IKEA Tradfri Lampen gibt es die Möglichkeit beim ändern von Helligkeit und Farbtemperatur eine transition Time mit zu senden (bei mir mit zigbee2mqtt).
ich habe den setlist Eintrag ergänzt und es funktioniert:

brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"$EVTPART0":"$EVTPART1","transition":0.5}
color_temp:colorpicker,CT,154,2,500 $DEVICETOPIC/set {"$EVTPART0":"$EVTPART1","transition":0.5}


nun suche ich noch eine Möglichkeit den transition Wert nicht fix im setlist stehen zu haben sondern ändern zu können, also aus einem extra Reading zum Beispiel.
hat jemand eine Idee wie das umsetbar wäre?
RPI 4B mit SSD:fhem+MariaDB+Mosquitto+Grafana
RPI 3B+: dembatic+zigbee2mqtt

HMIP, Aquara, Tradfi, Shelly und Eigenbau ESP Sensoren und Aktoren

Beta-User

Geht. Einfach den hinteren Teil in der perl-Form notieren, Rückgabe muss dann eben ein String sein incl. Topic und  Payload.

Ein Beispiel wäre in zigbee2mqtt_light_rgb_rgb zu finden. (Achtung aber wegen dem \ vor DEVICETOPIC, das escapen ist an der Stelle nur für AttrTemplate erforderlich).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

red81

Perfekt, das funltioniert.
Ich hatte wohl nen Brett vorm Kopf, hab immer nur den Teil hinterm Topic in Perl darzustellen.

Das setList Raw definition sieht nun so aus:
attr Licht_EG setList on:noArg $DEVICETOPIC/set {"state":"ON"}\
  off:noArg $DEVICETOPIC/set {"state":"OFF"}\
  brightness:colorpicker,BRI,0,5,255 {"$DEVICETOPIC/set {\"".$EVTPART0."\":\"".$EVTPART1."\",\"transition\":".ReadingsVal($NAME,"transition",0)."}"}\
  color_temp:colorpicker,CT,154,2,500 {"$DEVICETOPIC/set {\"".$EVTPART0."\":\"".$EVTPART1."\",\"transition\":".ReadingsVal($NAME,"transition",0)."}"}
RPI 4B mit SSD:fhem+MariaDB+Mosquitto+Grafana
RPI 3B+: dembatic+zigbee2mqtt

HMIP, Aquara, Tradfi, Shelly und Eigenbau ESP Sensoren und Aktoren

Beta-User

Na ja, man muss halt wissen, dass und wie es geht... Ist nicht selbsterklärend :) .

Verbesserungsvorschlag: Den transition-Wert in eine Variable packen und das ganze dann mit "qq" interpolieren. Zur "qq"-Verwendung sollte es in der mqtt2.template-File auch Beispiele geben. Wird m.E. lesbarer...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors