11

netatmo Windmesser ins Fibaro HomeCenter 2 integrieren – So geht’s

by boomx3. November 2015

Chris hatte euch vor 2 Tagen den neuen netatmo Windmesser vorgestellt. Wie Ihr diesen nun in euer Fibaro HomeCenter 2 integriert, zeigen wir euch jetzt.

Wie wir ja leider alle wissen, dauert die Integration von neuen Geräten bei Fibaro immer ein wenig länger. Von daher haben wir uns nach dem Erhalt des netatmo Windmesser gedacht, warum warten… Wir programmieren es einfach selbst. Dank der offenen Schnittstelle von Netatmo auch kein Problem. Das Ergebnis findet Ihr hier in diesem Artikel.

Um den Windmesser auslesen zu können, muss dieser mit eurer netatmo Wetterstation verbunden sein. Solltet Ihr das Plugin des Fibaro HomeCenter 2 bereits nutzen, dann besitzt Ihr schon einen Developer-Account auf der netatmo-Seite.

Die Einrichtung der Windmesser Szene

Kommen wir nun zu der eigentlichen Integration. Diese besteht zum einen aus einer Szene, welche die API-Calls auf die netatmo-Schnittstelle ausführt und die Daten in globale Variablen schreibt und zum anderen aus einem Virtuellen Device, welches euch die Werte anzeigt. Jetzt fragt Ihr euch sicherlich, warum dann nicht gleich ein Virtuelles Devices? Berechtigte Frage, aber leider können mit einem Virtuellen Device keine https-Verbindungen aufgebaut werden. Dies funktioniert bisher nur in Szenen und auch nur mit der Firmware-Version 4 des Fibaro HomeCenters 2. Also, erstellt euch eine neue Szene und kopiert nachfolgenden Code in eure Szene:

Hier müssen diesmal nicht viele Änderungen vorgenommen werden. Es müssen lediglich eure Daten der freigegebenen App auf der Seite dev.netatmo.com (siehe Bild; Variablen sind nach client_id (Skript) = Client id (netatmo), client_secret = Client secret benannt) plus die User/Passwort-Kombination eures Accounts in den Zeilen 8-12 eingetragen werden.

dev_netatmo

Eure Daten unter dem Developer-Account

Dann müsst Ihr euch noch unter dem Reiter „Panels“, „Variablen Panel“ über die Schaltfläche „Add“ vier Variablen hinzufügen. Diese müssen heißen:

  1. windstaerke
  2. windrichtung
  3. boenstaerke
  4. boenrichtung

Wenn Ihr alles richtig eingerichtet habt, dann sollte das Skript starten und alle 5 min die Werte aktualisieren. Folgendes sollte dann bei euch im Debug-Fenster erscheinen (Sollte dies nicht der Fall sein und Ihr erhaltet eine Fehlermeldung, dann habt Ihr einen Fehler bei euren Zugangsdaten gemacht):

Debug der Windmesser Szene

Debug ver der Windmesser Szene

Das Virtuelle Device für den Windmesser

netatmo_vd

Windmesser VD in der Übersichtsseite vom HC2

Mit dem Virtuellen Devices für den Windmesser könnt Ihr euch über die Weboberfläche des HomeCenters 2 die derzeitigen Windgeschwindigkeiten und Windrichtungen ansehen. Die Datei für den Import könnt Ihr euch hier herunterladen. Nachdem Ihr die Datei heruntergeladen und über „Add/Remove device“ importiert habt, müsst Ihr in dem oben geposteten Skript noch die ID des Virtuellen Devices anpassen. Dies könnt Ihr in Zeile 14 durchführen. Hier muss die ID des gerade importierten Devices eingetragen werden. Solltet Ihr diese ID nicht kennen, so könnt Ihr einfach in den Bearbeitungsmodus des devices wechseln. Dann findet Ihr die ID oben in der Browserzeile. Dadurch wird auch das VD aktualisiert und so sind dann immer die aktuellen Werte enthalten. Mit der Einrichtung seid Ihr jetzt fertig.

Wir haben natürlich auch wieder an die Icons für die Fibaro Werboberfläche gedacht:

Und nun viel Spass beim Windmessen ;) Wir freuen uns über eure Kommentare/Fragen/Anregungen.

Update:

Solltet Ihr nach der Einrichtung der Szene auf einmal viele Mails bezüglich Anmeldungen von IP XXX.XXX.XXX.XXX direkt von netatmo erhalten, so könnt Ihr diese auch deaktivieren. Loggt euch dazu mit euren Daten auf der Seite netatmo.com ein. Dann könnt Ihr rechts oben auf das mittlere Icon klicken (siehe Bild):

Netatmo Profil-Einstellungen

Netatmo Profil-Einstellungen (rotes Rechteck)

In dem neuen Fenster müsst Ihr runterscrollen und auf den Einstellungspunkt „E-Mail-Präferenzen“ klicken. Jetzt öffnet sich das Einstellungsmenü für den Mail-Versand eures Accounts. Wenn Ihr dies so einrichtet wie auf dem folgenden Bild, dann erhaltet Ihr keine Mails mehr.

Einstellungen im netatmo Account

Einstellungen im netatmo Account

siio-App
About The Author
boomx
11 Comments
  • Hoggle
    Hoggle
    4. November 2015 at 8:46

    Hi boomx,

    Sehr schöne Sache!
    Danke schön für die Arbeit!!!
    Fehlt nur noch der Sensor .

    Da die Werte in Globale Variablen gehen, sollten die Infos auch vielfältig nutzbar sein! Cool.
    Etwas vergleichbares fehlt noch für den Tegensensor.

    Kannst Du die Windrichtung statt in Grad auch in eine Himmelsrichtung „übersetzen“?

    Danke auch für den Tipp mit den Mails, die bekomme ich seit gestern zu Hauf!

    VG Hoggle

    • boomx
      4. November 2015 at 11:26

      Hi, danke :)

      Wo möchtest du es denn übersetzt haben? In der Szene oben könntest du die Zeilen 83-92 anpassen und im VD kannst du die Labels anpassen.
      Für den Regensensor gibt es auch eine Möglichkeit der Einbindung, wobei da natürlich nicht der aktuelle Wert interessant ist, sondern die Niederschlagsmenge in einem bestimmten Zeitrahmen. Leider hat keiner von uns einen, weshalb ich es nicht testen kann :( Kann dir aber gerne mal ein Skript zur Verfügung stellen.

      Gruß

  • Hoggle
    Hoggle
    4. November 2015 at 15:27

    Ja, genau. Die Regenmenge der letzten Stunde, Tages etc sind relevant.
    Ich spiele da gerne den Tester……

    Für das „übersetzen“ von Gradangabe zu zB Nord, NordOst etc. bedarf es erstmal auch des Matchings, welche Himmelsrichtung welcher Gradzahl zuzuordnen wäre.
    Danach habe ich aber noch nicht im Netz geguckt.

    VG Hoggle

    • boomx
      4. November 2015 at 16:23

      Ach jetzt hab ich es verstanden, was du meinst :D Sorry, stand auf dem Schlauch. Würde auch gehen, müsste man den Wert, welcher zurückkomt nochmal durch eine if-Schleife schicken.
      Wegen des Regensensor meld ich mich nochmal.

  • Hoggle
    Hoggle
    4. November 2015 at 22:32

    Für unsere Zwecke ist für die Windrichtung sicherlich die Achtelteilung ausreichen, oder?

    „Achtel werden aus den Namen der Viertel zusammengesetzt, wobei Nord und Süd vor West und Ost (O oder E) stehen: Nordwest, Nordost, Südost, Südwest – abgekürzt NW, NO oder NE, SO oder SE, SW.“
    https://de.wikipedia.org/wiki/Himmelsrichtung

  • Rolli
    Rolli
    15. November 2015 at 10:25

    Hi, also irgendwie habe ich da wohl einen Fehler drin, und das obwohl ich mich eigentlich genau an die Anleitung gehalten habe :
    [DEBUG] 21:31:43: Windsensor 06:00:00:00:23:86 erkannt!
    [DEBUG] 21:31:43: Windsensor auslesen
    [DEBUG] 21:31:43: [1;31m2015-11-14 21:31:43.803049 [ fatal] LUA error: /opt/fibaro/scenes/283.lua:79: attempt to index field ‚body‘ (a nil value)[0m
    [DEBUG] 21:35:45: netatmo-Windsensor Integration v.1.0 gestartet.

    Messwerte kommen natürlich leider auch nicht rein.

    Liebe Grüße,

    Rolli

    • 15. November 2015 at 14:10

      Hi Rolli,

      bei der Programmierung der welcome-Integration ist mir aufgefallen, dass öfter die API seitens netatmo nicht zu erreichen ist. Dadurch stürzt leider das Skript ab. Werde heute Abend eine kleine Prüfung einbauen, dass dies nicht mehr passiert. Wenn du die Szene nochmal neu abspeicherst sollte es eigentlich wieder laufen.

      Gruß

      • Rolli
        Rolli
        15. November 2015 at 17:32

        Glaube ich nicht, habe das schon mehrfach versucht, aber funktioniert leider nicht, in der App kommen die Daten auf jeden Fall richtig an.
        [DEBUG] 17:30:30: netatmo-Windsensor Integration v.1.0 gestartet.
        [DEBUG] 17:30:30: netatmo-oAuth durchgeführt…
        [DEBUG] 17:30:31: Windsensor wird gesucht…
        [DEBUG] 17:30:31: Windsensor 06:00:00:00:23:86 erkannt!
        [DEBUG] 17:30:31: Windsensor auslesen
        [DEBUG] 17:30:31: [1;31m2015-11-15 17:30:31.869076 [ fatal] LUA error: /opt/fibaro/scenes/283.lua:79: attempt to index field ‚body‘ (a nil value)[0m

        • 15. November 2015 at 20:43

          Hi,

          habe dir mal eine Mail mit dem neuen Code geschickt. Wäre cool, wenn du den mal testen könntest und mir falls es nicht funktioniert den debug zusenden könntest :)

          Danke

          Gruß

Leave a Response