Modul: Netatmo

Das bedeutet, das (aus Sicht vom Netatmo-Server) das Aussenmodul keine Daten mehr an das Innenmodul kommuniziert und damit auch keine Daten vorliegen.
Müsste dann auch in der Netatmo-App keine aktuellen Daten des Aussenmoduls geben.
So eine richtuge Idee habe ich auch nicht ausser dem üblichen Batterie raus (aus dem Aussenmodul) und nach Gedächtnispauser wieder einsetzen. Netatmo empfiehlt dann auch kerne, das jew. Modul mal näher an das Innenmodul zu bringen.
Ich hatte vor Jahren mal eine Glückssträhne, wo das Wind- und Regenmodul alle naselang nicht erreichbar waren. Hatte sich irgendwann nach vielen Resets und Versuchen in Luft aufgelöst.

1 „Gefällt mir“

Ich gabe gerade erst letzte Woche die Akkus getauscht. Werds nochmal rausnehmen und etwas näher positionieren. Komisch ist aber wie geschrieben, das es die Werte Signalstärke und Batterie sendet…

Funktioniert es bei dir mit Akkus mit 1.2V?
Bei mir wollte die Aussenstation nur Batterien (1.5V), inzwischen ist sie aber ganz ausgefallen.

Ja Volker. Ich habe sie sicher schon mindestens 8 Jahre denke ich.
Aussenstation und Innensensoren immer mit Akkus. Nur den Windmesser habe ich mit Batterien Durcaell ausgestattet. lg

1 „Gefällt mir“

Hi,

I try to connect to Netatmo, but the “Yes, I accept” button is coming back all the time. No message “successfully connected” appears.

Is this a known problem, do I something wrong, is there another way to connect the module tot Netatmo ??

Thanks

Albert

Yes, this is a known problem, Netatmo changed a few things.

There is a workaround using the NetatmoWeather module by demel42, as described here

Basically you need the latest version of NetatmoWeather module, use connection type developer account (!) with username/password authentication for the module and then create a token in your Netatmo developer account that you enter into the module once. Sounds complicated, but many of us already used that method described in the link above and it works. Hope you can get the thread translated somehow.

Hi,

Thank you, finally figured out how this works. I am now receiving data.

It was not clear to me that you had to create an App yourself in dev.netatmo.com, and that you later had to create the Refresh token with the Token generator. After entering the codes you have to wait a while before data arrives.

But ultimately I now see the data and we can process it nicely in Symcon.

Albert

@demel42 Von netatmo kam gerade eine Mail mit dem unten angehängten Text. Wird der bisherige Workaround damit hinfällig oder funktioniert er weiterhin?

Viele Grüße
Volker


This is a reminder regarding our authentication update following the release initially planned for last fall which we decided to postpone in order to give our users more time.

Dear Netatmo developer,

Today , when you refresh an Access Token using the associated endpoint https://api.netatmo.com/oauth2/token, the Netatmo servers respond with a pair of tokens: an Access Token and a Refresh Token.

If the previous Access Token is still valid, the newly returned access token is identical but has an expiration time extended by 3 hours.

The Refresh Token is not renewed.
Starting May 29, 2024 , this behavior will change to comply with the [OAuth2 Authorization Framework RFC recommendations (section 10.4)] and improve the security of our users’ data.

When refreshing the tokens, the Access Token and Refresh Token will be different from the previous ones and the old tokens will be invalidated.
What does this mean for you?

If you already store the tokens returned by the API when refreshing your tokens, this change will not affect you.

If you do not update the tokens when refreshing them, your users will be logged out because the old tokens will be invalidated.

If for a given user, you have stored the same token in different places (for example: an application and its widget), you must have a way to synchronize them because the new token will be applied for the entire application.

Ich gehe davon aus, das es weiter funktioniert, da ich mich bisher schon so verhalten habe (nach einem TokenRefresh nur den neuen Token benutzen).

Nein, mit dem Workaround hat das nichts zu tun

1 „Gefällt mir“

Ganz ehrlich gesagt ist das leider nicht mehr funktionell.
Habe alle Einträge hier im Forum gelesen und auch alles ausprobiert. Leider geht die Verbindung zu Netatmo immer wieder nach einiger Zeit verloren und ich bekomme den Fehler Instanz inaktiv (HTTP-Fehler).
Ich habe den Token schon mehrmals neu generiert und dann geht es einige Stunden und spätestens am nächsten Tag ist der Fehler wieder da.

Der Instanz-Status „HTTP-Fehler“ ist ja sehr allgemein. Ein Problem mit der Anmeldung/dem Token würde anders lauten („Authorisierung fehlerhaft“, „fehlende Berechtigung“).
Auch wenn die Anmeldung jetzt nur noch mit einem Hack und damit etwas umständlich funktioniert, kann ich (noch) keinen Zusammenhang damit erkennen. Ich habe auch seit vielen Monaten kein Problem mehr gehabt, weder bei NetatmoWeather noch bei NetatmoSecurity.

Insofern wäre es durchaus mal interessant zu sehen, was (in der IO-Instanz) fehlschlägt.
Da das ja u.U. recht lange dauert bis der Fehler auftritt, muss der Debug in eine Datei umgelenkt werden. Aufgrund der Größe der Datei ist vermutlich eine Zusendung des Logs per Mail besser (demel42@web.de). Und bitte unbedingt mit Angabe des Zeitpunkt des Auftretens des Problems.

1 „Gefällt mir“

Hi,

jetzt wieder geschehen. Nach ein paar Tagen geht es nicht mehr.
Dann habe ich den Refreshtoken neu generiert und eingefügt.
Aber das funktioniert auch nicht.

Grüsse
Jürgen

dump (5).txt (25.4 KB)

Hmm, der auftretende Fehler ist merkwürdig

TXT: 22.07.2024, 11:00:27 |    GetApiAccessToken | access_token expired
TXT: 22.07.2024, 11:00:27 |       do_HttpRequest | http-POST: url=https://api.netatmo.net/oauth2/token
TXT: 22.07.2024, 11:00:27 |       do_HttpRequest |     postdata=Array<LF>(<LF>    [grant_type] => refresh_token<LF>    [client_id] => 668fb39bd5738ddcd9033afe<LF>    [client_secret] => TFdUQsQCV1FeCcJSjU2tosPu3s0JBSpJUiMfT<LF>    [refresh_token] => 588b9108f54595047f8b50c7|0dfbaa513d0a61491612014bbd753c7f<LF>)<LF>
TXT: 22.07.2024, 11:00:27 |       do_HttpRequest |  => errno=0, httpcode=400, duration=0,13s
TXT: 22.07.2024, 11:00:27 |       do_HttpRequest |     cdata={"error":"invalid_grant"}
TXT: 22.07.2024, 11:00:27 |       do_HttpRequest |     statuscode=214, err=got http-code 400
TXT: 22.07.2024, 11:00:27 |       do_HttpRequest |     data=
TXT: 22.07.2024, 11:00:27 |    GetApiAccessToken | got http-code 400

Dieser invalid_grant bedeutet laut Doku

This is caused by an URI issue. Either you’re not specifying the same URI in your calls; or the one you specified didn’t match the one you associated with your app in your account settings.

Das ist ziemlich aussagefrei.

Der gleiche Abruf klappt bei mir auf jeden Fall (natürlich haben client_id und client_secret andere Werte (weil das ja Konto-spezifisch ist) und refresh_token ist ja natürlich auch permanent anders).

Das entspricht auch der Doku (Netatmo Connect | Authentication).

Nun kannst DU ja bei Netatmo beliebig viele Apps anlegen - falls Du mehr als ein Netatmo-Produkt im Einsatz hast, hast Du das ja sowieso.
Mein Vorschlag wäre es, das DU eine weiter App anlegst und die neuen Daten in der IO-Instanz einträgst und einen neuen refresh_token. Das entsprechende Debug bitte auch zu mir.

Hi,

ok ich versuch das mal.

Danke.

Gruß
Jürgen

Hi,

mit neuer APP und neuen Key’s bei Netatmo geht’s.
Bin gespannt wie lange.
Hier der Dump.

Grüsse
Jürgen

dump (6).txt (121 KB)

Gute Frage, hoffen wir es. Eine Erklärung dafür kann ich leider nicht liefern, nur vermuten, das er mit dieser ClientID ab und an ein Problem hat.

Der Dump enthält leider nicht die Eingabe des refresh_token und die erste Kommunikation, ist aber erstmal egal und war nur eine Vorbereitung für eventuelle weitere Debugs

Hi,

die Verbindung wurde schon wieder gekappt.

Grüsse
Jürgen

Schade, war ein Versuch wert, aber hat offensichtlich nicht geholfen.

Mit fällt derzeit nichts mehr ein, was ich jetzt machen könnte. Leider ist der Netatmo-Support wenig hilfreich - es dauert zT Wochen, bis man eine echte Reaktion bekommt und ich habe bisher nur immer zu hören bekommen, das es nicht an denen liegen kann.
Bei den Problem mit dem OAuth-Locgin war es soi, das es mit wenigen Benutzern anfing und dann im Laufe einiger Monate um sich griff - also ziemlich klar mit irgendwas mit den Benutzer-Konten zu tun hatte und auch klar, das es bei deren Login-Webseite liegt - und die einzige Reaktion von Netamo war, das es mit deren Testkonto laufen würde.
Un das Netatmo den Zugang über das Entwicklerlogin deaktiviert hatten (warum auch immer), bliebt nur diese lahme Krücke als einzige Möglichkeit über. Also das frühere Login mit Entwicklerdaten über die Netatmo-Webseite zu machen und die Authentifizierungs-Token dann in das Modul zu übernehme und nutzen. WIchtig ist dabei nur, das die ENtwickler-App nur für ein Produkt benutzt wird und bei der Refresh-Token-Generierung auch die richtigen Scopes selektiert werden.

Das Problem, das du schilderst ist mir im Forum (bisher) auch noch nicht begegnet - weder mit Weather, Security (Kamera, Rauchmelder) noch Aircare. und die 3 Module sind (nach der Anzahl der Downloads) sehr viel im Einsatz.

Ich werde natürlich noch weiter schauen, was irgendwie möglich ist, kann aber leider nichts versprechen.

1 „Gefällt mir“

Hi,

Danke für Deine Unterstützung bis hierhin.

Das seltsame ist ja das der Refreshtoken ein bis drei Tage geht. Dann plötzlich ist der Disconnect wieder da.
Wenn ich dann zu Netatmo auf die Seite https://dev.netatmo.com/apps/ gehe ist der Refreshtoken weg und ich muss den Scope wieder neu eintragen und den Refreshtoken neu generieren.

Das sieht sehr danach aus das es einen Zyklus bei Netatmo gibt der eine Art "Zwangstrennung " vollzieht.
Für mich ist das auch nicht nachvollziehbar.

Der AccessToken ist nur eine bestimmte Zeit gültig und wird dann unter Zuhilfenahme des RegreshToken erneuert. In diesem Zug wird i.d.R auch der RefreshToken erneuert.
Wie lange der AccessToken gültig ist, ist je nach OAuth-Implementierung unterschiedlich und wird in dem Feld „expires_in“ oder „expirarion“ bei Erzeugen des AccessToken mit geliefert.
die Spanne geht von wenigen Minuten bis mehrere Monate.
Kann sein, das es bei Netatmo 3 Tage sind - das wird bei der Eingabe des RefreshToken und der folgenden ersten Generierung des AccessToken im Debug ausgegeben („valid until …“)

Ich habe es nicht mehr vor Augen, ob beim Anmelden zum Netat-Dev-Konto ein Haken „angemeldet bleiben“ vorhanden ist. Ein Zusammenhang wäre zwar weit hergeholt, aber wir fischen sehr im Trüben.

Ansonsten könnte ich dir nur anbieten, das ich mit deinem Netatmo-Konto bei mir versuche, das nachzustellen.