Ich hatte euch bereits in einem vorherigen Beitrag geschrieben, wie ihr an die Daten eurer Netatmo Basis kommt und diese in Node-RED auswerten könnt. Nun habe ich mich tiefer in das Thema eingearbeitet und zeige euch nun, wie ihr auch an die Daten der weiteren Sensoren kommt. Momentan besitze ich zwar nur ein weiteres Innen-Modul, aber an die Daten der anderen solltet ihr auch kommen.
Netatmo in Node-RED konfigurieren
Ich habe den Flow auf GitHub abgelegt. Ebenfalls müsst ihr noch unter Manage palette >> Install >> node-red-contrib-netatmo installieren. Nach dem Import müsst ihr natürlich in dem Node get stations data eure Zugangsdaten und Keys anpassen. Mit diesem Flow habt ihr die Basis mit dem Außensensor und einen weitere Innensensor direkt abgefragt. Damit habt ihr fast alle Daten angefragt. Zeiten und Batteriestatus usw. habe ich nicht erfasst, aber das solltet ihr auch noch schaffen.
Um weitere Stationen hinzufügen, solltet ihr euch eines Debug-Nodes bedienen und einen Funktions-Node entsprechend anpassen. Folgende Funktion ließt das zweite Array von modules aus, welches mein weiteres Innen-Modul ist.
msg1.payload = msg.payload.devices[0].modules[1].dashboard_data
Um alle Module abzufragen, erzeugt ihr einen Funktions-Node, mit folgendem Inhalt. Daran schaltet ihr einen Dashbaord Text-Node, da im Debugbereich nicht genug angezeigt wird. Daraus wählt ihr eure Module aus und passt daran die Array-Nummer an (z.B. modules[3].dashboard_data). Der Rest erklärt sich von selbst.
[code lang=“java“]
var msg1 = {};
msg1.payload = msg.payload.devices[0].modules;
return msg1;
[/code]
Das fertige Dashboard sieht aktuell so aus, ist aber natürlich alles Geschmackssache.
Hi,
danke für deine tollen Blog über Netatmo und node-red, das hilft uns Neulingen immens 🙂
Leider habe ich ein Problem mit deinem geposteten Flow oben, bei mir wird der node „get sattion data“ als unkonwn angezeigt wenn ich den flow importiere 🙁
Kannst du mir in der Sache bitte Helfen, danke im Voraus.
Salute
Daniel
Hallo Daniel,
das Problem hatte letztens schon jemand vor dir. Dort half es den Node zu aktualisieren. Du gehst also unter manage Palette und suchst nach Netatmo. Dort findest du den Node node-red-contrib-netatmo. Ich verwende die Version 0.1.5 und aktuell ist die 0.1.6. Durch den Button update, kannst du diesen nun aktualisieren. Danach sollte es gehen.
Grüße,
Björn
hmm bin auf der 0.1.6 da ich mit node-red gerade erst angefangen habe, kann es noch eine „abhängigkeit“ geben die ich auf meinem system noch nicht installiert habe?
Es könnte auch an der Version von Node-RED liegen. Welche Version ist bei dir installiert?
0.18.4: Maintenance Release
Ok, das sollte passen. Welche Nodes werden bei dir angezeigt, bzw. findest du dort den „get stations data“ Node? Also wenn du auf der linken Seite unter Netatmo schaust? Dort sollten ja alle zugehörigen und verfügbaren Nodes ersichtlich sein.
alles links in der node Übersicht unter Netatmo von oben nach unten
hmm komisch das dort alles doppelt vorhanden ist 🙁
* get next events
* get camera picture
* get home data
* get next events
* get camera picture
* get home data
* netatmo dashboard
Ok, so langsam finden wir das Problem.
Wenn du unter Manage Palette gehst und nach netatmo filters, findest du den Node ja. Unter der Versionsnummer findest du den Button > x Nodes. Drück da mal drauf. Dort solltest du folgende Nodes sehen: get next events, get camera picture, get home data, get measurements, get stations data und configNode. Alle sollten grün sein, außer der configNode. Ich würde über remove die Nodes mal entfernen und danach wieder hinzufügen. Evtl. dazwischen mal booten.
hat leider alles nicht gebracht, das komische ist ja auch das ich im telnet fenster folgendes sehe bei der installation vom node:7 Mar 10:37:51 – [info] Installing module: node-red-contrib-netatmo, version: 0.1.6
7 Mar 10:38:21 – [info] Installed module: node-red-contrib-netatmo
7 Mar 10:38:21 – [info] Added node types:
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:get next events
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:get camera picture
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:get home data
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:get user
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:get measurements
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:get stations data
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:get device list
7 Mar 10:38:21 – [info] – node-red-contrib-netatmo:configNode
er wird nur nicht alles „aktiviert“
Hallo Daniel,
evtl hilft dir das weiter:
Überschreibe die netatmoNodes.html und die netatmoNodes.js in z.B. (je nachdem wo deine Nodes liegen) /home/pi/.node-red/node_modules/node-red-contrib-netatmo#
mit den Dateien von https://github.com/ssadams11/node-red-contrib-netatmo. Danach evtl. Node-Red neu starten.
Jens hatte damit Erfolg.
Hallo,
habe das gleiche Problem. Ebenfalls Version 0.18.4. Grün sind nur
get next events
get camera picture
get home data
die anderen werden nicht angezeigt.
Eventuell solltet ihr hier mal euer Problem schildern
https://github.com/ssadams11/node-red-contrib-netatmo/issues
Nun habe ich es zum laufenbekommen. Da war was in dem File von ssadams nicht ok.
Allerdings mußte ich es manuel erstelle, da bei mir copy/paste nicht (mehr) funktioniert.
Hallo Jens,
was genau hast du gemacht? Eine Beschreibung wäre evtl. auch für andere hilfreich.
Danke
Die npm Installation hatte Fehler in den Dateien. Habe dann die letzte Version von Github genommen u. den Code überschrieben für die .html u. js Datei.
Danke für die Hilfe,bin aber zur Zeit beruflich in Südamerika unterwegs.
Werde es aber sobald ich wieder Zuhause bin versuchen.
Moin,
bin absoluter Anfänger und frage mich was ich in „Creds“ des get home data nodes eintragen soll. Das Java Snip mit meinem Credentials wie auf der Netamo Seite beschrieben funktioniert nicht.
Fehlermeldung „TypeError: Cannot read property ‚client_id‘ of null“
Guten Morgen,
der Node Get Home Data ist afaik für die Kamera, also nicht was du willst.
Der Node get stations data ist für die Wetterstation. Dort brauchst du die Client ID und dein Client Secret von der Natatmo Seite, dazu noch deine Login daten und die MAC-Adresse des Hauptmoduls, wie es in der Software abgelesen werden kann. Damit sollte es klappen.
Grüße,
Björn
Hi Björn,
ah, my fault, ich bin davon ausgegangen das der oben beschriebene Weg/Patch in der aktuellen Version enthalten ist. Nach austausch der Dateien von https://github.com/ssadams11/node-red-contrib-netatmo hat es geklappt.
Danke !
Hallo zusammen
ich versuche mitels dem „get messurment“ den aktuellen wert von meine healti coach zu holen.
Dazu meine Frage
wie kann ich unter begin date die aktuelle zeit-600sekunden automatisch eintragen
Oder einfacher wie komme ich am einfachsten an denn letzten Wert ?
Für den Home Coach gibt es einen eigenen Node, ich würde den mal versuchen.
node-red-contrib-netatmo-homecoach
Danke für die Antwort. Habe es bereits mal versucht, doch irgendwie schaffe ich es nicht.
Ich weiss nicht wie ich meine Benutzerdaten eintragen kann, dass ich Daten bekomme.
Mit Deinem Flow bekomme ich wenigsten Daten 🙂
Die frage ist nur, wie muss ich es einrichten, dass ich immer die letzten zwei Array bekomme.
Irgendwie müsste es möglich sein den Eintrag: Begin Date = aktuelle Zeit -30Minuten automatisch abzufüllen {{payload….}}. Aber ich habe keine Ahnung wie das geht.
Könntest du mir mal deine Payload schicken, dann könnte ich mir mal anschauen was da geliefert wird. So fehlt mir leider etwas die Grundlage.
Hallo Björn
frtage machst Du auch Software im Auftrag ?
Wenn ja melde Dich doch bitte bei mir. Denn ich wäre um kompetente Hilfe froh
Hallo,
leider nein. Ich bin kein Softwareentwickler und betreibe das Alles nur aus Hobby.
Bin grad über dieses tolle Projekt gestolpert und da hier noch 2 PIs rumlagen … und die Netatmo eigentlich tut aber ohne Display nahezu wertlos ist (bin noch aus der Vor- [guck-täglich-auf’s-Smartphone] Generation)
Kannte bis dato nicht mal node-red und habe nun auch gefühlt die netatmo daten schon 10 mal eingegeben. Es scheint ist war noch nicht fündig wie man den Krams speichert. 😉
Das ist allerdings nicht mein Problem, denn bis auf die finalen Nodes auf der rechten Seite (die node-red schicht als „This node is a type unknown to your installation of Node-RED.“ bezeichnet sieht der Rest brauchbar aus.
Hat jemand ne Idee?
Hi Stefan,
was dir fehlt ist wohl der Node für das Dashboard. Schau dir mal den vorhergehenden Beitrag an. Dort ist auch beschrieben wie du an die Netatmo Connect Zugangsdaten kommst.
Grüße,
Björn
Ne das ging schon … was gefehlt hatte war das node-red-dashboard … wie gesagt spiele jetzt ne Stunde mit node-red … die erste Stunde.
Aktuell bekomme ich noch Fehler bei function:Flur (meine interne netatmo) in der Form „TypeError: Cannot read property ‚Pressure‘ of undefined …… was immer undefined ist.
Was sich mir auch noch gar nicht erschliesst ist wie man zu dem hübschen dashboard kommt. Wäre ja aber auch ein Wunder. das mit node-red ist in jedem Falle am Ende vermutlich wesentlich einfach zu begreifen als der Aufwand den ich betrieben habe um VisualStudio halbwegs dazu zu bringen am Ende das zu produzieren worauf ich ab und an aus bin. Sprich allein die Kombination pi + linux + java + ….. ist schon sehr gewöhnungsbedürftig für jemand der sich eher mit Windows auskennt.
Um solche Fehler zu beheben, helfen Debug Nodes. In deren Ausgabe (in die Debug Konsole), siehst du schön was eventuell fehlt. Flur ist das Main-Modul?
Da Dashboard erreichst du via Browser über http://nodered-ip:1880/ui
Die ganze Logik des Addons in Node Red wurde verändert. über Get Stations Data bekommt man keine Daten mehr. man muss get measurements nehmen aber da finde ich auch nur meine Innenstation.
Ich kann bisher keinen Unterschied feststellen. Meine Daten kommen wie bisher rein.
Hab grad geschaut, läuft nach wie vor problemlos. Der Unterschied ist doch eigenlich nur das Get Stations Data die Livedaten liefert und Get Measurements die Historie, oder ?
Hi,
genau. Get Stations Data liefert die letzten übermittelten Werte (alle 10 Minuten) und mit Get Measurements kann man sich die historischen Werte ausgeben lassen.
Hallo Björn,
danke erstmals für deine Ideen bzw. deine Anleitungen.
Ich habe deinen Flow bei mir in Node-Red eingefügt und wenn ich dann einen Debug Node anschließe bekomme ich folgende Fehlermeldung
node: Main-Module
function : (error)
„TypeError: Cannot read property ‚0‘ of undefined“
Kannst du mir das helfen?
ich habe Node-red 1.0.1 im Einsatz. Darunter läuft Raspbian Butter.
Ich hab den Fehler gefunden. War der Falsche Node. Funktioniert alles bestens.
Hallo Zusammen
Habe meine Netatmo Wetterstation heute eingerichtet. Funktioniert alles super.
Danke an Björn für die tolle Anleitung.
Leider habe ich es nicht geschaft an die Daten meines Regenmessers zu kommen.
Hat das schon mal wer erfolgreich probiert?
Vielen Dank für eure Antworten.
Hallo Björn,
welch ein großartiger Flow, absolut tolle Leistung mit einem sehr ansprechenden Dashboard!!! Den Flow runtergeladen, meine Daten angepasst und alles funktioniert! Danke für diesen wirklich außergewöhnlichen Flow. Ich habe meinen eigenen gleich gelöscht.
Hat irgendjemand eine Ahnung wie man den Regen- und Windmesser integrieren kann? Im Debug sind bei mir die Daten mit Pfad zu sehen, aber bisher habe ich es nicht hinbekommen, die Darstellung auf dem Dashboard zu errichten.
Beste Grüße
Heiner
Regenmessers
var msg1 = {};
msg1.payload = msg.payload.devices[0].modules[4].dashboard_data.Rain;
return msg1;
Hi Bjoern,
der Flow funktioniert prima bei mir. Klasse!!
Bin gerade dabei, die Darstellung anzupassen.
An welcher Stele im Flow werden denn die Größen gesetzt?
Wenn ich die Größen der einzelnen Elemente (z.B. 3×3) ändere, dann ist alles verschoben …
VG Juergen
Darstellung habe ich verstanden – ist eine 18×9 Matrix. Damit kann ich arbeiten.
Wie bekomme ich die Schriftgröße verändert und wie die Hintergrundfarbe?