HowTo: NodeRed – Aktuelle Wetterdaten von OpenWeatherMap beziehen

Nicht immer hat man die Möglichkeit Umgebungsdaten wie zum Beispiel die Außentemperatur direkt zu messen. Trotzdem ist manchmal praktisch. So kann man zum  Beispiel sicherstellen, dass die Heizkörper im inneren nur eingeschaltet werden, wenn es draußen auch kalt ist. Heizungen die sich im Sommer automatisch einschalten kosten nicht nur Geld sondern auch Schweiß. 🙂

Um an diese Umgebungsdaten zu kommen bräuchte man eigentlich eine eigene Wetterstation, welche das SmartHome mit den entsprechenden Daten füttert.
Dieses Geld kann man sich allerdings sparen. Dank kostenlosen Wetterservices von denen man diese Daten nur noch beziehen muss. Einer dieser Wetterservices ist OpenWeatherMap.org.

Wie Ihr Wetterdaten von OpenWeatherMap.org bezieht und für Euer SmartHome nutzen könnt, ist im folgenden Artikel erklärt.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/


Voraussetzungen

Hilfreiche Artikel:
Damit Ihr diese Konfiguration übernehmen  könnt sollte NodeRed natürlich schon installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.

Die folgenden Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern
NodeRed – Installation von NodeRed auf dem RaspberryPi
NodeRed – Neue Nodes installieren

NodeRed – Node-Code importieren und exportieren

Benötigtes Werkzeug:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


In die NodeRed Konfigurationsoberfläche einloggen

Bevor Ihr eure NodeRed Konfiguration bearbeiten könnt müsst Ihr Euch - falls aktiviert - zunächst in die NodeRed Konfigurationsoberfläche einloggen.

Ansicht des Loginbildschirms. Hier müsst Ihr die Logindaten eingeben die Ihr während der Konfiguration des Logins angegeben habt. Infos dazu findet Ihr im Artikel NodeRed - Benutzerlogin einrichten.

openWeatherMap-API-Key registrieren

Damit Ihr aktuelle Wetterdaten von openWeahterMap.org abrufen könnt, benötigt Ihr einen API-Key. Wie Ihr diesen kostenlos registrieren könnt ist in diesem Artikel beschrieben: OpenWeatherMap.org API-Key registrieren
Später muss dieser dann in der openWeatherMap-Node hinterlegt werden. Also merkt ihn Euch gut. 🙂

openWeatherMap-Node installieren

Damit Ihr die Daten von OpenWeatherMap.Org abrufen könnt, müsst Ihr die Node „node-red-node-openweathermap“ installieren. Wie das man Nodes installiert ist im Artikel NodeRed – Neue Nodes installieren erklärt.

Node-Code importieren

Bei den ersten Schritten sollte euch die folgende Konfiguration unterstützen. Importiert dazu einfach folgenden Node-Code in Euere NodeRed-installation. Wie das geht ist im Artikel NodeRed – Node-Code importieren und exportieren erklärt.

Gleich darauf müsst Ihr – wie weiter unten beschrieben – den zuvor registrierten API-Key zur Konfiguration hinzufügen.

Ansicht der Konfiguration im Editor.

Node-Code:

[{"id":"85dcceee.5ca84","type":"change","z":"5ebf035f.49459c","name":"außenTemperatur","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.main.temp-273.15","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":200,"wires":[["6ab6bc17.16a144"]]},{"id":"b36beeac.014ba","type":"json","z":"5ebf035f.49459c","name":"","property":"payload","action":"","pretty":false,"x":510,"y":200,"wires":[["85dcceee.5ca84","a0fb594.6e02ea8","7aa148d5.934fb8","8e550228.aae02","52536e82.1cb05","b22dec0e.d53f3","bcdf0d32.be17a","95d0a7a8.66b9e8","514584f.458327c"]]},{"id":"34eee9ed.b64d36","type":"inject","z":"5ebf035f.49459c","name":"Daten manuell abrufen","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":260,"wires":[["d5a8c5aa.82b3c8"]]},{"id":"a0fb594.6e02ea8","type":"change","z":"5ebf035f.49459c","name":"außenLuftfeuchtigkeit","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.main.humidity","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":320,"wires":[["b9f93625.5051b8"]]},{"id":"7aa148d5.934fb8","type":"change","z":"5ebf035f.49459c","name":"außenLuftdruck","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.main.pressure","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":360,"wires":[["fbf0a415.6ed9c8"]]},{"id":"d5a8c5aa.82b3c8","type":"openweathermap","z":"5ebf035f.49459c","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":410,"y":260,"wires":[["b36beeac.014ba"]]},{"id":"67bf25e3.d1ce1c","type":"openweathermap in","z":"5ebf035f.49459c","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":160,"y":200,"wires":[["b36beeac.014ba"]]},{"id":"8e550228.aae02","type":"debug","z":"5ebf035f.49459c","name":"Rohdaten","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":680,"y":160,"wires":[]},{"id":"6ab6bc17.16a144","type":"debug","z":"5ebf035f.49459c","name":"außenTemperatur","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":990,"y":200,"wires":[]},{"id":"b9f93625.5051b8","type":"debug","z":"5ebf035f.49459c","name":"außenLuftfeuchtigkeit","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1000,"y":320,"wires":[]},{"id":"fbf0a415.6ed9c8","type":"debug","z":"5ebf035f.49459c","name":"außenLuftdruck","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":980,"y":360,"wires":[]},{"id":"52536e82.1cb05","type":"change","z":"5ebf035f.49459c","name":"Windstärke","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.wind.speed","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":400,"wires":[["93256619.92a1b8"]]},{"id":"b22dec0e.d53f3","type":"change","z":"5ebf035f.49459c","name":"Windrichtung","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.wind.deg","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":440,"wires":[["d755f34d.fdefa"]]},{"id":"93256619.92a1b8","type":"debug","z":"5ebf035f.49459c","name":"Windstärke","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":970,"y":400,"wires":[]},{"id":"d755f34d.fdefa","type":"debug","z":"5ebf035f.49459c","name":"Windrichtung","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":970,"y":440,"wires":[]},{"id":"bcdf0d32.be17a","type":"change","z":"5ebf035f.49459c","name":"wetterBeschreibung","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.weather[0].description","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":480,"wires":[["a9876b9d.5e5be8"]]},{"id":"a9876b9d.5e5be8","type":"debug","z":"5ebf035f.49459c","name":"wetterBeschreibung","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1000,"y":480,"wires":[]},{"id":"95d0a7a8.66b9e8","type":"change","z":"5ebf035f.49459c","name":"außenTempMin","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.main.temp_min-273.15","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":240,"wires":[["751ba810.fd1938"]]},{"id":"514584f.458327c","type":"change","z":"5ebf035f.49459c","name":"außenTempMax","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.main.temp_max-273.15","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":280,"wires":[["455148a8.ce5168"]]},{"id":"751ba810.fd1938","type":"debug","z":"5ebf035f.49459c","name":"außenTempMin","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":980,"y":240,"wires":[]},{"id":"455148a8.ce5168","type":"debug","z":"5ebf035f.49459c","name":"außenTempMax","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":980,"y":280,"wires":[]}]
In den OpenWeatherMap-Nodes muss Eurer OpenWeatherMap-API-Key eingetragen werden, damit der Datenabruf funktioniert.

Weiterführende Informationen

https://openweathermap.org/


Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

Fab

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.