Netatmo Wetterstation einbinden

Ich setze eine Netatmo Wetterstation mit dem mitgelieferten Außenmodul und einem zusätzlichen Innenmodul für eine weitere CO² Messung in einem Innenraum ein.

Die CO² und Temperatur Messungen der Module sind erste Priorätät, aber ich habe auch weitere Abfragen erstellt:

Wenn ein Dachfenster offen ist und es bei anderen Stationen in der Gegend (Abstand in km und Richtung habe ich aus deren Geokoordinaten errechnet) anfängt zu regnen, bekomme ich eine Meldung per Telegram:

Es regnet in der Gegend! (0 | 0.1 | 13.9]
[1. Wert: eine bestimmte Station, 2. Wert: Durchschnitt aus allen abgefragten Stationen, 3. Wert: Maximum]
Es regnet! Dachfenster noch offen!

Bzgl. der Abfrage der eigenen Station und öffentlich zugänglicher Stationen hat sich bei Netatmo 2023 der Aufruf der API geändert (bei manchen Benutzern hatte die Änderung erst 2024 Auswirkungen), so dass die bisherigen Netatmo Nodes nicht mehr funktionierten und ich (nach diversen Tipps im Node-RED Forum) die Netatmo API per OAuth2 abfrage und damit auch wieder aktuell Werte erhalte.

Dazu benutze ich die folgende Node-RED Flows:

Dieser Flow kümmert sich um die Aktualisierung des AccessTokens und wird im regelmäßigen Abstand aufgerufen. Hier musst Du natürlich Deine eigenen Daten hinterlegen und darauf achten, dass Variablen in Node-RED im Filesystem gespeichert werden, weil die Tokens als globale Variablen gespeichert werden. Nach dem ersten Start sollte dieser Flow nicht mehr manuell gestartet werden!

Die Tokens gibt es von https://dev.netatmo.com/apps/, wo man sich als Benutzer anmelden muss und mit „Create new app“ eine neue Client ID, ein Client Secret, das Access Token und das initiale Refresh Token erzeugt.

Damit lese ich meine eigenen Daten aus: Hauptsensor, Außensensor und nochmal ein Innensensor im Schlafzimmer, der auch die CO² Werte messen kann.

Wer auch andere Stationen abfragen will (ich selbst habe keinen Regensensor, sondern benutze einfach die Regensonsoren von zwei anderen Stationen aus der Gegend), nutzt diesen Flow, wobei noch die Koordinaten eines geografischen Rechtecks angegeben werden müssen, aus dem die Werte von anderen Stationen zurückgegeben werden.
Ich selbst filtere diese Daten noch auf 2-3 Stationen, die mir wichtig sind. (übliche Regenrichtung usw.)
Außerdem erzeugt er zwei globale Variablen mit dem Mittelwert und dem Maximum der Regenmenge aus allen angefragten Stationen. So kann ich Ausreißer erkennen und zeige die beiden Werte auch auf meinem Dashboard an.

1

Ein Kommentar

Schreibe einen Kommentar