Netatmo und Node-RED – Part 2

netatmo logoIch 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.

netatmo node-red flow

 

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.

netatmo node-red dashboard

40 Gedanken zu „Netatmo und Node-RED – Part 2“

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Antworten

Schreibe einen Kommentar