Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:node-red

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
howto:node-red [2017/11/01 01:04] – Typo jauhowto:node-red [2018/12/04 16:28] – API: GET data erstellt jau
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.txt · Zuletzt geändert: 2023/07/07 21:11 von jau