FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: red81 am 31 Dezember 2020, 10:43:18

Titel: [gelöst]MQTT2_Device setlist publish mit Readingwert ergänzen Tradfri transition
Beitrag von: red81 am 31 Dezember 2020, 10:43:18
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?
Titel: Antw:MQTT2_Device setlist publish mit Readingwert ergänzen / Tradfri transition
Beitrag von: Beta-User am 31 Dezember 2020, 11:08:25
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).
Titel: Antw:MQTT2_Device setlist publish mit Readingwert ergänzen / Tradfri transition
Beitrag von: red81 am 31 Dezember 2020, 14:04:49
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)."}"}
Titel: Antw:[gelöst]MQTT2_Device setlist publish mit Readingwert ergänzen Tradfri transition
Beitrag von: Beta-User am 31 Dezember 2020, 14:11:18
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...