PArns/ioBroker.netatmo

No Data since yesterday due to auth Changes @ netatmo?

Closed this issue · 16 comments

bvol commented

Since yesterday 16:30h the adapter doesn't receive any updates.

Root cause could be the oath changes done by netatmo this week. They force oauth scope grant by user via Web UI as soon as the access token is expired and not refreshed via refresh token. In case of Token Refresh a new pair of access / refresh token is issued.

Requesting an access token by Client ID and Client Secret is not possible anymore, user's are forced to request a fresh Token Pair via dev Portal.

Can you please have a look into this and check if a solution can be provided?

Thanks Volker

bvol commented

netatmo.0
2024-06-26 11:08:54.884 info Successfully authenticated with Netatmo with individual client-ID 6347998axxxxxxxxxxxxxx

netatmo.0 2024-06-26 11:08:54.882 info API Warning: Authenticate refresh error: invalid_client

netatmo.0
2024-06-26 11:08:54.590 info Authenticating with Netatmo using individual client-ID 6347998axxxxxxxxxxxxxx

Maybe try to re-authorize with Netatmo via Admin? Does this work?

I in fact would need more details. The adapter always use the refresh token that is returned on refresh, so this change should be irrelevant

bvol commented

Re-authorize must be done via DEV Portal interactively. Not only Refresh Token but Access Token changes.

Yes but this should be a ONE time re-"login with Netatmo" in the admin panel ... from then on the adapter should use refresh token to get an updated access token ... just if this fails maybe because adapter was disabled too long it needs another manual login. no other option then

bvol commented

Login with Netatmo ergibt:

admin.0
2024-06-26 11:34:26.193 warn netatmo has an invalid jsonConfig: [{"instancePath":"/items/_authenticate","schemaPath":"#/definitions/sendToProps/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"window"},"message":"must NOT have additional properties"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"else"},"message":"must match "else" schema"}]

bvol commented

netatmo.0
2024-06-26 11:34:27.379 debug Get OAuth start link: https://api.netatmo.com/oauth2/authorize?client_id=6347998a2xxxxxxxxxxxxx&redirect_uri=http%3A%2F%2Fiobroker.breitrueck.org%2Foauth2_callbacks%2Fnetatmo.0%2F&scope=read_station&state=n4beGFkg4TduRMly0UWAx5PhEnSoR1onagcLtvU9

netatmo.0
2024-06-26 11:34:27.378 debug Get OAuth start link data: {"client_id":"6347998a2xxxxxxxxxxxxx","client_secret":"xxxxx4uaPc9Acpmz1kL51kvXoXeHVHKO4ED0TkhL","scopes":{"netatmoCoach":false,"netatmoWeather":true,"netatmoWelcome":false,"netatmoSmokedetector":false,"netatmoCOSensor":false,"netatmoDoorBell":false,"netatmoBubendorff":false},"scope":"read_station","redirect_uri":"http://iobroker.breitrueck.org/oauth2_callbacks/netatmo.0/"}

netatmo.0
2024-06-26 11:34:27.376 debug Received OAuth start message: {"client_id":"6347998a2xxxxxxxxxxxxx","client_secret":"xxxxx4uaPc9Acpmz1kL51kvXoXeHVHKO4ED0TkhL","redirect_uri_base":"http://iobroker.breitrueck.org/","scopes":{"netatmoCoach":false,"netatmoWeather":true,"netatmoWelcome":false,"netatmoSmokedetector":false,"netatmoCOSensor":false,"netatmoDoorBell":false,"netatmoBubendorff":false}}
netatmo.0
2024-06-26 11:33:34.237 info Successfully authenticated with Netatmo with individual client-ID 6347998a2xxxxxxxxxxxxx

netatmo.0
2024-06-26 11:33:34.237 info API Warning: Authenticate refresh error: invalid_client

netatmo.0
2024-06-26 11:33:33.997 debug netatmo: authenticate_refresh: {"grant_type":"refresh_token","refresh_token":"xxxxxxxxxxxefe38b6d32|d4f370259e8dd5ef565afab6ec0799df","client_id":"6347998a2xxxxxxxxxxxxx","client_secret":"xxxxx4uaPc9Acpmz1kL51kvXoXeHVHKO4ED0TkhL"}

netatmo.0
2024-06-26 11:33:33.995 info Authenticating with Netatmo using individual client-ID 6347998a2xxxxxxxxxxxxx

netatmo.0
2024-06-26 11:33:33.994 info Using stored tokens to initialize ... {"access_token":"xxxxxxxx6d32|4e1491fcb84ed2a01e062ae8b572efa9","refresh_token":"xxxxxxxxxxxefe38b6d32|d4f370259e8dd5ef565afab6ec0799df","scope":"read_station","client_id":"6347998a2xxxxxxxxxxxxx"}

netatmo.0
2024-06-26 11:33:33.993 debug Use individual ID/Secret

netatmo.0
2024-06-26 11:33:33.974 info starting. Version 3.1.0 (non-npm: PArns/ioBroker.netatmo) in /opt/iobroker/node_modules/iobroker.netatmo, node: v18.20.3, js-controller: 5.0.19

bvol commented

gleiches Phänomen auf zwei unterschiedlichen IoBroker Installationen mit unterschiedlichen Netatmo Accounts....

Dann muss ich mir das answehen. mist

bvol commented

Dann muss ich mir das answehen. mist

ich weiss, ist bescheiden.... ich hab' aber das gleich Problem noch mit den API Calls aus Node Red..... Da bringe ich es aber zumindest mal für ein paar Stunden zum Laufen..... Vermutlich schreibe ich da den neuen Access Token nicht richtig weg, der wird nämlich spätestens nach 3 h fällig.

Also zum Log oben ... Gab es wirklich einen netwatmo login? Ich sehe im log nut das die Start Message abgeholt wurde aber nie zurück kam! Da geht beim drücken auf den button ein popup fenster auf! Popup Blocker bitte prüfen

Also ich habe den Code geprüft und ich muss sagen das der tun sollte, also bitte nochmals:

  • Admin Adapzter konfig
  • "Login mit Netatmo" klicken ... dann geht ein neuer Tab/Fenster auf!!!! Wenn nicht Popup Blocker prüfen wie es auch auf der Seite glaube ich Fett steht
  • Dort einloggen bei Netatmo und die Rechte bestätigen
  • Dann sollte alles tun ... und das ist schon seit mindestens 1 Jahr so :-)

Wenn nicht nehme ich gern ein neues Log

bvol commented

Oh man, Du hast ja sooo recht. Ohne POPUP Blocker mit der richtigen Client ID hat es tadellos funktioniert. Irgendwas haben die bei Netatmo aber gestern definitiv gefummelt. Ich beobachte das mal und melde mich heute Abend wieder.

Aber ich habe gesehen das info texte im Admin bei der Umstellung auf jsonconfig vereinfacht wurden. ich mache die mal klarer

bvol commented

Oh man, NodeRed Problem hat sich nun auch gelöst...... Ich hatte die AGBS vom Oktober 2023 nicht akzeptiert. Scheint so, dass die "Invalid Client" Meldung damit zusammenhängt, die ist jetzt weg, auf beiden Netatmo Accounts.....

na dann geh ich mal wieder an andere Themen nach dem "kleinen" Exkurs hier :-)

bvol commented

na dann geh ich mal wieder an andere Themen nach dem "kleinen" Exkurs hier :-)

Tausend Dank, you made my day!