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/04/30 12:44] – Konfig PS verschoben, URL entspr. Standard jauhowto:node-red [2018/05/13 17:09] – SDM630 jau
Zeile 35: Zeile 35:
 ===== Anbindung ===== ===== Anbindung =====
 Es gibt diverse Möglichkeiten ein- und ausgehende Daten zwischen Volkszähler und Node-RED auszutauschen. Es gibt diverse Möglichkeiten ein- und ausgehende Daten zwischen Volkszähler und Node-RED auszutauschen.
 +  * [[howto:node-red#push-server_empfangen|vzlogger -> Push-Server -> NodeRED]]
 +  * [[howto:node-red#push-server_senden|NodeRED -> Push-Server]]
 +  * [[howto:node-red#vzlogger_empfangen|vzlogger -> NodeRED]]
 +  * [[howto:node-red#apipost_data|NodeRED -> Middleware]]
 +  * [[howto:node-red#apiget_data|Middleware -> NodeRED]]
  
-==== Push-Server ==== +==== Push-Server einrichten ====
-{{ :howto:node-red_pushserver.jpg?400|}}+
 Für Echtzeitdaten eignet sich zum Beispiel der [[software/middleware/push-server|Push-Server]] als Datenquelle. Zählerstände und Impulseingänge werden in Leistung umgerechnet. Es werden nur Kanäle ausgeliefert die in der Middleware angelegt sind. Parallelbetrieb mit Push fürs Frontend ist möglich. Für Echtzeitdaten eignet sich zum Beispiel der [[software/middleware/push-server|Push-Server]] als Datenquelle. Zählerstände und Impulseingänge werden in Leistung umgerechnet. Es werden nur Kanäle ausgeliefert die in der Middleware angelegt sind. Parallelbetrieb mit Push fürs Frontend ist möglich.
  
Zeile 47: Zeile 51:
 Danach den Push-Server neu starten: Danach den Push-Server neu starten:
 <code>sudo systemctl stop push-server <code>sudo systemctl stop push-server
-sudo systemctl start push-Server</code>+sudo systemctl start push-server</code>
  
-=== empfangen === +==== Push-Server empfangen ==== 
-Zum Empfang der Daten wird 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|}}
  
 <code | flow> <code | flow>
Zeile 96: Zeile 101:
 </code> </code>
  
-=== senden === +==== Push-Server senden ==== 
-Man kann auch Messwerte / Daten von Node-RED an den Push-Server übermitteln, dazu muss im flow eine json message aufgebaut und versendet werden.+Man kann auch Messwerte / Daten von Node-RED an den Push-Server übermitteln, dazu muss im flow eine json message aufgebaut und versendet werden. [[howto/node-red#push-server_einrichten|Den PS wie oben beschrieben einrichten.]]
 <code | json message>{"data":[{"uuid":"2e56fe60-e265-11e6-8bbc-a77e71764858","tuples":[[1493509724073, 5]]}]}</code> <code | json message>{"data":[{"uuid":"2e56fe60-e265-11e6-8bbc-a77e71764858","tuples":[[1493509724073, 5]]}]}</code>
 Port und URL entsprechen der Standard-Konfiguration. Port und URL entsprechen der Standard-Konfiguration.
Zeile 226: Zeile 231:
 </code> </code>
  
-==== vzlogger ====+==== vzlogger empfangen ====
 {{ :howto:node-red_vzlogger.jpg?400|}} {{ :howto:node-red_vzlogger.jpg?400|}}
-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 285: Zeile 289:
 </code> </code>
  
-==== VZ-API ==== +==== APIPOST data ====
- +
-=== POST data ===+
 Um Messwerte / Daten von Node-RED an die Middleware zu übermitteln muss die URL entprechend (siehe [[/development/api/reference]]) aufgebaut werden. Um Messwerte / Daten von Node-RED an die Middleware zu übermitteln muss die URL entprechend (siehe [[/development/api/reference]]) aufgebaut werden.
 <code>http://raspberrypi/middleware.php/data/{{uuid}}.json?ts={{timestamp}}&value={{payload}}</code> <code>http://raspberrypi/middleware.php/data/{{uuid}}.json?ts={{timestamp}}&value={{payload}}</code>
Zeile 439: Zeile 441:
 </code> </code>
  
 +==== API: GET data ====
 +//Ausstehend//
  
 +----
 ===== Beispielanwendungen ===== ===== Beispielanwendungen =====
  
Zeile 445: Zeile 450:
 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.
 +
 +==== Temperatur / Lufteuchtigkeit mit ESP8266 per MQTT ====
 +Verschiedene Temperatur / Luftfeuchte Sensoren können am ESP8266 angeschlossen werden. Die Messwerte werden per MQTT verteilt.
 +Node-RED empfängt die Messwerte und sendet diese an den Volkszaehler.
 +  * [[https://github.com/nuccleon/homie-dht|ESP8266 Sensor Node]] (Arduno Sketch)
 +  * [[https://gist.github.com/nuccleon/108d9656ee4375fc95cfc0e9cd1eab0b|Node-RED Beispiel]]
  
 ==== InfluxDB per MQTT ==== ==== InfluxDB per MQTT ====
Zeile 453: Zeile 464:
 [[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