ssmaart-Haus

netatmo Regen- & Windmesser-Daten im Fibaro HC2 anzeigen lassen

Geschrieben von boomx
ssmaart-Haus

Nachdem wir ja bereits den netatmo Windmesser und die netatmo Welcome in das Fibaro HomeCenter 2 integrieren konnten, darf der Regenmesser natürlich auch nicht fehlen. Wie es geht, könnt Ihr jetzt hier nachlesen.

Als Basis für unsere Szene dient uns das Skript des netatmo Windmesser. Das Skript kann nun die Werte beider Sensoren, also dem Windmesser, sowie auch des Regensensor per API auf den netatmo Servern abfragen und in Variablen speichern, sowie in einem Virtuellen Device darstellen. Solltet Ihr einen von den beiden Sensoren nicht besitzen: Kein Problem, das wird durch das Skript automatisch geprüft und die Werte werden dann nicht auf den netatmo Servern abgefragt.

Sofern Ihr noch keinen Regenmesser besitzt, könnt Ihr diesen übrigens für derzeit 62 € bei zum Beispiel bei Cyberport käuflich erwerben.

Neue Funktionen des netatmo Skriptes:

  • Skript erkennt automatisch, welche zusätzlichen Sensoren (neben der Wetterstation + Outdoormodul) eingerichtet sind und fragt nur die eingerichteten Sensoren ab
  • Für die Regenmenge werden 4 Werte abgefragt: Regenmenge stündlich, täglich, wöchentlich und monatlich
  • Prüfung, ob alle benötigten Variablen korrekt eingerichtet sind
  • Debug ist abschaltbar
  • Bugfix: Das Skript stürzt nicht mehr ab, wenn die API seitens netatmo nicht zu erreichen ist, sondern gibt eine Fehlermeldung unabhängig von den Debug-Einstellungen aus
netatmo_debug_1

Debug-Fenster bei aktiviertem Debug-Modus (debug = 1)

Beim erstmaligem Start wird es zu 98 % zu einer Fehlermeldung kommen. Dies liegt daran, dass die Variablen noch nicht eingerichtet sind. Ihr werdet durch das Skript informiert, welche Variablen noch über das Variablen-Panel eingerichtet werden müssen. Dies sind die im Bild gezeigten. Wenn Ihr die Variablen eingerichtet habt, dann läuft die Szene normal und ohne Änderungen weiter.

fehler_var

In rot wird signalisiert, dass noch Variablen eingerichtet werden müssen

netatmo Skript:

Das einzige, was Ihr an dem Skript noch ändern müsst, sind eure Daten der Seite dev.netatmo.com. Solltet Ihr auch das Virtuelle Device (findet Ihr am Ende des Textes) nutzen wollen, so müsst Ihr zusätzlich noch die ID von dem virtuellen Device in der Zeile 15 auf eure ID anpassen.

In der Zeile 13 könnt Ihr als Option den Debug-Modus aktivieren oder deaktivieren (0 = deaktiviert; 1 = aktiviert).

Wenn Ihr den Debug deaktiviert, dann erscheinen nur folgende zwei Zeilen im Debug. Das Skript erneuert danach alle 5 min die Werte:

debug_0

Debug-Fenster bei deaktiviertem Debug-Modus (debug = 0)

An der lokalen Variablen “refresh” solltet Ihr keine Änderungen vornehmen. Die Daten werden von der jeweiligen Station nur alle 5 min zu den netatmo Servern übertragen, weshalb eine kürzere Refresh-Zeit zwischen den Anfragen keinen Sinn machen würde.

Und natürlich, wie versprochen, gibt es das passende Virtuell Device dazu. Das könnt Ihr euch hier (klickt einfach auf das Bild) herunterladen. Dies könnt Ihr dann einfach über “Add/Remove device” importieren. Achtet dabei bitte drauf, dass die Datei die Endung .vfib hat.

netatmo_VD

 

Solltet Ihr noch weitere Ideen haben, was man mit der Integration umsetzen kann, dann würden wir uns über eure Kommentare freuen. Ihr könnt euch für die Szene und das Virtuelle Device noch die zwei Icons herunterladen. :)

Diesen Blogpost hat geschrieben ...

boomx

44 Kommentare

  • Ihr macht so viele tolle Sachen mit dem Fibaro HC2 das ich schon ganz heiß werde auch eines einzusetzen. Kann ich dort ich meine EnOcean Schalter und Eltako EnOcean Aktoren rein bekommen und auch Philips Hue Leichten und Schalter?

    • Hi,

      zu den EnOcean’s kann ich dir leider nichts sagen :( Die Schalter sollten auf eigentlich funktionieren. Zu den Hue’s kann ich dir was nächste Woche sagen, da kommen meine nämlich. ;) Gibt aber auf jeden Fall ein Plugin von Fibaro für die Hue’s.

      Gruß

  • Mit den Regenwerten in einer Variable lässt sich im Sommer sicherlich die Bewässerung optimieren – wenn innerhalb von 24 Stunden eine bestimmte Regenmenge nicht überschritten wurde, geht die Bewässerung an oder eben nicht. Cool!
    Schade, dass aufgrund des Übertragungsdelays keine unmittelbare/just-in-time Regeninformation möglich ist.

  • Hallo boomx,

    wenn ich die Szene starte erhalte ich keine Meldung, ob die Authentifizierung funktioniert hat oder nicht. Debug steht auf 1.
    Es kommen lediglich folgende 2 Meldungen und dann nichts mehr:

    DEBUG] 13:23:25: netatmo Zusatzmodul Integration v.1.2 gestartet.
    DEBUG] 13:23:25: Daten werden alle 5 min aktualisiert. Bei debug = 0 wird nichts debuggt

    Wo könnte der Fehler liegen? Danke!

    Grüsse

    awlieser

    • Hi,

      was meinst du mit Szene starten? Bist du dir sicher, dass du den Debug auf 1 hast. Bei mir funktioniert es ohne Probleme:

      [DEBUG] 20:17:17: netatmo Zusatzmodul Integration v.1.2 gestartet.
      [DEBUG] 20:17:17: Daten werden alle 5 min aktualisiert. Bei debug = 0 wird nichts debuggt
      [DEBUG] 20:17:18: oAuth 2.0 durchgeführt.
      [DEBUG] 20:17:18: netatmo Sensoren werden gesucht...
      [DEBUG] 20:17:18: Regensensor 05:00:00:01:15:3a erkannt.
      [DEBUG] 20:17:19: Regenmenge: 0 mm2 (hour)
      [DEBUG] 20:17:19: Regenmenge: 0 mm2 (day)
      [DEBUG] 20:17:20: Regenmenge: 7.575 mm2 (week)
      [DEBUG] 20:17:20: Regenmenge: 35.451 mm2 (month)

      Gruß

      • Hallo boomx,

        na, ich klicke auf Start … Dann kommen die ersten zwei Zeilen und dann nichts mehr. Debug ist auf 1, sonst kämen ja die ersten Meldungen auch nicht.

        Grüsse

        awlieser

  • Regensensor funktioniert einwandfrei, als ich aber gestern den Windmesser installiert habe, sehe ich Daten im Netatmo-Portal aber im Virtuellen Device nur 0 Werte beim Wind.

    Woran kann das liegen ?

    Grüße

    Gerhard

  • Hi,

    funktioniert nach einem Neustart der Box – hat sich wohl einiges “verdreht”. Hatte auch kein Update der Uhrzeit mehr.

    Besten Dank

    Liebe Grüße

    Gerhard

  • Hallo,
    bei mir bleibt das Script leider mit folgender Meldung hängen:

    [DEBUG] 17:03:31: oAuth 2.0 durchgeführt.
    [DEBUG] 17:03:31: netatmo Sensoren werden gesucht…
    [DEBUG] 17:03:31: Regensensor 05:00:00:01:17:4e erkannt.
    [ERROR] 17:03:31: LUA error: /opt/fibaro/scenes/37.lua:155: attempt to concatenate global ‘int_id’ (a nil value)

    Danke und Gruß

      • Hi,
        ich habe Regen- und Windsensor im Einsatz. Mittlerweile glaube ich, dass das Problem nicht an Deinem Skript liegt. Die Daten, die bei mir über das Netatmo Plugin importiert und in der grafischen Oberfläche des HC2 (4.056) angezeigt werden sind neuerdings entweder veraltet (Außentemperatur und Luftfeuchtigkeit) oder fehlen ganz (z.B. Indoor Noise, CO2 und Rain Gauge). Habe das Plugin vorhin neu installiert, aber keinen Erfolg erzielt. In der Netatmo-Oberfläche sind die Daten jedoch korrekt und vorhanden. Evtl. arbeitet das API nicht korrekt? Vielleicht hängt Dein Skript ja deswegen bei mir…
        Gruß

      • Hallo NatP,
        nein leider nicht. Das Skript läuft einfach nicht. Allerdings funktioniert bei mir das netatmo Plugin auch nicht mehr (s.o.). Ich erhalte zwar die Meldung “your account is connected”, aber es werden keine Daten (Temperatur, etc.) mehr übertragen, die Werte bleiben alle auf “0”. Ich vermute einen Bug des HC2, da ich die netatmo permanent und ohne Probleme über ein altes Pad und Imperihome “auslesen” kann. Ganz am Anfang hatte es mal eine Zeit lang mit dem HC2 funkioniert: ich ließ auf der Westseite meines Hauses die Rolläden schließen, wenn der netatmo Regensensor Niederschlag meldete. Den Zeitpunkt, ab wann es dann nicht mehr funktionierte, habe ich nicht richtig mitbekommen, ich vermute aber ein Firmware-Upgrade des HC2. Ganz erstaunlich ist meines Erachtens, dass ich seit dem auch Probleme mit der netatmo Welcome habe. Ich lese den Anwesenheitsstatus der Welcome mit dem HC2 aus (siehe Artikel von Daniel vom 11.11.2015 auf siio.de), muss aber jeden Tag das HC2 neu starten, da sich die Schnittstelle regelmäßig “aufhängt” und der Anwesenheitsstatus nicht mehr aktualisiert wird. Ich denke daher, dass es an Fibaro liegt und habe das Problem auch dort gemeldet. Man versprach, es an die Developer weiterzuleiten.
        Gruß

        • Hi,

          mit der Firmware 4.070 habe ich keine Probleme mit den Daten von netatmo. Das Skript für die Welcome-Kamera habe ich im Moment nicht laufen. (Werde es mal wieder testen…)

          Läuft bei dir beides über die gleiche ClientID? Kann es vielleicht sein, dass die für neue Anfragen aufgrund zu vieler Anfragen gesperrt wird? Wäre eine Erklärung, warum es nicht mehr läuft.

          Gruß

          • Hi,
            ja Du lagst goldrichtig: ich habe nun mehrere Client-IDs angelegt und seit dem läuft das netatmo-Plugin wieder.

            Das Script bricht jedoch nach wie vor ab:
            [DEBUG] 18:18:42: netatmo Zusatzmodul Integration v.1.2 gestartet.
            [DEBUG] 18:18:42: Daten werden alle 5 min aktualisiert. Bei debug = 0 wird nichts debuggt
            [DEBUG] 18:18:43: oAuth 2.0 durchgeführt.
            [DEBUG] 18:18:44: netatmo Sensoren werden gesucht…
            [DEBUG] 18:18:44: Regensensor 05:00:00:01:17:4e erkannt.
            [DEBUG] 18:18:44: [1;31m2016-04-13 18:18:44.613104 [ fatal] LUA error: /opt/fibaro/scenes/148.lua:155: attempt to concatenate global ‘int_id’ (a nil value)

            Gruß

  • Hi,

    hast du zufällig mehrere Wetterstationen im Einsatz? Die Variable int_id bezieht sich auf die Wetterstation, zu dem der Regen/Windsensor zugeordnet ist. Möglicherweise kommt es hier zu einem Problem

    Gruß

  • Nabend schön,

    gab es eigentlich einen besonderen Grund, warum der API-Abruf über die LUA-Szene durchgeführt wird und nicht gleich/unmittelbar im VD?

    Danke
    VG Hoggle

  • Hallo,
    ich habe folgendes Problem:
    Das debugging in der Scene sagt mir ständig das folgende Variablen nicht gefunden werden können.
    So wie ich das verstehe kann er die DAten nicht an das virtuelle Gerät übertragen.
    aber die ID ist richtig

    local vd_ID = 197
    URL vom vd =
    URL/IP-ADRESSE//fibaro/de/devices/virtual_edit.html?id=197#bookmark-advanced

    Oder verstehe ich da etwas ganz falsch ?
    Über hilfe würde ich mich sehr freuen

    [DEBUG] 13:21:16: netatmo Zusatzmodul Integration v.1.2 gestartet.
    [DEBUG] 13:21:16: Daten werden alle 5 min aktualisiert. Bei debug = 0 wird nichts debuggt
    [DEBUG] 13:21:16: oAuth 2.0 durchgeführt.
    [DEBUG] 13:21:17: netatmo Sensoren werden gesucht…
    [DEBUG] 13:21:17: Regensensor 05:00:00:01:d4:ae erkannt.
    [DEBUG] 13:21:17: Windmesser 05:00:00:01:d4:ae erkannt.
    [DEBUG] 13:21:19: Varible rain_hour nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Regenmenge: 0 mm2 (hour)
    [DEBUG] 13:21:19: Varible rain_day nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Regenmenge: 0 mm2 (day)
    [DEBUG] 13:21:19: Varible rain_week nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Regenmenge: 81.81 mm2 (week)
    [DEBUG] 13:21:19: Windmesser wird ausgelesen…
    [DEBUG] 13:21:19: Windgeschwindigkeit: 2 km/h
    [DEBUG] 13:21:19: Varible windstaerke nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Varible windrichtung nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Varible boenstaerke nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Varible boenrichtung nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Windmesser auslesen beendet.
    [DEBUG] 13:21:19: Varible rain_month nicht gefunden. Bitte anlegen
    [DEBUG] 13:21:19: Regenmenge: 107.262 mm2 (month)
    [DEBUG] 13:26:16: oAuth 2.0 durchgeführt.
    [DEBUG] 13:26:17: netatmo Sensoren werden gesucht…
    [DEBUG] 13:26:17: Regensensor 05:00:00:01:d4:ae erkannt.
    [DEBUG] 13:26:17: Windmesser 05:00:00:01:d4:ae erkannt.
    [DEBUG] 13:26:19: Varible rain_day nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Regenmenge: 0 mm2 (day)
    [DEBUG] 13:26:19: Varible rain_hour nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Regenmenge: 0 mm2 (hour)
    [DEBUG] 13:26:19: Windmesser wird ausgelesen…
    [DEBUG] 13:26:19: Windgeschwindigkeit: 2 km/h
    [DEBUG] 13:26:19: Varible windstaerke nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Varible windrichtung nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Varible boenstaerke nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Varible boenrichtung nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Windmesser auslesen beendet.
    [DEBUG] 13:26:19: Varible rain_week nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Regenmenge: 81.81 mm2 (week)
    [DEBUG] 13:26:19: Varible rain_month nicht gefunden. Bitte anlegen
    [DEBUG] 13:26:19: Regenmenge: 107.262 mm2 (month)
    [DEBUG] 13:31:16: oAuth 2.0 durchgeführt.
    [DEBUG] 13:31:17: netatmo Sensoren werden gesucht…
    [DEBUG] 13:31:17: Regensensor 05:00:00:01:d4:ae erkannt.
    [DEBUG] 13:31:17: Windmesser 05:00:00:01:d4:ae erkannt.
    [DEBUG] 13:31:19: Windmesser wird ausgelesen…
    [DEBUG] 13:31:19: Windgeschwindigkeit: 2 km/h
    [DEBUG] 13:31:19: Varible windstaerke nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Varible windrichtung nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Varible boenstaerke nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Varible boenrichtung nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Windmesser auslesen beendet.
    [DEBUG] 13:31:19: Varible rain_hour nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Regenmenge: 0 mm2 (hour)
    [DEBUG] 13:31:19: Varible rain_day nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Regenmenge: 0 mm2 (day)
    [DEBUG] 13:31:19: Varible rain_week nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Regenmenge: 81.81 mm2 (week)
    [DEBUG] 13:31:19: Varible rain_month nicht gefunden. Bitte anlegen
    [DEBUG] 13:31:19: Regenmenge: 107.262 mm2 (month)

    • Du musst im Fibaro Home Center auf: Steuerung > Variablen Steuerung gehen und dort die Variablen anlegen, welche er dir im Debug mit nicht angelegt meldet.
      In deinem Fall musst du eine neue Variable erstellen und diese benennen mit: rain_hour , dann eine weitere anlegen und diese benennen mit: rain_day , dann rain_week usw.
      Das Script wird die gemessenen Werte dann dort in die Variable schreiben um Sie zu speichern – erst dann kann das VD die Werte von dort auslesen.

  • Ein Regenmesser war defekt und ich habe ihn nun gegen einen neuen getauscht. Seit dem läuft die Szene bei mir auch nicht mehr. Bekomme jetzt folgende Fehlermeldung:

    [DEBUG] 16:46:01: netatmo Zusatzmodul Integration v.1.2 gestartet.
    [DEBUG] 16:46:01: Daten werden alle 5 min aktualisiert. Bei debug = 0 wird nichts debuggt
    [DEBUG] 16:46:01: oAuth 2.0 durchgeführt.
    [DEBUG] 16:46:02: netatmo Sensoren werden gesucht…
    [DEBUG] 16:46:02: [1;31m2016-06-18 16:46:02.283987 [ fatal] LUA error: /opt/fibaro/scenes/448.lua:93: attempt to concatenate global ‘rain_id’ (a nil value)

    Ich habe schon ein neues Netatmo Plugin und eine neue App erstellt.

    Kann sich jemand erklären, woran es liegt?

    Gruß
    Hübi

      • Was meinst du mit zugeordnet? Das hier: com.fibaro.multilevelSensor ?

        Ich habe jetzt den noch einmal alles von Netatmo komplett von dem HC2 deinstalliert. Zusätzlich habe ich das Modul Regemesser noch mal von Netatmo Basis entfernt und wieder neu hinzugefügt. Dann nochmal das Plugin installiert und die Szenen neu erstellt. Die Fehlermeldung bleibt die gleiche.

        Die Windmesser-Szene läuft übrigens tadellos, nur der Regenmesser zickt rum.

        Viele Grüße

        Hübi

  • Hallo,

    freudige Nachricht, die Szene läuft. Ich kann mir es nur so erklären, dass nach dem Entfernen und Neueinbindens des Regensensors für einige Zeit keine Werte durch die API geliefert werden.

    22:13:27: netatmo Zusatzmodul Integration v.1.2 gestartet.
    22:13:27: Daten werden alle 5 min aktualisiert. Bei debug = 0 wird nichts debuggt
    22:13:27: oAuth 2.0 durchgeführt.
    22:13:28: netatmo Sensoren werden gesucht…
    22:13:28: Windmesser 06:00:00:00:5a:84 erkannt.
    22:13:28: Regensensor 05:00:00:02:87:ce erkannt.
    22:13:30: Regenmenge: 4.343 mm2 (day)
    22:13:30: Regenmenge: 4.343 mm2 (week)
    22:13:30: Regenmenge: 2.02 mm2 (hour)
    22:13:30: Regenmenge: 4.343 mm2 (month)
    22:13:30: Windmesser wird ausgelesen…
    22:13:30: Windgeschwindigkeit: 3 km/h
    22:13:30: Windmesser auslesen beendet.

    Danke für dein Engagement. :)

    Gruß Hübi

  • Habe immer wieder den Fehler unter 4.090

    [DEBUG] 15:41:17: netatmo Zusatzmodul Integration v.1.2 gestartet.
    [DEBUG] 15:41:17: Daten werden alle 5 min aktualisiert. Bei debug = 0 wird nichts debuggt
    [DEBUG] 15:41:18: oAuth 2.0 durchgeführt.
    [DEBUG] 15:41:18: netatmo Sensoren werden gesucht…
    [DEBUG] 15:41:18: [1;31m2016-07-16 15:41:18.964166 [ fatal] LUA error: /opt/fibaro/scenes/114.lua:90: attempt to concatenate global ‘rain_id’ (a nil value)

Gib deinen Senf dazu!