JSON String in Homematic Variable schreiben

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Antworten
MKaiser96
Beiträge: 44
Registriert: 20.09.2019, 13:42

JSON String in Homematic Variable schreiben

Beitrag von MKaiser96 » 27.04.2021, 21:52

Hallo,

ich baue mir mittels Node-RED ein Dashboard auf. Zur Steuerung von Zeitplänen habe ich mir den ui scheduler installiert. Damit kann man ganz gut Zeitpläne unter Einbeziehung der Wochentage erstellen.

Soweit so gut. Jedoch werden die Daten nur in den RAM geschrieben, sodass nach einem Neustart die Daten gelöscht sind. Man könnte zwar den context storage auf einen USB Stick speichern, aber das möchte ich erstmal nicht machen. Stattdessen speichere ich mir alle wesentlichen Daten in Homematic Variablen.

DIes sollte auch mit dem ui scheduler funktionieren, denn der Node gibt bei jeder Änderung des Zeitplanes einen JSON String aus, welchen man nach einem Reboot einlesen kann und der Zeitplan ist wieder aktiv. Diesen String möchte ich in eine Homematic Variable schreiben. Jedoch wird der String nicht übergeben.

Flow_ui_scheduler.png

Was ist bei dem String das Problem? Testweise habe ich den String händisch über die WebUI der CCU eingegeben und er wurde akzeptiert. Im Node-RED konnte ich die Variable auslesen und den Zeitplan im Scheduler reaktivieren. Es scheitert derzeit nur an der Übergabe des JSON String in die Homematic Variable.

OstseeAndy
Beiträge: 49
Registriert: 09.04.2019, 12:46
Danksagung erhalten: 12 Mal

Re: JSON String in Homematic Variable schreiben

Beitrag von OstseeAndy » 28.04.2021, 11:20

Moin

Gerade mal ausprobiert, das ist auch kein String den man einfach mal in eine Systemvariable speichern kann.
Was geht ist die JSON-Ausgabe mittels base64 umzuwandeln und in eine Systemvariable zu speichern. Zurück geht das ganze dann über base64 in String
Bildschirmfoto 2021-04-28 um 11.19.37.png
Andreas

MKaiser96
Beiträge: 44
Registriert: 20.09.2019, 13:42

Re: JSON String in Homematic Variable schreiben

Beitrag von MKaiser96 » 28.04.2021, 12:33

Danke für den Lösungsvorschlag.

Ich dachte, es sei ein String. Ich habe den ui scheduler mit einem Debug Node verknüpft und da wurde mir angezeigt, dass es ein String sei.

Was genau ist denn base64?

OstseeAndy
Beiträge: 49
Registriert: 09.04.2019, 12:46
Danksagung erhalten: 12 Mal

Re: JSON String in Homematic Variable schreiben

Beitrag von OstseeAndy » 29.04.2021, 09:36

Moin

Ich Zitiere mal aus Wikipedia
Base64 ist ein Verfahren zur Kodierung von 8-Bit-Binärdaten (z. B. ausführbare Programme, ZIP-Dateien oder Bilder) in eine Zeichenfolge, die nur aus lesbaren, Codepage-unabhängigen ASCII-Zeichen besteht.
Damit verschwinden alle Problemzeichen wie z.B. geschweifte Klammern etc.

Andreas

Antworten

Zurück zu „RedMatic“