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/30 02:11] – Flows zum übermitteln von Messwerten an pushserver sowie middleware volkszaehler_claus-beckenbauer.de | howto:node-red [2022/05/12 16:45] – Beispiel: HS110 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 |
- | Die Echtzeitdaten des [[software/ | + | |
- | // | + | |
- | + | ||
- | Dazu die vzlogger.conf erweitern: | + | |
- | < | + | |
- | <code | vzlogger.conf> | + | |
- | " | + | |
- | { | + | |
- | " | + | |
- | } | + | |
- | ], | + | |
- | </ | + | |
- | + | ||
- | In Node-RED wird ein http-Input mit http-Response angelegt: | + | |
- | <code | flow> | + | |
- | [ | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | [ | + | |
- | " | + | |
- | " | + | |
- | ] | + | |
- | ] | + | |
- | }, | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | ] | + | |
- | </ | + | |
- | + | ||
- | ==== VZ-API ==== | + | |
- | === pushserver === | + | |
- | Um Messwerte / Daten auf Node-RED an den pushserver zu übermitteln | + | |
<code | json message> | <code | json message> | ||
- | Port und URL entsprechen | + | Port und URL entsprechen |
< | < | ||
- | {{ : | + | {{ : |
<code | flow> | <code | flow> | ||
Zeile 284: | Zeile 244: | ||
</ | </ | ||
- | === POST data === | + | ==== vzlogger empfangen ==== |
- | Um Messwerte / Daten auf Node-RED an die Middleware zu übermitteln muss die URL enprechend | + | {{ : |
+ | Die Echtzeitdaten des [[software/ | ||
+ | |||
+ | Dazu die vzlogger.conf erweitern: | ||
+ | < | ||
+ | <code | vzlogger.conf> | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | </ | ||
+ | |||
+ | In Node-RED wird ein http-Input mit http-Response angelegt: | ||
+ | <code | flow> | ||
+ | [ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | ==== API: POST data ==== | ||
+ | Um Messwerte / Daten von Node-RED an die Middleware zu übermitteln muss die URL entprechend (siehe [[/ | ||
< | < | ||
- | {{ : | + | {{ : |
<code | flow> | <code | flow> | ||
[ | [ | ||
Zeile 436: | Zeile 454: | ||
</ | </ | ||
+ | ==== API: GET data ==== | ||
+ | Um Parameter / Daten aus Node-RED von der Middleware zu erhalten können wir auf die [[/ | ||
+ | {{ : | ||
+ | <code | flow> | ||
+ | [ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | " | ||
+ | ] | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | ---- | ||
===== Beispielanwendungen ===== | ===== Beispielanwendungen ===== | ||
+ | |||
+ | ==== TP-Link HS110 ==== | ||
+ | Die [[https:// | ||
+ | Zur Konfiguration ist leider die Kasa-App nötig, man kommt aber auch [[https:// | ||
+ | [[https:// | ||
==== Heizungssystem über eBus auslesen ==== | ==== 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. | 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:// | * Hardware als [[https:// | ||
- | * [[https:// | + | * [[https:// |
* [[https:// | * [[https:// | ||
* Das Zusatpaket [[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 450: | Zeile 579: | ||
[[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