Hallo,
Wie bekomme ich um ein reading Anführungszeichen herum?
Ich bräuchte als reading "22.3" und nicht nur 22.3 drinstehen.
Bestimmt ganz einfach, aber ich habs nicht geschafft.. (führende \ schon probiert - geht nicht..)
Hintergrund: Ich habe ein Display mit mqtt gebaut (https://github.com/aderusha/HASwitchPlate).
Funktioniert soweit.
ABER: der will im mqtt payload stehen haben: "22.3". Im Normalfall steht da ja nur 22.3
Kann mir bitte jemand helfen?
Danke & Gruß
Generell wirst du immer das Problem haben, dass die "" beim Handhaben von Variablen schon gerne mal "unbeachtet" bleiben.
Tendenziell sollte sich das beim Zusammenbauen der MQTT-Messages aber fixen lassen. Solltest du MQTT2_DEVICE nutzen, können wir evtl. da was probieren, aber so oder so wäre ein list hilfreich.
Eventuell kannst du auch versuchen, das via direktem publish-Command am IO zu lösen.
In allen Fällen solltest du die "" zum spätest möglichen Zeitpunkt ergänzen...
Danke für die schnelle Antwort.
ich benutze ein MQTT_DEVICE - ohne 2.
Beim Zusammenbauen scheitere ich, ich tu schon den ganzen Tag rum.
Wenn ich das reading händisch auf "22.3" setze (anstatt nur 22.3) und das publishe, dann klappt das auch.
Aber ich bekomme die blöden Anführungsteichen nur manuell rein :-(
Mal nur so ins Blaue: Schon mal ""22.3"" probiert?
Ja, ein manuelles set Nextion temperature "22.3" geht.
Aber das 22.3 ist ja ein reading. das bekomme ich nicht in "" - außer wie oben von Handarbeit
Ich bräuchte was, was ein reading nimmt, Anführungszeichen drum rum macht und das Ganze in ein reading schreibt.
Quasi so: temp_mod = "temp"
userReading sollte ohne Probleme gehen
Gelöst:
https://forum.fhem.de/index.php/topic,87231.msg810067.html#msg810067
fhem("set Device cmd t1.txt=" . "\"" . ReadingsVal("page0","t4","") . "\"");
Sieht bei mir so aus:
fhem("setreading Nextion TEMP_Aussen =" . "\"" . ReadingsVal("LaCrosse_05","temperature","") . "\"");
Danke!!