Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:node-red

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howto:node-red [2017/11/01 01:04]
jau Typo
howto:node-red [2018/12/04 16:28] (aktuell)
jau API: GET data erstellt
Zeile 11: Zeile 11:
 </​code>​ </​code>​
  
 +==== Hintergrunddienst ====
 Um Node-RED als Hintergrunddienst einzurichten folgende Befehle nacheinander ausführen: Um Node-RED als Hintergrunddienst einzurichten folgende Befehle nacheinander ausführen:
 <​code>​ <​code>​
Zeile 24: Zeile 25:
 Um den Dienst beim Boot automatisch zu starten: Um den Dienst beim Boot automatisch zu starten:
 <​code>​sudo systemctl enable nodered.service</​code>​ <​code>​sudo systemctl enable nodered.service</​code>​
 +
 +==== Volkszaehler nodes ====
 +Es gibt ein paar vorgefertigte nodes für komplexere Abfragen. Zu finden bei [[http://​github.com/​andig/​node-red-contrib-volkszaehler|github]]. Um sie in Node-RED einzubinden sind folgende Befehle an der Konsole einzugeben:
 +<​code>​
 +cd ~
 +git clone git://​github.com/​andig/​node-red-contrib-volkszaehler
 +cd ~/.node-red
 +npm ~/install node-red-contrib-volkszaehler/​
 +node-red-stop
 +node-red-start
 +</​code>​
  
 ===== Editor ===== ===== Editor =====
Zeile 55: Zeile 67:
 ==== Push-Server empfangen ==== ==== Push-Server empfangen ====
 Zum Empfang der Daten wird der PS [[howto/​node-red#​push-server_einrichten|wie oben beschrieben]] eingerichtet und in Node-RED ein websocket-Eingang angelegt. Zum Empfang der Daten wird der PS [[howto/​node-red#​push-server_einrichten|wie oben beschrieben]] eingerichtet und in Node-RED ein websocket-Eingang angelegt.
-{{ :​howto:​node-red_pushserver.jpg?​400|}}+{{ :​howto:​node-red_pushserver.jpg?​500|}}
  
 <code | flow> <code | flow>
Zeile 232: Zeile 244:
  
 ==== vzlogger empfangen ==== ==== vzlogger empfangen ====
-{{ :​howto:​node-red_vzlogger.jpg?​400|}}+{{ :​howto:​node-red_vzlogger.jpg?​500|}}
 Die Echtzeitdaten des [[software/​controller/​vzlogger|vzloggers]] können auch direkt an Node-RED übergeben werden. Es werden für alle //channel// (auch //"​api":​ "​null"//​) die Rohdaten (Zählerstände,​ Impulse) ausgegeben.\\ Die Echtzeitdaten des [[software/​controller/​vzlogger|vzloggers]] können auch direkt an Node-RED übergeben werden. Es werden für alle //channel// (auch //"​api":​ "​null"//​) die Rohdaten (Zählerstände,​ Impulse) ausgegeben.\\
  
Zeile 442: Zeile 454:
  
 ==== API: GET data ==== ==== API: GET data ====
-//Ausstehend//+Um Parameter ​Daten aus Node-RED von der Middleware zu erhalten können wir auf die [[/howto/node-red#​volkszaehler_nodes|fertigen VZ-nodes]] zurück greifen. 
 + 
 +{{ :​howto:​node-red_get_api.jpg?​500|}} 
 +<code | flow> 
 +
 +    { 
 +        "​id":​ "​de7c28c5.414368",​ 
 +        "​type":​ "​uri",​ 
 +        "​z":​ "​815188ba.c35718",​ 
 +        "​name":​ "",​ 
 +        "​middleware":​ "​792445ef.949aec",​ 
 +        "​context":​ "​data",​ 
 +        "​format":​ "​json",​ 
 +        "​x":​ 158, 
 +        "​y":​ 171, 
 +        "​wires":​ [ 
 +            [ 
 +                "​4af40d51.a7c234"​ 
 +            ] 
 +        ] 
 +    }, 
 +    { 
 +        "​id":​ "​8911848d.d34a38",​ 
 +        "​type":​ "​inject",​ 
 +        "​z":​ "​815188ba.c35718",​ 
 +        "​name":​ "",​ 
 +        "​topic":​ "",​ 
 +        "​payload":​ "​true",​ 
 +        "​payloadType":​ "​bool",​ 
 +        "​repeat":​ "",​ 
 +        "​crontab":​ "",​ 
 +        "​once":​ false, 
 +        "​onceDelay":​ 0.1, 
 +        "​x":​ 104, 
 +        "​y":​ 78, 
 +        "​wires":​ [ 
 +            [ 
 +                "​e6c60ef.b5cfdf"​ 
 +            ] 
 +        ] 
 +    }, 
 +    { 
 +        "​id":​ "​e6c60ef.b5cfdf",​ 
 +        "​type":​ "​template",​ 
 +        "​z":​ "​815188ba.c35718",​ 
 +        "​name":​ "​UUID",​ 
 +        "​field":​ "​uuid",​ 
 +        "​fieldType":​ "​msg",​ 
 +        "​format":​ "​handlebars",​ 
 +        "​syntax":​ "​plain",​ 
 +        "​template":​ "​c673b290-fdac-11e0-a470-1d9351203a00",​ 
 +        "​output":​ "​str",​ 
 +        "​x":​ 247, 
 +        "​y":​ 79, 
 +        "​wires":​ [ 
 +            [ 
 +                "​de7c28c5.414368"​ 
 +            ] 
 +        ] 
 +    }, 
 +    { 
 +        "​id":​ "​4af40d51.a7c234",​ 
 +        "​type":​ "http request",​ 
 +        "​z":​ "​815188ba.c35718",​ 
 +        "​name":​ "",​ 
 +        "​method":​ "​GET",​ 
 +        "​ret":​ "​txt",​ 
 +        "​url":​ "",​ 
 +        "​x":​ 340, 
 +        "​y":​ 172, 
 +        "​wires":​ [ 
 +            [ 
 +                "​69c762a4.50c69c"​ 
 +            ] 
 +        ] 
 +    }, 
 +    { 
 +        "​id":​ "​69c762a4.50c69c",​ 
 +        "​type":​ "​debug",​ 
 +        "​z":​ "​815188ba.c35718",​ 
 +        "​name":​ "",​ 
 +        "​active":​ true, 
 +        "​tosidebar":​ true, 
 +        "​console":​ false, 
 +        "​tostatus":​ false, 
 +        "​complete":​ "​false",​ 
 +        "​x":​ 305, 
 +        "​y":​ 255, 
 +        "​wires":​ [] 
 +    }, 
 +    { 
 +        "​id":​ "​792445ef.949aec",​ 
 +        "​type":​ "​middleware",​ 
 +        "​z":​ "",​ 
 +        "​middleware":​ "​https:​//​demo.volkszaehler.org/​middleware.php"​ 
 +    } 
 +
 +</​code>​
  
 ---- ----
Zeile 463: Zeile 572:
 Daten vom [[software/​middleware/​push-Server|Push-Server]] im [[https://​de.wikipedia.org/​wiki/​MQTT|MQTT-Protokoll]] an [[https://​en.wikipedia.org/​wiki/​InfluxDB|InfluxDB]] weiterleiten:​\\ Daten vom [[software/​middleware/​push-Server|Push-Server]] im [[https://​de.wikipedia.org/​wiki/​MQTT|MQTT-Protokoll]] an [[https://​en.wikipedia.org/​wiki/​InfluxDB|InfluxDB]] weiterleiten:​\\
 [[http://​flows.nodered.org/​flow/​dc9754a796fac49c918ab5a94f0af58a|Node-RED Library: Push Volkszaehler Readings to Influxdb via MQTT]] [[http://​flows.nodered.org/​flow/​dc9754a796fac49c918ab5a94f0af58a|Node-RED Library: Push Volkszaehler Readings to Influxdb via MQTT]]
 +
 +==== Stromzähler per Modbus auslesen ====
 +Beispiel für [[/​hardware/​channels/​meters/​power/​eastron_sdm630_modbus|Eastron SDM630]]:\\
 +[[https://​flows.nodered.org/​flow/​eb051b360f09c315ac961f85b94a0c05|Node-RED Library: SDM630 Modbus Gateway - Starter Kit]]
howto/node-red.1509494683.txt.gz · Zuletzt geändert: 2017/11/01 01:04 von jau