Netatmo Modul - 38_netatmo.pm (Support)

Begonnen von Markus M., 17 Mai 2016, 12:37:34

Vorheriges Thema - Nächstes Thema

Markus M.

Zitat von: AB1970 am 13 Juni 2024, 22:47:48Ich kann bestätigen, dass nach einem set <Name> getrefreshtoken das Modul wieder auf connected steht.
Sehr gut, dann war das wohl wirklich nur ein Timing Problem.
Bei dir sollte es mit der letzten Version dann dauerhaft laufen, nur deine Devices musst du mit einem get update wieder aktivieren. Die kommen noch nicht von selbst wieder aus dem disabled State. Wird in der nächsten Version aber behoben.
Ich habe schon ein paar Token Updates durch, wenn es bei dir auch eine Weile läuft werde ich wieder ein Update einchecken.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Also ich war jetzt ein paar Tage still, weil mein am 11.6. erzeugter Token tatsächlich bis heute funktioniert hatte.
Nun stand das Modul aber wieder auf LOGIN FAILED.

Was ich hinzufügen kann: An den Scopes liegt es mutmaßlich nicht. Ich hatte die Token diesmal testweise wieder nur mit "read_station" definiert. Andere Geräte hab ich auch gar nicht. Und der Token hielt diesmal sogar länger durch als vorher.

Ich werde jetzt auch mal die Testversion aus dem Thread installieren und schauen, was passiert.

Markus M.

Zitat von: aski71 am 13 Juni 2024, 23:36:10Nun stand das Modul aber wieder auf LOGIN FAILED.
Hast du ein Log dazu? Was passiert bei get refreshtoken?
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

mrb

Hallo Markus,

ich habe seit heute festgestellt das mein Netatmo nicht mehr über das FHEM ausgelesen werden kann. Ich habe gedacht okay da hat sich was geändert und habe dann nach dem Problem vor einiger Zeit wieder meine 38_netatmo von "pi:pi"-Owner auf "fhem:dialout" gesetzt. Dann habe ich ein update gemacht und festgestellt es war "disabled". Ich habe es dann wieder enabled und rebootet und musste dann feststellen er setzt das immer von alleine. Ich bin ein nutzer und dachte mir ich frag mal nach ob es hier eine Lösung gibt ohne erst die 102-Seiten lesen zu müssen.

Grüße und danke vorab für die Hilfe
MrB

Markus M.

Zitat von: mrb am 14 Juni 2024, 11:28:59dachte mir ich frag mal nach ob es hier eine Lösung gibt ohne erst die 102-Seiten lesen zu müssen.
Eine Seite hätte gereicht:
Neuen Token auf der Netatmo Dev Seite erzeugen, mit dem genauen Scope der auf der ersten Seite angegeben ist.
Fix kommt am Wochenende ins Update
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

mrb

danke mercy :D
ja sorry war etwas faul ^^ lese immer die aktuelle und da stand es nicht ^^

Läuft wieder alles

AB1970

Hi,
mit der neuesten Version sehe ich folgendes Problem.

STATE connected
aber
status Invalid access token

die Werte pressure/temp/humidity werden nicht geupdatet
pressure
1013.8
2024-06-04 14:03:15
alle anderen Werte schon
pressure_abs
998.9
2024-06-12 21:12:57

Irgendein Fehler zwischen meinen Kopfhörern?

Markus M.

Zitat von: AB1970 am 14 Juni 2024, 19:36:07Hi, mit der neuesten Version sehe ich folgendes Problem.
STATE connected
aber
status Invalid access token
Könnte das App Token sein. get refreshtoken sagt dass alles ok ist?
Benutzt du die Testversion oder die reguläre?
Ins reguläre Update kommen die Änderungen erst morgen.

Zitatdie Werte pressure/temp/humidity werden nicht geupdatet
pressure
1013.8
2024-06-04 14:03:15
alle anderen Werte schon
pressure_abs
998.9
2024-06-12 21:12:57
Irgendein Fehler zwischen meinen Kopfhörern?
Wenn das Modul zwischendurch mal auf disabled ging und du nicht neu gestartet hast, sind die Timer weg.
Ein Neustart sollte das beheben und das Verhalten in dem Fall habe ich auch schon geändert.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Zitat von: Markus M. am 13 Juni 2024, 23:38:04
Zitat von: aski71 am 13 Juni 2024, 23:36:10Nun stand das Modul aber wieder auf LOGIN FAILED.
Hast du ein Log dazu? Was passiert bei get refreshtoken?

Das war noch auf Basis der alten Version. Drum teste ich jetzt erstmal mit der letztgültigen Version aus der Distribution. Wenn es dann wieder zu dem Fehler kommt, ziehe ich den Log.

mrb

Hi Markus,
Ich nochmal. Den token muss ich tatsächlich immer von der Seite manuell holen und in die config einfügen? Bei mir verliert er immer die Verbindung das ist mega nervig

Markus M.

Zitat von: mrb am 15 Juni 2024, 07:07:33Hi Markus,
Ich nochmal. Den token muss ich tatsächlich immer von der Seite manuell holen und in die config einfügen? Bei mir verliert er immer die Verbindung das ist mega nervig
Nur dann wenn er tatsächlich abgelaufen ist.
Mit der Testversion kannst du das mit get refreshtoken ausprobieren.
Wann und wie verlierst du denn die Verbindung? In welchem Zustand ist das Account Device dann?
Ich würde eigentlich erwarten, dass bei korrektem Scope mit der Version die heute im Update ist niemand mehr Probleme hat.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

mrb

Zitat von: Markus M. am 15 Juni 2024, 08:10:57
Zitat von: mrb am 15 Juni 2024, 07:07:33Hi Markus,
Ich nochmal. Den token muss ich tatsächlich immer von der Seite manuell holen und in die config einfügen? Bei mir verliert er immer die Verbindung das ist mega nervig
Nur dann wenn er tatsächlich abgelaufen ist.
Mit der Testversion kannst du das mit get refreshtoken ausprobieren.
wie komme ich an die Testversion? Aber wenn es heute Abend wieder läuft warte ich auch :)

Zitat von: Markus M. am 15 Juni 2024, 08:10:57Wann und wie verlierst du denn die Verbindung? In welchem Zustand ist das Account Device dann?
Ich würde eigentlich erwarten, dass bei korrektem Scope mit der Version die heute im Update ist niemand mehr Probleme hat.
das steht im log:
2024.06.15 04:43:56 2: myWetter: json message error: invalid_grant
2024.06.15 04:43:56 2: myWetter: invalid refresh ticket, disabling module
steht also mit "invalid_grant"-Status mein Scope umfasst alle read und access da ich nicht "write" möchte  ;) am liebsten wäre sogar nur die read der Wetter Fühler

aski71

#1527
Zitat von: Markus M. am 13 Juni 2024, 23:38:04
Zitat von: aski71 am 13 Juni 2024, 23:36:10Nun stand das Modul aber wieder auf LOGIN FAILED.
Hast du ein Log dazu? Was passiert bei get refreshtoken?

Das war noch auf Basis der alten Version. Drum teste ich jetzt nochmal mit der letztgültigen Version aus der Distribution und melde mich wieder.
Stelle aber gerade fest, dass die Version aus dem Repo gar kein get refreshtoken hat?!

aski71

Zitat von: aski71 am 15 Juni 2024, 13:34:20
Zitat von: Markus M. am 13 Juni 2024, 23:38:04
Zitat von: aski71 am 13 Juni 2024, 23:36:10Nun stand das Modul aber wieder auf LOGIN FAILED.
Hast du ein Log dazu? Was passiert bei get refreshtoken?

Das war noch auf Basis der alten Version. Drum teste ich jetzt nochmal mit der letztgültigen Version aus der Distribution und melde mich wieder.
Stelle aber gerade fest, dass die Version aus dem Repo gar kein get refreshtoken hat?!

Letzte Logeinträge von heute früh mit dem gestern nacht installierten Modul aus dem Repo:

2024.06.15 04:23:16 3: netatmo: poll (ACCOUNT)
2024.06.15 04:23:16 4: netatmo: pollGlobal
2024.06.15 04:23:16 4: netatmo: pollGlobalHealth
2024.06.15 04:23:17 4: netatmo: dispatch (stationsdata)
2024.06.15 04:23:17 4: netatmo: dispatch return: stationsdata
2024.06.15 04:23:17 4: netatmo: parseGlobal
2024.06.15 04:23:17 4: netatmo: dispatch (stationsdata)
2024.06.15 04:23:17 4: netatmo: dispatch return: stationsdata
2024.06.15 04:23:17 4: netatmo: parseGlobal
2024.06.15 04:53:22 3: netatmo: refreshing token
2024.06.15 04:53:22 3: netatmo: refreshing token
2024.06.15 04:53:22 3: netatmo: refreshing token
2024.06.15 04:53:22 3: netatmo: refreshing token
2024.06.15 04:53:22 3: netatmo: refreshing token
2024.06.15 04:53:22 4: netatmo: dispatch (token)
2024.06.15 04:53:22 4: netatmo: dispatch return: token
2024.06.15 04:53:22 4: netatmo: dispatch (token)
2024.06.15 04:53:22 4: netatmo: dispatch return: token
2024.06.15 04:53:22 2: netatmo: json message error: internal_error
2024.06.15 04:53:22 4: netatmo: dispatch (token)
2024.06.15 04:53:22 4: netatmo: dispatch return: token
2024.06.15 04:53:22 4: netatmo: dispatch (token)
2024.06.15 04:53:22 4: netatmo: dispatch return: token
2024.06.15 04:53:22 4: netatmo: dispatch (token)
2024.06.15 04:53:22 4: netatmo: dispatch return: token
2024.06.15 04:53:22 2: netatmo: json message error: invalid_grant
2024.06.15 04:53:22 2: netatmo: invalid refresh ticket, disabling module
2024.06.15 05:09:48 3: netatmo: refreshing app token
2024.06.15 05:09:48 4: netatmo: dispatch (apptoken)
2024.06.15 05:09:48 4: netatmo: dispatch return: apptoken

Dann habe ich das Modul von heute installiert. Da gibt es auch kein "get refreshtoken".
Also habe ich neue Tokens in dev.netatmo.com generiert und die Definition innerhalb des fhem Webinterface aktualisiert mit:
<account> <passwort> <clientid> <clientsecret> <refreshtoken>

Das hat nicht funktioniert!

2024.06.15 13:38:33 2: netatmo: encrypt aski.muc@gmx.de <...>
2024.06.15 13:38:40 3: netatmo: poll (ACCOUNT)
2024.06.15 13:38:40 3: netatmo: refreshing token
2024.06.15 13:38:40 4: netatmo: dispatch (token)
2024.06.15 13:38:40 4: netatmo: dispatch return: token
2024.06.15 13:38:40 2: netatmo: json message error: invalid_grant
2024.06.15 13:38:40 2: netatmo: invalid refresh ticket, disabling module

Das einzige, wie ich das Modul wieder auf die Füße bekam war:
systemctl stop fhem
vi fhem.cfg
Definition erneuern
systemctl start fhem

Seitdem läuft es wieder.

2024.06.15 13:44:01 3: netatmo: refreshing token
2024.06.15 13:44:02 4: netatmo: dispatch (token)
2024.06.15 13:44:02 4: netatmo: dispatch return: token
2024.06.15 13:44:02 3: netatmo getDevices (devicelist)
2024.06.15 13:44:02 3: netatmo getDevices (devicelist)
2024.06.15 13:44:02 4: netatmo: dispatch (devicelist)
2024.06.15 13:44:02 4: netatmo: dispatch return: devicelist
2024.06.15 13:44:02 4: netatmo: parsedevicelist
2024.06.15 13:44:02 3: netatmo getHomecoachs (homecoachlist)
2024.06.15 13:44:02 4: netatmo: dispatch (homecoachlist)
2024.06.15 13:44:02 4: netatmo: dispatch return: homecoachlist
2024.06.15 13:44:02 4: netatmo: parsehomecoachlist
2024.06.15 13:44:02 2: netatmo: missing app refresh token!
2024.06.15 13:44:03 4: netatmo: dispatch (apptoken)
2024.06.15 13:44:03 4: netatmo: dispatch return: apptoken
2024.06.15 13:44:07 4: netatmo: dispatch (devicelist)
2024.06.15 13:44:07 4: netatmo: dispatch return: devicelist
2024.06.15 13:44:07 4: netatmo: parsedevicelist

FHEM-Tester

Hallo Markus,

sowohl mit Revision 28951 als auch 28956 als auch 28966 als auch 28968 bekomme ich die gleichen Meldungen wie oben schon vorher genannt (LOGIN FAILED) und nichts geht mehr.

Wenn man dann auf 28259 zurück geht, funktioniert es immer noch nicht, dann muss man sich im Netatmo Developer Portal einen neuen Token generieren lassen, dann funktioniert Revision auch 28259 wieder.

Sobald man wieder auf eine neuere 38_netatmo.pm Version als die 28259 geht, funktioniert der Login wieder nicht und der Token wird (warum/wie auch immer) bei Netatmo zerstört.

Klingt spooky, ist aber so :) ... habe es 4x verifiziert.