Meine Basteleinen mit Node-RED gehen weiter und so habe ich nun einen Flow erstellt um Netatmo und Node-RED miteinander zu verbinden und meine Daten in einem Dashboard zu visualisieren.
Dieser Flow eignet sich nur für Besitzer der Basisstation, da weitere Module nicht angezeigt werden. Hier gibt es auch einen Node, aber an den hab ich mich noch nicht heran getraut. Ich werde mich in den nächsten Wochen daran wagen, da ich ein weiteres Modul besitze, aber dazu brauche ich noch etwas Zeit.
Netatmo Connect
Um einer dritten Applikation Zugang zu euren Netatmo Messwerten zu erlauben, müsst ihr mittels NETATMO connect eine App erstellen. Ihr meldet euch dazu mit euren Zugangsdaten an und geht auf Create an App. Nun vergebt ihr einen Namen und gebt eine Beschreibung an.
Anschließend könnt ihr die Client Id und das Secret auslesen. Dieses benötigen wir später.
Konfiguration von Node-RED
Den Flow habe ich auf GitHub gestellt. Über das Menü-Symbol in der rechten oberen Ecke und Manage palette >> Install >> node-red-contrib-netatmo-dashboard findet ihr den entsprechenden Node. Nachdem ihr diesen importiert habt, müsst ihr den NetAtmo Dashboard Node anpassen und eure Netatmo Zugangsdaten und die Client-ID und das Client Secret angeben. Danach könnt ihr die Daten in einem Dashboard anzeigen.
Ich lasse den Flow alle fünf Minuten triggern, da die Netatmo-Sensoren nur alles 10 Minuten neue Werte liefern. Der Funktionsblock spaltet danach die Payload in die einzelnen Daten auf.
Damit könnt ihr nun euer Dashboard aufbauen. Eigentlich bietet die eigene Netatmo App genug, jedoch ,dank Node-RED, kann ich Daten aus verschiedenen Quellen auf einem Dashboard visualisieren. Für jemanden wie mich, der Visualisierungen liebt, ein geniales Tool.
Als nächstes werde ich versuchen die Daten des weiteren Moduls abzufragen und auch meine Hue Lampen können mit Node-RED verarbeitet werden. Es gibt also noch einiges zu tun und genug Material für weitere Blogposts. Ebenfalls auf der ToDo-Liste steht die Auswertung meiner TTN-Daten, dieses ist aber so gut wie erledigt. Also bleibt am Ball.
Hi,
auch hier danke für den blog, hier hat es auf anhieb geklappt
was mir nicht gefallen hat ist das „denglisch“ bei luftdruck und aussentemperatur, deshalb hab ich bei mir noch eine funktion zum übersetzen der werte eingebaut.
if (msg.payload == „up“) {
var msg = { payload: „steigend“ };
return msg;
} else if (msg.payload == „down“) {
var msg = { payload: „fallend“ };
return msg;
} else if (msg.payload == „stable“) {
var msg = { payload: „gleichbleibend“ };
return msg;
}
Danke,
guter Hinweis.
Hallo Björn
Es wäre für die Anfänger wie ich sicher sehr hilfreich, wenn du den Code vom Funktionsblock noch posten könntest. Ich hab kein Plan wie das geht.
thx
na-am
Im Beitrag ist ein Link zu GitHub. Dort ist der gesammte Flow hinterlegt inkl dem Funktionsblock:
GitHub
Grüße
Björn
achso, danke, hab ich übersehen
ok, dann also copy/paste 😉
Hallo Björn,
hast Du mal versucht, den Regensensor aus dem Node auszulesen? Ich finde keinen Ansatz.
Danke im Voraus.
Roland
Hallo Roland,
leider habe ich keinen Regensensor und kann dir deshalb nicht weiter helfen.
Grüße,
Björn
Hallo Björn,
vielen Dank für Deine Rückmeldung. Habe den Weg im zweiten Teil Deines Netatmo-Beitrags gefunden (https://www.bjoerns-techblog.de/2017/08/netatmo-und-node-red-part-2/). Hatte die falschen note-red-contrib Palette eingebunden 🙂
Vielen Grüße,
Roland
Hi, ich habe gerade beim Entwickler von netatmo-dashboard einen pull request gemacht. Habe den Datenstrom etwas erweitert sodass man jetzt einen compakten Datensatz (mit Regensensor) und einen Detaildatensatz mit allen Infos bekommen kann.
Hallo an alle die weiter sind als ich! (Wahrscheinlich alle)
ich trampele bei meinen Versuchen die Wetterstation einzurichten auf der Stelle.
Ich versuche seit mehreren Tagen auch diese grafische Auswertung hinzubekommen.
Die Grafik funktioniert. Leider kommen keine Werte der Netatmo bis zu der Grafik.
Das Programm habe ich erst einmal mit copy and paste genutzt.
Scheinbar hat er auch eine Verbindung zu netatmo, da er sich beschhwert, wenn ich meine Zugangsdaten verfälsche. Ich erhalte immer die folgende Fehlermeldung:
18.12.2018, 22:05:37node: Main-Module
function : (error)
„TypeError: Cannot read property ‚0‘ of undefined“
18.12.2018, 22:05:37node: Outer-Module
function : (error)
„TypeError: Cannot read property ‚0‘ of undefined“
18.12.2018, 22:05:37node: Inner-Module
function : (error)
Die config vom Outer Modul sieht so aus:
var msg1 = {};
var msg2 = {};
var msg3 = {};
var msg4 = {};
var msg5 = {};
msg1.payload = msg.payload.devices[0].modules[0].dashboard_data.Temperature;
//msg2.payload = msg.payload.devices[0].modules[0].dashboard_data.temp_trend;
msg3.payload = msg.payload.devices[0].modules[0].dashboard_data.Humidity;
msg4.payload = msg.payload.devices[0].modules[0].dashboard_data.min_temp;
msg5.payload = msg.payload.devices[0].modules[0].dashboard_data.max_temp;
return [msg1,msg2,msg3,msg4,msg5];
Versucht er die falschen Werte abzugreifen? Wie sind die einzelnen Module der Netatmo codiert.
Leider finde ich auch nichts großes mit Google. Ich werde immer wieder hier her geschickt.
Ich hoffe Ihr könnt mir helfen.
Lars
Hallo,
besten Dank für diese gute Erläuterung.
Eine Frage habe ich noch, ich habe den Flow so übernommen und der läuft. Nun habe ich einen zweiten Flow zusätzlich erstellt, wo ich einfach die CO2 Daten auswerten möchte.
Mein Problem, nur ein Flow erhält Daten… Muss ich nun für jeden Flow eine neue APP in Netatmo Connect erstellen?
Hi,
ich würde nein sagen, aber du kannst es natürlich gerne versuchen.
Habs versucht, aber klappt eben nicht 🙂 Danke vielmals.
Weisst du auch wie ich den Rain Gauge und Windsensor abfragen kann, das hab ich leider noch nicht hinbekommen.
Hallo,
ich habe den Flow übernommen und die Zugangsdaten erfasst. Total genial.
Leider kommen keine Daten von der Netatmo. Was kann falsch sein?
Bitte gebt mir einen Tip.
Grüße Fred
Hallo,
ich bekomme das nicht ans Laufen – Netatmo hat auf OAUTH2 umgestellt – hat das damit zu tun?
VG Jürgen
Hi,
es funktioniert bei mir mit dem Node
node-red-contrib-netatmo-dashboard
Danach müssen die Funktions-Nodes noch etwas angepasst werden.
Grüße,
Björn