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/06/23 06:23]
jau Anbindung: interne Links korriert.
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: "none"//) 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.\\
-//​parllelbetrieb PS?//+
  
 Dazu die vzlogger.conf erweitern: Dazu die vzlogger.conf erweitern:
Zeile 443: 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 451: Zeile 559:
 EBus ist ein serieller Bus der beispielsweise von Vaillant verwendet wird. Er kann mit passender Hardware gelesen werden um z.B. Temperaturwerte einer Therme zu loggen. EBus ist ein serieller Bus der beispielsweise von Vaillant verwendet wird. Er kann mit passender Hardware gelesen werden um z.B. Temperaturwerte einer Therme zu loggen.
   * Hardware als [[https://​wiki.fhem.de/​wiki/​EBUS|Bausatz]] oder [[https://​www.eservice-online.de/​shop/​ebus/​135/​1-wire-hub-platine|Fertiglösung]]   * Hardware als [[https://​wiki.fhem.de/​wiki/​EBUS|Bausatz]] oder [[https://​www.eservice-online.de/​shop/​ebus/​135/​1-wire-hub-platine|Fertiglösung]]
-  * [[https://​github.com/​john30/​ebusd|eBUS ​deamon]] zum Auswerten des Protokolls.+  * [[https://​github.com/​john30/​ebusd|eBUS ​daemon]] zum Auswerten des Protokolls.
   * [[https://​github.com/​john30/​ebusd/​issues/​58|Konfiguration und Beispiel]] für Node-RED.   * [[https://​github.com/​john30/​ebusd/​issues/​58|Konfiguration und Beispiel]] für Node-RED.
   * Das Zusatpaket [[https://​flows.nodered.org/​node/​node-red-contrib-ui|node-red-contrib-ui]] ist erforderlich.   * Das Zusatpaket [[https://​flows.nodered.org/​node/​node-red-contrib-ui|node-red-contrib-ui]] ist erforderlich.
Zeile 464: 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.1498191835.txt.gz · Zuletzt geändert: 2017/06/23 06:23 von jau