Netatmo Modul - 38_netatmo.pm (Support)

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

Vorheriges Thema - Nächstes Thema

Rudi_Hirsch

Sorry, bei mir wird das refresh-token nicht bei jedem Daten-Abruf (5 Minuten) aktualisiert.
AVM FB, Raspi-4B, Raspi-2C, Raspi-Zero, Z-WAVE, SignalDuino, Jeelink, wM-Bus, Alexa, Tasmota, Fibaro, ESP, Eco-Dim, nas-wr01ze, mcohome/mh7h, Qubino, HKZW-DWS01, Optolink, alpha2 ,...

tomcat.x

Nach meiner Erinnerung ist es 3 Stunden gültig und wird nur alle 2:xx (2:20?) Stunden aktualisiert.
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

Seli

#1667
Ich habe mich eventuell nicht genau genug ausgedrückt: Das Refresh-Token wird nicht bei jedem Datenabruf aktualisiert, das ist richtig. Ich meinte, dass es bei jedem Refresh(!) aktualisiert wird. Es gibt ein Access-Token, mit dem die Daten abgerufen werden. Dieses Access-Token ist, wie tomcat.x schreibt, 2 oder 3 Stunden gültig. Innerhalb dieser Zeit können mit diesem Token beliebig oft Daten abgerufen werden. Erst wenn das Access-Token ungültig geworden ist, wird mit Hilfe des refresh(!)-Tokens ein neues access(!)-Token besorgt. Dies ist der sogenannte "Refresh des Tokens". Bei diesem Refresh, also ca. alle zwei, drei Stunden, gibt es dann, zusammen mit einem neuen Access-Token, ein neues Refresh-Token, das bis zum nächsten Refresh gespeichert werden muss. Das alte Refresh-Token ist dann ungültig und kann nicht mehr verwendet werden. Und genau hier passiert der Fehler. Das beim Refresh-Vorgang erhaltene neue Refresh-Token wird nicht so gespeichert, dass es einen harten Abbruch von FHEM überlebt. Um das nachzuvollziehen muss man also FHEM mindestens drei Stunden laufen lassen, sodass in dieser Zeit ein Refresh stattfindet (der wahrscheinlich nur bei einem Datenabruf stattfindet, wenn das Access-Token abgelaufen ist). Wenn man dann FHEM zum Absturz bringt, ohne vorher einen Save gemacht zu haben, ist das Refresh-Token futsch.
Raspberry Pi 3, FHEM 5.8
CUL868 V3 (FS20/IT): FHT80TF|PIRI|PIRI-2|TFK|S4A-2|ST|SU|S8|HMS 100 WD|IT-1500|GRR-3500
HomeMatic HMLAN_UART: HM-CC-RT-DN|HM-SEN-MDIR-O|HM-SEC-SC-2|HM-TC-IT-WM-W-EU|HM-LC-SW4-PCB 4|HM-WDS-OTH|HM-OU-LED16|HM-RC-4-3
JeeLink v3c, Rademacher duoFern, Philips Hue