Netatmo Modul - 38_netatmo.pm (Support)

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

Vorheriges Thema - Nächstes Thema

maci

Zitat von: maci am 19 Juni 2024, 19:24:28Aber eine andere Meldung im Account ist mir aufgefallen.
Application does not have the good scope rightsWas bedeutet diese Meldung?

Das Problem hat sich anscheinend von selbst gelöst, sie ist verschwunden.

Auch die Temperaturen kommen wieder ohne Probleme.
Ich denke ich baue mir jetzt ein Warnsystem, wann es wieder ausfälle gibt.
Aber fix ist für mich, meine Netatmo Produkteschiene baue ich nicht weiter aus.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

arthur_dent_2015

Moin Markus,
bei einer Installation war gerade ein reboot fällig. Diesen hat das Modul nicht überlebt  :(
2024.06.20 22:43:56 3: AlfredBenzStr: poll (PUBLIC)
2024.06.20 22:43:56 3: AlfredBenzStr getPublicDevices (52.334637,9.742466 / 52.294637,9.702466)
2024.06.20 22:43:56 1: PERL WARNING: Use of uninitialized value in numeric gt (>) at ./FHEM/38_netatmo.pm line 1128.
2024.06.20 22:43:56 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at ./FHEM/38_netatmo.pm line 1139.
2024.06.20 22:43:56 3: : refreshing token
2024.06.20 22:43:56 1: PERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/38_netatmo.pm line 1141.
2024.06.20 22:43:56 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/38_netatmo.pm line 1145.
2024.06.20 22:43:56 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at ./FHEM/38_netatmo.pm line 1149.
2024.06.20 22:43:56 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/38_netatmo.pm line 1149.
2024.06.20 22:43:56 1: : DNS error, cannot resolve
2024.06.20 22:43:56 1: AlfredBenzStr: No access token was found! (getPublicDevices)
2024.06.20 22:43:56 3: Koellnbrinkweg: poll (PUBLIC)
2024.06.20 22:43:56 3: Koellnbrinkweg getPublicDevices (52.344435,9.750689 / 52.304435,9.710689)
2024.06.20 22:43:56 3: : refreshing token
2024.06.20 22:43:56 1: : DNS error, cannot resolve
2024.06.20 22:43:56 1: Koellnbrinkweg: No access token was found! (getPublicDevices)
2024.06.20 22:43:56 3: Saarstr: poll (PUBLIC)
2024.06.20 22:43:56 3: Saarstr getPublicDevices (52.372466,9.786168 / 52.332466,9.746168)
2024.06.20 22:43:56 3: : refreshing token
2024.06.20 22:43:56 1: : DNS error, cannot resolve
2024.06.20 22:43:56 1: Saarstr: No access token was found! (getPublicDevices)
...
2024.06.20 22:44:00 3: netatmo_Wetter: poll (ACCOUNT)
2024.06.20 22:44:00 3: netatmo_Wetter: refreshing token
2024.06.20 22:44:00 2: netatmo_Wetter: json message error: invalid_grant
2024.06.20 22:44:00 2: netatmo_Wetter: invalid refresh ticket, retrying once
....
2024.06.20 22:44:05 1: netatmo_Wetter: No refresh token was found! (getToken)
You will need to generate one at https://dev.netatmo.com/apps/
2024.06.20 22:44:06 4: netatmo_Wetter: dispatch (apptoken)
2024.06.20 22:44:06 4: netatmo_Wetter: dispatch return: apptoken
...
2024.06.20 22:45:32 3: netatmo_Wetter: poll (ACCOUNT)
2024.06.20 22:45:32 3: netatmo_Wetter: refreshing token
2024.06.20 22:45:32 1: netatmo_Wetter: No refresh token found
2024.06.20 22:45:32 1: netatmo_Wetter: No refresh token was found! (getToken)
You will need to generate one at https://dev.netatmo.com/apps/
Gruß
Arthur

Markus M.

Zitat von: arthur_dent_2015 am 20 Juni 2024, 23:02:26Moin Markus,
bei einer Installation war gerade ein reboot fällig. Diesen hat das Modul nicht überlebt  :(
2024.06.20 22:43:56 3: : refreshing token
2024.06.20 22:43:56 1: : DNS error, cannot resolve
Da ist wieder mal der Modul Hash nicht richtig initialisiert und interne Werte fehlen.
Hier hast du eine Version mit der du mit set debugHash einen Dump ins Log schreiben kannst, wenn das mal wieder passiert.
Liegt meiner Meinung nach aber nicht am Modul.

Viele Grüße, Markus
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

arthur_dent_2015

Zitat von: Markus M. am 21 Juni 2024, 00:37:28Hier hast du eine Version mit der du mit set debugHash einen Dump ins Log schreiben kannst, wenn das mal wieder passiert.
Moin Markus,
versteh ich das richtig, nachdem der invalid_grand auftritt set debugHash absetzen?
Gruß
Arthur

Markus M.

Kannst du auch gleich beim Start mal machen und dann vergleichen.
Insbesondere wenn du die beiden Logeinträge die ich im Quote hatte siehst:
Da ist intern nicht mal $name definiert, ich habe keine Ahnung wie das überhaupt passieren kann.
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: aski71 am 19 Juni 2024, 21:13:17
Zitat von: Markus M. am 16 Juni 2024, 18:12:50
Zitat von: aski71 am 16 Juni 2024, 11:42:32Ich musste die DEF bei gestopptem fhem direkt in der fhem.cfg aktualisieren. Dann ging es nach dem Start von fhem wieder.
Ist ein Bug, hatte versehentlich eine Zeile zum Testen auskommentiert.
Wird ab mit der morgigen Version wieder direkt bei DEF Änderung funktionieren.

ZitatAber eben auch nur zwischen 3 und 48 Stunden. Danach war wieder LOGIN FAILED -> invalid_grant
War da ein FHEEM Neustart dazwischen? Probier mal die Testversion im Anhang und dann get refreshtoken wenn du den invalid_grant bekommen hast. Mich interessiert ob tatsächlich kein gültiger Token mehr vorhanden ist oder nur der Fehler kam.
Diese Version versucht auch nach 30s einen erneuten Login nach invalid_grant ehe das Modul deaktiviert wird und speichert den Token nun in einem Reading, sollte damit also ungeplante Neustarts überstehen.


Neue Testversion in https://forum.fhem.de/index.php?msg=1315276
Hier entfernt nach 3 Downloads


Fun fact: Seit ich die Version vom 16. Juni (jetzt gelöscht) installiert habe, hatte ich keinen invalid_grant mehr. Bin also jetzt > 3 Tage stabil.

Ich fahre immer noch die Version vom Download von hier am 16. Juni.
38_netatmo.pm 28951 2024-06-07 21:47:28Z moises

Weiterhin kein Problem mehr.

Dirk070

#1566
Hallo zusammen,

gerade habe ich FHEM nach Update neu gestartet.
Nun im Log:
2024.06.22 16:35:56 1: Net_Account: No refresh token found
2024.06.22 16:35:56 1: Net_Account: No refresh token was found! (getToken)
You will need to generate one at https://dev.netatmo.com/apps/

In den internals sind aber refresh_token und refresh_token_app gesetzt.
State ist LOGIN FAILED.

Vor dem Neustart gab es keine Meldungen im Log.

UPDATE: neues Refresh-Token generiert, eingetragen - läuft. Scheinbar geht beim Neustart was schief, wenn ich Infos liefern kann, dann gerne melden.

mrb

#1567
so zur info auch für markus:
also einen neustart überlebt das modul immer noch nicht.
im log steht folgendes (obwohl ich 1000% die richtigen scopes hatte) und es war ein reboot aus dem web-interface heraus und nicht ein harter mit "Strom weg"
2024.06.23 09:28:57 3: myWetter: poll (ACCOUNT)
2024.06.23 09:28:57 3: myWetter: refreshing token
2024.06.23 09:28:57 1: myWetter: No refresh token found
2024.06.23 09:28:57 1: myWetter: No refresh token was found! (getToken)
You will need to generate one at https://dev.netatmo.com/apps/
2024.06.23 09:29:01 3: myWetter getThermostats (thermostatlist)
2024.06.23 09:29:01 1: myWetter: No access token was found! (getThermostats)
2024.06.23 09:29:05 3: myWetter getHomes (homelist)
2024.06.23 09:29:05 1: myWetter: No access token was found! (getHomes)

EDIT: nach dem Accesstoken manuell wieder hinzufügen geht es wieder, aber das ist doch blöd so

Markus M.

Was habt ihr da genau gemacht?
Wie kann ich das reproduzieren?

Gerne auch mal die letzte Debug Version verwenden und den Debug Dump vorher und nachher vergleichen.
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

ich bin von einer ältern version die nicht mehr lief bis vor kurzem (als ich hier schrieb) gekommen und bis zu dem Zeitpunkt lief alles. Es ging auch ein reboot ohne Wenn und aber. Dann ein update gemacht und hier immmer schön alles verfolgt.

Ich habe Token erstellt und direkt in die config (anders geht es ja nicht) eingetragen. Dann einmal nen save gemacht und dann einen reboot von Fhem.
Das wurde mit einem Stillstand quittiert und den oben genannten Fehlern im log. Dann habe ich das Token neu erstellt und wieder manuell in der Config eingetragen. Dann ging wieder alles.

Reproduzierbar mit den oben genannten schritten. Ich werde mal deine Debug hier suchen und nutzen. Danach stelle ich das hier mal ein ;)

grappa24

meins läuft jetzt seit 18.06. und hat diverse reboots überstanden.
FHEM 6.3, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

mrb

2024.06.23 12:06:54 1: PERL WARNING: "my" variable %health_index masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 7296, <$fh> line 1000.
2024.06.23 12:06:54 1: PERL WARNING: "my" variable %sd_status masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 7303, <$fh> line 1000.
2024.06.23 12:06:54 1: PERL WARNING: "my" variable %alim_status masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 7313, <$fh> line 1000.
2024.06.23 12:06:54 1: PERL WARNING: "my" variable %weather_codes masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 7319, <$fh> line 1000.
2024.06.23 12:06:54 1: PERL WARNING: "my" variable %health_index masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 14557, <$fh> line 1000.
2024.06.23 12:06:54 1: PERL WARNING: "my" variable %sd_status masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 14564, <$fh> line 1000.
2024.06.23 12:06:54 1: PERL WARNING: "my" variable %alim_status masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 14574, <$fh> line 1000.
2024.06.23 12:06:54 1: PERL WARNING: "my" variable %weather_codes masks earlier declaration in same scope at ./FHEM/38_netatmo.pm line 14580, <$fh> line 1000.
das finde ich nur auffälliges im log bei mir ;)

Markus M.

Zitat von: mrb am 23 Juni 2024, 11:43:20Ich habe Token erstellt und direkt in die config (anders geht es ja nicht) eingetragen.

Das war nur zwei oder drei Tage so.
Hast du überhaupt das letzte 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

Dirk070

#1573
Ich hatte ein UPDATE in FHEM gemacht, anschließend einen shutdown restart.

Das neue Refresh Token habe ich in der DEF des Account eingetragen.
Die crypt-Einträge werden ja im Anschluss automatisch erzeugt.

Aufbau nach diesem Schema:
define <name> netatmo [ACCOUNT] <username> <password> <client_id> <client_secret> <refresh_token>

Danach kamen die readings, jedoch nicht alle. Z.B. temperature, humidity wurden zuletzt gestern aktualisiert, in der Weboberfläche von Netatmo sind die aktuellen Werte zu sehen.
Korrekt und aktuell sind dagegen temp_max, temp_min, temp_trend, batteryState, batteryVoltage

Mit einem get update auf meine Aussenstation kam im Log:
No access token was found!
Das Access Token wird aber im DEF nicht angegeben oder mache ich hier einen Fehler?

Bei den Scopes hatte ich zunächst nur Read Station und habe nun mal alle Read ausgewählt.
Update: die oben genannten Readings wurden weiterhin nicht aktualisiert und auch nachdem ich einen Token mit allen Scopes erzeugt und eingetragen habe, fehlt die Aktualisierung.

mrb

Zitat von: Markus M. am 23 Juni 2024, 16:43:50
Zitat von: mrb am 23 Juni 2024, 11:43:20Ich habe Token erstellt und direkt in die config (anders geht es ja nicht) eingetragen.

Das war nur zwei oder drei Tage so.
Hast du überhaupt das letzte Update?

Ich habe das Modul hier was du als dev letzte Seite angehängt hast genommen. Da du ja debug wolltest. Sonst kann ich doch kein debug des module machen.