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?
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).
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)."}"}
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...