Wie wahrscheinlich die meisten, habe ich meine ersten Konfigurationen mit cut&paste erstellt. Dabei habe ich auch sowas wie
off:noArg $DEVICETOPIC/64/0/mode/set { "value": 0 }
verwendet, ohne mir groß Gedanken zu machen, da ich im MQTT-Explorer die gewünschte JSON-Payload gesehen habe. Jetzt möchte ich aber an der Stelle mal einen Perl-Ausdruck verwenden und da ist mir aufgefallen, dass das ja syntaktisch das gleiche ist. Ich habe leider nirgendwo etwas dazu gefunden. Deshalb die Frage: wieso wird "{ "value": 0 }" nicht als perl evaluiert?
Weil hinter dem "setter" erst mal "Klartext" kommt.
Wenn du direkt mit Perl loslegen willst, muss die öffnende Klammer vorher kommmen und am Ende "topic payload" zurückgegeben werdnen (oder "echtes undef"). Ein Beispiel wäre in zigbee2mqtt_light_rgb_rgb (color) (attrTemplate) zu finden, in der attrTemplate-Datei gibt es noch einige mehr.
Klar. Glatt übersehen. Danke!