Netatmo und Node-RED

node red logoMeine 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.

netatmo connect

Anschließend könnt ihr die Client Id und das Secret auslesen. Dieses benötigen wir später.

netatmo connect

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.

netatmo und node-red

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.

netatmo node-red dashboard

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.

16 Gedanken zu „Netatmo und Node-RED“

  1. 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;
    }

    Antworten
  2. 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

    Antworten
  3. 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.

    Antworten
  4. 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

    Antworten
  5. 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?

    Antworten
  6. 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.

    Antworten
  7. 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

    Antworten

Schreibe einen Kommentar