Hallo zusammen,
ich habe folgendes Problem. Dieser Befehl:
set mqtt publish awtrix_TC001/custom/PV {"icon": "87","lifetime":"10","duration":"7","text": [{"t": "Hallo ","c":"FFFFFF"},{"t": "Sepp","c": "FF0810"}]}
macht genau das was er soll wenn ich ihn in der Befehlszeile eingebe.
Wenn ich das Ganze aus in ein Notify einbauen möchte:
fhem("set mqtt publish awtrix_TC001/custom/PV {"icon": "87","lifetime":"10","duration":"7","text": [{"t": "Hallo ","c":"FFFFFF"},{"t": "Sepp","c": "FF0810"}]}");
bekomme ich den Fehler
syntax error at (eval 27486013) line 3, near ""set mqtt publish awtrix_TC001/custom/PV {"icon"
Weiß jemand woran das liegt? Geht das überhaupt oder habe ich da schon einen grundlegenden Denkfehler?
Danke und Gruß
Christian
Einfach die " innerhalb des set Befehls gegen ' austauschen oder die " maskieren mit \".
Gruß
Dan
Oder die " des set austauschen mit '.
fhem('set mqtt publish awtrix_TC001/custom/PV {"icon": "87","lifetime":"10","duration":"7","text": [{"t": "Hallo ","c":"FFFFFF"},{"t": "Sepp","c": "FF0810"}]}');
Gruß
Dan
So einfach kann es sein wenn man weiß wie :-[
Vielen Dank.
Ich habe noch eine Bonusfrage: Wie kann ich das erste Hallo gegen eine $Variable ersetzen? Wenn ich einfach Hallo gegen $Variable ersetzte wird einfach nur $Variable übergeben.
fhem('set mqtt publish awtrix_TC001/custom/PV {"icon": "87","lifetime":"10","duration":"7","text": [{"t": "Hallo ","c":"FFFFFF"},{"t": "Sepp","c": "FF0810"}]}');
Zitat von: Chris_XXX am 08 August 2024, 14:35:09Ich habe noch eine Bonusfrage: Wie kann ich das erste Hallo gegen eine $Variable ersetzen? Wenn ich einfach Hallo gegen $Variable ersetzte wird einfach nur $Variable übergeben.
Wollte schon schreiben, dass diese Variante bei Verwendung von Variablen nicht geht ;)
Da dann die Variante mit dem escapen, also Vorschlag eins und dann sollte das gehen...
'$Variable' -> Text wie er ist, also einfach $Variable (hast du ja gemerkt)
"$Variable" -> Inhalt von $Variable
EDIT: vermutlich so:
fhem("set mqtt publish awtrix_TC001/custom/PV {\"icon\": \"87\",\"lifetime\":\"10\",\"duration\":\"7\",\"text\": [{\"t\": \"$Variable \",\"c\":\"FFFFFF\"},{\"t\": \"Sepp\",\"c\": \"FF0810\"}]}");
Ich glaube es geht auch mittels p(String) oder pp(String) (nutze ich aber nicht und müsste ich selber erst nachschlagen)...
Gruß, Joachim
Hallo,
nach kurzem Test sollte es klappen die einfachen Hochkomma durch qq() zu ersetzen:
Zitatfhem(qq(set mqtt publish awtrix_TC001/custom/PV {"icon": "87","lifetime":"10","duration":"7","text": [{"t": "$a ","c":"FFFFFF"},{"t": "Sepp","c": "FF0810"}]}));
Gruß Thomas
Sehr cool! Danke euch. Funktioniert 1a