Netatmo Wetterdaten

Wind und Wetter aus der Nachbarschaft mit Netatmo

Wetterdaten sind beliebte Indikatoren zur Steuerung von Ereignissen im Smart Home. Jedoch liegt die Prognosegüte der gängigen Vorhersagen bei „nur“ 80 bis 95%. Und das auch nur bei Vorhersagen für den aktuellen Tag. Damit das Smart Home zu steuern ist ein wenig wie Lotto spielen. Kann klappen, muss aber nicht.

Aber wie wäre es, wenn beispielsweise Deine Markise automatisch eingefahren wird, weil es bei einem Deiner Nachbarn zu regnen beginnt?

Im nachfolgenden Artikel zeige ich Dir, wie Du Wind- und Niederschlagsdaten für Aktionen in Deinem Smart Home nutzen kannst. Jedoch nicht Deine eigenen, sondern die Daten Deiner Nachbarn. Vieler Nachbarn, wenn Du das möchtest.

Woher kommen die Daten?

Hier kommen die Geräte von Netatmo ins Spiel. Aber nicht nur Deine eigenen, sondern auch die im Umkreis kannst Du zur Nutzung heranziehen. Und auch ohne eigene Wetterstation dürfte es funktionieren.

Netatmo kurz vorgestellt

Netatmo stellt smarte Geräte zur Überwachung des Raumklimas zur Verfügung die nicht nut modern aussehen, sondern auch recht gute Werte liefern. So zumindest meine Erfahrungen mit dem System.

Das Netatmo System
Das Netatmo System

Es werden unterschiedliche Module in diversen Zusammenstellungen angeboten. Die Zentrale wird mit dem WLAN verbunden und kann bis zu 4 weitere Innenraum-Modul, ein Außenmodul und je einen Wind- und Regensensor betreiben.

Die Geräte werden in unterschiedlichen Zusammenstellungen angeboten und die einzelnen Module können unterschiedliche Messerwerte erfassen. Die nachfolgenden Tabellen geben Aufschluß über Werte und Module.

Modul
Temperatur
Luftdruck
Luftfeuchtigkeit
CO2
Lautstärke
Zentrale
Innenmodul
Außemmodul
Modul
Windstärke
Windrichtung
Niederschlag
Windsensor
Regensensor

In meinem Wohnzimmer steht die Netatmo-Zentrale. Im Schlaf- und Arbeitszimmer je ein Innenmodul. Das System wird unter anderem zur Messung der Luftqulität (wie hier beschrieben) herangezogen.

Gesteuert wird das System mit einer eigenen App die zusätzlich zu den aktuellen Werten auch historische Aufzeichnungen bereit hält. Die Daten aus den Innenräumen stehen dabei nur dem Nutzer selbst (und Netatmo) zur Verfügung wo hingegen die aufgezeichneten Werte des Außenmoduls öffentlich verfügbar sind.

Datenschutz

So muss jeder Netatmo Benutzer der Verarbeitung und Nutzung seiner Daten zustimmen. Sicher ist die öffentliche Preisgabe des Standortes und der Messwerte nicht für Jeden etwas. Stichwort: Datenschutz. Mich persönlich stört es aber nicht, dass man im Internet sehen kann, wie warm es auf meiner Terasse ist und dass ich Netatmo betreibe.

Weiterhin stimmt der Nutzer zu, dass die Daten über eine API frei verfügbar sind. Und genau dieser API bedienen wir uns später im Artikel.

Daten aus der Nachbarschaft

Ein Blick auf die von Netatmo genrierte Wetterkarte von – beispielsweise Hamburg – lässt erahnen, wie beliebt die Geräte sind und was sich mit den Daten alles realisieren lässt. 

Netatmo Weathermap Hamburg
Netatmo Wetterkarte am Beispiel Hamburg

Ähnlich sieht es in Berlin und München aus. Aber auch in kleineren Städten und auf dem Dorf ist Netatmo vertreten. Die Verbreitung der Geräte ist beeindruckend. Und alle tragen dazu bei, Vorhersagen verlässlicher zu gestalten.

Daten für Dein Smart Home

Netatmo stellt neben der Karte auch eine Public API zur Verfügung aus der jeder registrierte Nutzer die Messwerte seiner eigenen Geräte abfragen kann.

Darauf basiert auch das im Home Center 2 verfügbare Plugin mit dem sich alle Module ins Smart Home integrieren lassen.

Weiterhin wird eine Schnittstelle mit den Daten aller Außenmodule innerhalb eines Koordinaten Rechtecks bereitgestellt. Genau dieser API bedient sich die hier vorgestellte Szene.

Funktionsumfang der Szene

Nach Einrichtung der Szene fragt diese im gewählten Intervall die API Daten ab und füllt vordefinierte globale Variablen damit.

Die zur Verfügung stehenden Werte sind:

Niederschlag in mm/h
Wind
Live
Windstärke in m/s
Letzten 24 h
Windrichtung in °
Letzten 60 m
Böhenstärke in m/s
Böhenrichtung in °

Damit Einzelwerte das Ergebnis nicht ungewollt beeinflussen bei Mengen und Windstärken jeweils der Durchschnitt aller gelieferten Zahlen benutzt.

Bei geschickter Wahl der Koordinaten weiß Dein Smart Home schon bevor es stürmisch wird, dass es sinnvoll ist die Markise einzufahren. Oder es erfolgt eine rechtzeitge Benachrichtigung wenn es an der Zeit ist die Gartenpolster vor dem aufkommenden Regen zu schützen.

Szene einrichten

Neben dem Lua Code für die Szene benötigst Du für den Betrieb einen Developer Account bei Netatmo und solltest Dir intensiv Gedanken über die Koordinaten-Rechteck machen aus dem Du Daten sammeln verarbeiten möchtest.

Developer Account bei Netatmo

Die Einrichtung des Developer Account erfolgt auf der Netatmo Connect Website unter https://dev.netatmo.com. Dort kannst Du mit einem Klick auf „My Account“ einen eigenen anlegen

Die Client ID, den Secret Key, Deinen Benutzernamen und das Passwort benötigst Du zur Einrichtung der Szene.

Ermittlung der GPS Koordinaten

Der nächste Schritt wirkt zu Anfang etwas verwirrend, denn die API verlangt zwei GPS Koordinaten zur Erstellung eines Koordinaten-Rechtecks. Alle in diesem Rechteck befindelichen Netatmo Außenmodule werden in die Abfrage inkludiert.

Dabei benötigst Du 2 GPS Koordinaten des Rechtecks. Die nordostliche und die südwestliche Ecke. Leider habe ich auf der Seite des Herstellers keine Möglichkeit der einfach Ermittlung gefunden. So habe ich mit der Seite gpskoordinaten.de bedient und mir dort die Koordinaten zweier Punkte besorgt.

Um die Koordinaten eines Punktes auf der Karte zu erhalten, musst Du einfach auf den Punkt klicken und bekommst folgende Werte angezeigt (Beispieldarstellung).

GPS-Daten ermitteln
GPS-Daten ermitteln
  • Die GPS Koordinaten der nordöstlichen Ecke sind in diesem Beispiel also:
  • Breitengrad: 53.571584
  • Längengrad: 9.983637
Die südwestliche Ecke des Rechtecks befindet sich bei:
  • Breitengrad: 53.558127
  • Längengrad: 9.952435

 Das ergibt auf der Karte in etwa folgendes Rechteck.

GPS-Daten Auswahl
GPS-Daten Auswahl

Mit der Szene lassen sich später alle Netatmo Außenmodule die sich innerhalb des Rechtecks befinden abfragen.

Optional: VD importieren

Im Downloadpaket ist ein virtuelles Device zur Anzeige der Daten aus der API enthalten. Wenn Du dieses nutzen möchtest, dann importiere dieses, trage die ID der Szene in das Port Feld ein und merke Dir die ID des virtuellen Devices (aus der Adresszeile Deines Browsers).

VD Import
VD Import

Die Szene konfigurieren

Im oberen Teil der Szene findest Du einen Bereich in dem Einstellungen hinterlegt werden. Hier müssen der zuvor angelegte Developer Account sowie die ermittelten GPS Koordinaten eingetragen werden. Mit der Variable updateInterval steuerst Du die Häufigkeit der Datenabfrage in Minuten.

Wenn Du das virtuelle Device benutzen möchtest, dann musst Du noch useVD auf true stellen und die ID des VD (bei vdID) eintragen.

---------------------------------------------------
------------- Config ------------------------------

_clientId 		= '5a2fb97833773xxxxxxxxxxx'
_clientSecure 	= 'Vf7YWJc0EIceVQKTAcjSP6ces7xxxxxxxxxxxxxxxxxx'
_nUser			= 'bastian@mkshb.de'
_nPassword		= 'passwort123'

_lat_ne 		= '53.571901'
_lon_ne			= '9.983637'
_lat_sw 		= '53.558127'
_lon_sw			= '9.952435'

gVarRain		= 'netatmoRain'
gVarWind		= 'netatmoWind'

updateInterval  = 2

useVD			= true
vdID			= 518

-- Sonstiges 
datatest			= true
advDebug			= true
version 			= 'v1.0'
Config Netatmo

Anlegen globaler Variablen

Zur Weiterverwendung der Daten werden diese in jeweils eine globale Variable für Regen- (netatmoRain) und Winddaten (netatmoWind) gespeichert.

Diese musst Du vor der Verwendung der Szene anlegen.

Globale Variablen
Globale Variablen

Verwendung der Daten

Die Daten werden im Auslieferungszustand lediglich in den globalen Variablen gespeichert und (optional) im virtuellen Device dargestellt.

Zur tatsächlichen Nutzung der Daten sind weitere Anpassungen notwendig. Wenn Du dabei Unterstützung brauchst, dann erstelle bitte einen Beitrag im Forum in dem Du Dein Vorhaben beschreibst.

Download

Changelog

Version 1.0: Initiale Version
Version 1.1: Ausnahmen für nicht vorhandene Sensoren hinzugefügt und useVD default auf false gesetzt.

Fragen oder Feedack?

Die Kommentarfunktion und das Forum nehmen alles gern entgegen.

11 Comments
  1. Hallo !

    Leider funktioniert die Szene nicht, gibt einen Fehler

    [DEBUG] 13:01:04: ——————–START——————————–
    [DEBUG] 13:01:04: ———– Netatmo Data v1.0 by mkshb.de ————
    [DEBUG] 13:01:04: ———————————————————–
    [DEBUG] 13:01:04: Manueller Start
    [DEBUG] 13:01:08: 5d8de7ef43c228000d010ede|8541538e8d0cb190caa0374436cae734
    [DEBUG] 13:01:09: Anzahl Netatmo-Regenwerte: 3
    [DEBUG] 13:01:09: Rain Live: 0mm/h
    [DEBUG] 13:01:09: Rain 60m: 0mm/h
    [DEBUG] 13:01:09: Rain 24h: 2.26mm/h
    [DEBUG] 13:01:09: Anzahl Netatmo-Windwerte: 0
    [DEBUG] 13:01:09: 2019-09-27 13:01:09.041765 [ fatal] LUA error: /opt/fibaro/scenes/44.lua:141: attempt to concatenate field ‚?‘ (a nil value)

    Was kann da falsch sein ?

    Liegt vermutlich daran, dass hier keine Windwerte verfügbar sind. Blöd wenn es dadurch in nen Fehler läuft.

    1. Hallo Fireblade,

      Du liegst richtig mit Deiner Vermutung, wenn kein Regen- und/oder Windsensor gefunden wird, kommt es in der Version 1.0 zu Fehlern.
      Ich habe dies korrigiert und eine Version 1.1 zur Verfügung gestellt.

      Danke für Deine Hilfe und beste Grüße
      Bastian

  2. Danke für die nette Idee mit dem Benutzen der Werte anderer Stationen! 🙂

    Man könnte noch den Link zur Wetterkarte von Netatmo angeben: https://weathermap.netatmo.com/

    Als Fix im Programm: Falls es keine Windstation gibt, gibt es einen Fehler im Lua-Skript und es geht nicht weiter.

    Default von useVD ggf. besser auf false setzen

    1. Hallo Alex,

      danke für Dein Feedback. Habe ich übernommen und auch eine Version 1.1 bereitgestellt.

      Beste Grüße
      Bastian

  3. Hi Bastian,

    leider komm ich mit dem Script nicht ganz klar.
    Ich habe wie von dir beschrieben den Netatmo Developer Account angelegt, die Globalen Variablen erstellt und mir die passenden Längen und Breitengrade heraus gesucht.
    Leider bekomme ich aber immer die Fehlermeldung: „Fehler beim Abfragen der API“

    [DEBUG] 21:39:21: ——————–START——————————–
    [DEBUG] 21:39:21: ———– Netatmo Data v1.1 by mkshb.de ————
    [DEBUG] 21:39:21: ———————————————————–
    [DEBUG] 21:39:21: Timer gestartet. Daten werden alle 5 Minuten abgerufen.
    [DEBUG] 21:39:22: 5d8e335043c228000b091b9c|be5756603f52e444aa9820a9c200e61a
    [DEBUG] 21:39:22: Fehler beim Abfragen der API

    Die Zugangsdaten scheinen korrekt zu sein, da das Script über die Token Abfrage kommt.
    Denn wenn ich abschtlich ein falsches PW einegeb, bekomme ich folgende Fehlermeldung:

    [DEBUG] 22:01:47: 2019-09-27 22:01:47.947803 [ fatal] LUA error: /usr/share/lua/5.2/json/decode/util.lua:35: unexpected character @ character: 1 0:1 [H] line:
    [DEBUG] 22:01:47: H

    Hast du eine Idee woran es liegen könnte?

    Anbei noch der Anfang des Codes:

    —————————————————
    ————- Config ——————————

    _clientId = ‚5d8e63b3cd7b8224bXXXXX‘
    _clientSecure = ‚PijiCsJVc5hzSzLhVepXXXXXX‘
    _nUser = ‚andil@XXX.com‘
    _nPassword = ‚XXXXXXXXX‘

    _lat_ne = ‚48.241193‘
    _lon_ne = ‚11.470394‘
    _lat_sw = ‚48.150269‘
    _lon_sw = ‚11.669315‘

    gVarRain = ’netatmoRain‘
    gVarWind = ’netatmoWind‘

    updateInterval = 5

    useVD = true
    vdID = 471

    Danke und Grüße

    Andi

    1. Hallo Andi,
      Du hast beim GPS Rechteck die Seiten vertauscht. Du brauch Nord/Ost und Süd/West.
      Deine Koordinaten zeigen aber Nord/West und Süd/Ost.

      Beste Grüße
      Bastian

  4. Hallo Bastian, vielen Dank für deine Bemühungen.
    Ich konnte es super umsetzen und es funktioniert tadellos.
    Gruß Manfred

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere

Wind und Wetter aus der Nachbarschaft mit Netatmo

von Bastian Lesezeit: 5 min