Kurze Beschreibung der Vorgeschichte (vielleicht sind manche Infos auch für andere hilfreich), Fragen am Ende des Posts:
* Aufgrund eines immer wieder "hängenden" email Nodes, musste ich Redmatic immer wieder neu starten.
* Das funktioniert jetzt mithilfe des Prüfens des Node-Status, eines Timeouts (über node-red-contrib-timeout) und des "CCU script" nodes (siehe viewtopic.php?t=48092#p525589) ganz gut.
* Da mir der Neustart des Node-Red Servers (Redmatic) als ziemliche Brachialmethode erschien, hab ich nach kurzer Recherche herausgefunden, dass man die Flows über die Admin HTTP API (https://nodered.org/docs/api/admin/methods/post/flows/) neu laden kann
* Das wollte ich natürlich zuerst auf meiner lokalen Node-Red Installation (http://localhost:1880/flows) testen:
Code: Alles auswählen
[{"id":"b09de99d.05f3f8","type":"inject","z":"f78216a2.29b298","name":"Ignite","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":100,"wires":[["b0e1b29a.b2fb8"]]},{"id":"b0e1b29a.b2fb8","type":"function","z":"f78216a2.29b298","name":"Set HTTP call header","func":"msg.headers = {\n \"Node-RED-Deployment-Type\":\"reload\"\n}\nreturn msg; \n","outputs":1,"noerr":0,"x":300,"y":100,"wires":[["292fe084.784d8"]]},{"id":"292fe084.784d8","type":"http request","z":"f78216a2.29b298","name":"HTTP POST","method":"POST","ret":"txt","paytoqs":false,"url":"http://localhost:1880/flows","tls":"","persist":false,"proxy":"","authType":"","x":530,"y":100,"wires":[["4ef48033.503a2"]]},{"id":"4ef48033.503a2","type":"debug","z":"f78216a2.29b298","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":730,"y":100,"wires":[]}]
*Ich setzte daraufhin den 'credentialSecret' in der 'settings.js' Datei und alles funktionierte erwartungsgemäß.Your flow credentials file is encrypted using a system-generated key. If the system-generated key is lost for any reason, your credentials file will not be recoverable, you will have to delete it and re-enter your credentials.
You should set your own key using the 'credentialSecret' option in your settings file. Node-RED will then re-encrypt your credentials file using your chosen key the next time you deploy a change.
* Bei der Umsetzung auf der Homematic setzte ich die HTTP request node URL auf "http://192.168.0.100/addons/red/#flow" (192...100 ist meine CCU3)
* Außerdem stellte ich fest, dass der 'credentialSecret' bereits gesetzt war und zwar mit einem Verweis auf die 'credentials.key' Datei:
Code: Alles auswählen
// Credentials encryption key
if (fs.existsSync('/usr/local/addons/redmatic/etc/credentials.key')) {
settings.credentialSecret = fs.readFileSync('/usr/local/addons/redmatic/etc/credentials.key').toString();
* Allerdings meldete Node-Red beim Call 'Cannot POST /addons/red/' - es funktioniert somit nicht.
Nun habe ich zwei Fragen:
1. Wie muss die URL aussehen, damit der HTTP POST funktioniert?
2. Woher kommt der gesetzte 'credentialSecret' Key?
Danke im Voraus,
Damos