howto:node-red
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
howto:node-red [2017/04/22 20:21] – Erstellen fortgesetzt jau | howto:node-red [2022/05/11 16:25] – [Volkszaehler nodes] https jau | ||
---|---|---|---|
Zeile 8: | Zeile 8: | ||
< | < | ||
sudo apt-get install build-essential python-rpi.gpio sense-hat | sudo apt-get install build-essential python-rpi.gpio sense-hat | ||
- | bash <(curl -sL https:// | + | bash <(curl -sL https:// |
</ | </ | ||
+ | ==== Hintergrunddienst ==== | ||
Um Node-RED als Hintergrunddienst einzurichten folgende Befehle nacheinander ausführen: | Um Node-RED als Hintergrunddienst einzurichten folgende Befehle nacheinander ausführen: | ||
< | < | ||
Zeile 24: | Zeile 25: | ||
Um den Dienst beim Boot automatisch zu starten: | Um den Dienst beim Boot automatisch zu starten: | ||
< | < | ||
+ | |||
+ | ==== Volkszaehler nodes ==== | ||
+ | Es gibt ein paar vorgefertigte nodes für komplexere Abfragen. Zu finden bei [[http:// | ||
+ | < | ||
+ | cd ~ | ||
+ | git clone https:// | ||
+ | cd ~/.node-red | ||
+ | npm install ~/ | ||
+ | node-red-stop | ||
+ | node-red-start | ||
+ | </ | ||
===== Editor ===== | ===== Editor ===== | ||
Zeile 35: | Zeile 47: | ||
===== 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: | ||
+ | * [[howto: | ||
+ | * [[howto: | ||
+ | * [[howto: | ||
+ | * [[howto: | ||
- | ==== Push-Server ==== | + | ==== Push-Server |
- | {{ : | + | |
Für Echtzeitdaten eignet sich zum Beispiel der [[software/ | Für Echtzeitdaten eignet sich zum Beispiel der [[software/ | ||
- | Der Push-Server muss, wie in der [[software/ | + | Seit Version 2.0 ist der Push-Server |
< | < | ||
<code | volkszaehler.conf.php> | <code | volkszaehler.conf.php> | ||
Zeile 46: | Zeile 62: | ||
</ | </ | ||
Danach den Push-Server neu starten: | Danach den Push-Server neu starten: | ||
- | < | + | < |
- | sudo systemctl start push-Server</ | + | |
- | In Node-RED | + | Und die Konfiguration des [[https:// |
+ | |||
+ | ==== Push-Server empfangen ==== | ||
+ | Zum Empfang der Daten wird der PS [[howto/ | ||
+ | {{ : | ||
<code | flow> | <code | flow> | ||
Zeile 94: | Zeile 114: | ||
</ | </ | ||
- | ==== vzlogger ==== | + | ==== Push-Server senden ==== |
- | {{ : | + | Man kann auch Messwerte / Daten von Node-RED an den Push-Server übermitteln, |
- | Die Echtzeitdaten des [[software/ | + | <code | json message> |
- | // | + | Port und URL entsprechen der Standard-Konfiguration. |
+ | < | ||
+ | {{ : | ||
+ | |||
+ | <code | flow> | ||
+ | [ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | ==== vzlogger | ||
+ | {{ : | ||
+ | Die Echtzeitdaten des [[software/ | ||
Dazu die vzlogger.conf erweitern: | Dazu die vzlogger.conf erweitern: | ||
- | < | + | < |
<code | vzlogger.conf> | <code | vzlogger.conf> | ||
" | " | ||
Zeile 153: | Zeile 302: | ||
</ | </ | ||
- | ==== VZ-API ==== | + | ==== API: POST data ==== |
+ | Um Messwerte / Daten von Node-RED an die Middleware zu übermitteln muss die URL entprechend (siehe [[/ | ||
+ | < | ||
+ | {{ : | ||
+ | <code | flow> | ||
+ | [ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | </ | ||
- | ---- | + | ==== API: GET data ==== |
+ | Um Parameter / Daten aus Node-RED von der Middleware zu erhalten können wir auf die [[/ | ||
+ | {{ : | ||
+ | <code | flow> | ||
+ | [ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | ---- | ||
===== Beispielanwendungen ===== | ===== Beispielanwendungen ===== | ||
+ | |||
+ | ==== Heizungssystem über eBus auslesen ==== | ||
+ | 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:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Das Zusatpaket [[https:// | ||
+ | |||
+ | ==== 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:// | ||
+ | * [[https:// | ||
==== InfluxDB per MQTT ==== | ==== InfluxDB per MQTT ==== | ||
Zeile 163: | Zeile 574: | ||
[[http:// | [[http:// | ||
+ | ==== Stromzähler per Modbus ==== | ||
+ | Beispiel für [[/ | ||
+ | [[https:// | ||
+ | |||
+ | ==== Messwerte von Schaltaktor per MQTT ==== | ||
+ | Messwerte von Modulwechselrichtern an [[https:// | ||
+ | [[https:// |
howto/node-red.txt · Zuletzt geändert: 2023/07/07 21:11 von jau