Ich habe schon einmal einen Artikel darüber geschrieben, wie ich mit einem JeeLink-USB-Stick Temperatursensoren ausgelesen habe. Die Sensoren waren damals welche von legrand. Das Ganze funktionierte, aber es nervte doch, für jedes Frequenzband und jeden Hersteller einen eigenen USB-Stick haben zu müssen. Schon vor einigen Jahren habe ich dieses Setup durch eine Wetterstation von Netatmo (mittlerweile von legrand aufgekauft) ersetzt. Deren Hauptmodul wird per WLAN angebunden und außerdem gibt es eine eigene schicke App und Anbindungen an Alexa dafür. Da die Messwerte aber durchaus hilfreich sein können, wollte ich Netatmo und FHEM verbinden. Zurückblickend auf meine schon gesammelten Erfahrungen mit FHEM war das vielleicht das Einfachste, was ich bisher gemacht habe 🙃.
Wie für jedes einigermaßen moderne IoT-Device, gibt es auch für Netatmo-Geräte eine API. Um diese mit einem selbst betriebenen, also nicht in der Cloud angebotenen, Dienst zu bedienen, muss man sozusagen eine App sein. Oder technischer gesprochen: Man benötigt OAuth2-Credentials, um sich zu authentifizieren. Diese habe ich mir geholt, indem ich mich auf dev.netatmo.com mit den Zugangsdaten angemeldet habe, die ich sowieso für die Netatmo-App haben musste. Auf dieser Seite konnte ich dann rechts oben auf meinen Benutzernamen klicken und ‚My apps‘ wählen. Mit dem Button ‚Create‘ war die App schnell erstellt. Und das was hier OAuth2-typisch ‚App‘ heißt, sind lediglich alle Daten, die für den Betrieb einer App notwendig sind. In erster Linie sind das die Client ID und das Client Secret.
Damit kann ich nun schon Netatmo und FHEM verbinden. In der Befehlszeile des FHEM Web-Interfaces ist folgender Befehl einzutragen, wobei nur die Werte in <> zu ersetzen sind:
1 |
define Wetter netatmo ACCOUNT <Email> <Passwort> <Client_ID> <Client_Secret> |
Dies erstellt ein neues Device names ‚Wetter‘, in dem weitere Befehle ausgewählt werden können. Der einzige Befehl, den ich noch nutzte, war set Wetter autocreate . Danach tauchten meine Netatmo-Geräte schon in FHEM auf. Im FHEM Docker Container lief das alles automatisch. Für andere Plattformen ist vielleicht doch ein Blick ins Wiki notwendig.
Das war’s schon! Jetzt sind alle Temperaturfühler von Netatmo in FHEM enthalten und die Temperaturen in verschiedenen Räumen oder von Außen, die Luftfeuchtigkeiten, der Lärmpegel an der Hauptstation oder auch Regenmengen und Windstärke können Aktoren triggern. Eines ist jedoch unbedingt zu bedenken: Die Netatmo-Geräte brauchen eine Weile, bis sie aktuelle Werte liefern. Soll ein Dachfenster bei Regen geschlossen werden, dürfte es schon eine beträchtliche Pfütze im Zimmer geben, bevor Netatmo ein Signal gibt.
2 Antworten
Hallo,
seit dem letzte black friday hab ich nun auch eine Netatmo Wetterstation und versuche diese seitdem mit FHEM zu verbinden. Die App-Erstellung hat soweit funktioniert. Nach dem Erstellen des neuen Gerätes mit der von dir oben angegebenen Befehlszeile (mit angepassten Daten) bekomme ich in FHEM immer die Fehlermeldung LOGIN FAILED und als Ursache „invalid client“. Woran kann das liegen?
Viele Grüße
Andreas
Moin Andreas,
seit meinem Umzug habe ich FHEM erstmal auf Eis gelegt und habe derzeit auch keine Instanz am Laufen. Wenn ich mich richtig erinnere, dann war DEV-Account bei Netatmo etwas anstrengender einzurichten. Lies doch nochmal auf https://wiki.fhem.de/wiki/Netatmo nach und denke daran, unter https://dev.netatmo.com/ / https://dev.netatmo.com/apps/createanapp#form eine App anzumelden – genau das ist FHEM nämlich in diesem Punkt. Wenn es dann noch immer nicht funktioniert, dann frage doch bitte mal im FHEM-Forum nach.
Viele Grüße,
auch Andreas 😉