NEWS
Test Netatmo 2.0.0 Alpha (GitHub)
-
Aktuelle Test Version 2.0.0 Veröffentlichungsdatum 07.09.2022 Github Link https://github.com/PArns/ioBroker.netatmo Hi,
aufgrund von nötigen Anpassungen bei Netatmo (Abschaltung der bisherigen Authentication Logik die der Adapter genutzt hat, siehe unten) habe ich mich mal umfangreich dem Netatmo Adapter angenommen. Aus gegebenem Anlass und weiterer Überlegungen ist das Update sehr groß geworden. Daher brauche ich Eure Unterstützung beim Testing.
ACHTUNG Admin Version vor Test prüfen!
Diese Version des Adapters benötigt Admin 6.2.14 oder höher! Unter dieses Kann die Konfiguration nicht erfolgen! An sich sollte Admin das prüfen, bei einem GitHub Adaptertest geht das allerdings nicht, also bitte selbst vorab sicherstellen!
ACHTUNG Objekt-Struktur ändert sich vollständig!
Bisher wurden die bei Netatmo vergebenen Namen für das "Heim" und die Module und Geräte für die Objekt-Struktur genutzt. Bei Namensänderungen gab es daher bisher immer neue Objekte. Keine Ahnung in wieweit die Geräte Namen haben müssen oder Eindeutigkeit geprüft wird bei Netatmo. Damit konnte es ggf zu Überschneidungen kommen was zu komischen Mischeffekten führt.
Ich habe daher entschieden die Objektstruktur, wie eigentlich üblich, in Zukunft auf den eindeutigen IDs der Entitäten aufzubauen. Daher bitte Objekte im Vorfeld prüfen und löschen und dann Skripte oder Logiken entsprechend anpassen!ACHTUNG API Umstellungen ändern teilweise Daten
Der Adapter hat bisher auch noch einige als "Deprecated" gekennzeichneten APIs genutzt, welche ich in dem Zuge mit ausgetauscht habe, wo es möglich war bzw sinnvoll zusammengefasst habe. Das bringt ggf Daten-Änderungen mit sich indem sich Werte ggf ändern. Wenn hier Probleme bestehen - oder vor allem Daten fehlen die bisher da waren und wichtig waren - bitte melden!
ACHTUNG Authentication-Änderung bei Netatmo zu Oktober 2022
Netatmo will im Oktober 2022 die bisher vom Adapter genutzte Authentication Variante abschalten. Der neue Adapter unterstützt das künftig nötige Verfahren (daher auch die neue Admin-version welche nötig ist). In wieweit der alte Adapter ab Oktoiber noch tut ist unklar ... daher haben wir für den Test nicht so viel Zeit
Changelog
neben den "nervigen Änderungen die alles anders machen" oben gibts aber auch ein paar neue Features Hier der Changelog:
- BREAKING: Object structure changes completely and now uses unique IDs instead of names!
- (Apollon77) Change the Authentication method as requested by Netatmo till October 2022
- (Apollon77) Doorbell integration
- (Apollon77) Converted to new APIs, values of several objects might be different
- (Apollon77) Fix crash cases reported by Sentry
- (Apollon77) Adjust setAway to the current API
- (Apollon77) Added setHome function (Welcome only) to mark all or specific persons as home (requires your own API key!)
- (Apollon77) setAway and setHome now also return the result of the call as callback tzo the message
- (Apollon77) Allow to edit floodlight and monitoring-state
Was ist zu testen
Das geht ganz kurz: ALLES
Da ich kein einziges Netatmo-Gerät habe und bisher nur mit einigen Geräten mit Accounts testen konnte zu denen mir netterweise Zugangsdaten zur Verfügung gestellt wurden (Vielen Dank dafür!) ist bestimmt einiges noch ungetestet und die Änderungen waren sehr umfangreich ...
Wenn Probleme bestehen, es Crahes gibt, Daten fehlen bitte GuitHub Issues anlegen und Debug Logs anhängen oder mir mit Angabe des GitHub issues per E-Mail an iobroker@fischer-ka.de senden!
Happy Testing!
Ingo
-
@apollon77 said in Test Netatmo 2.0.0 Alpha (GitHub):
6.2.14 o
I'm ready 4 testing
Edit: Gefunden ...
Die Daten sehen erstmal gut aus, ich blätter mal durch die Objekte.
Kurzer Auszug:https://i.imgur.com/lOuZHsP.png
https://i.imgur.com/lQEa2gb.pngAuthentifizierung muss ich noch testen
Edit:
netatmo.0 2022-09-07 19:08:20.044 info Successfully authenticated with Netatmo with individual client-ID 62xxxx146 netatmo.0 2022-09-07 19:08:19.845 info Authenticating with Netatmo using individual client-ID 62xxxx146 netatmo.0 2022-09-07 19:08:19.843 info Using stored tokens to initialize ... {"access_token":"53xxxe59|8e6xxxx4e2","refresh_token":"53xxxxe59|4c0xxxxa192","scope":"read_station","client_id":"62xxx146"} netatmo.0 2022-09-07 19:08:19.805 info starting. Version 2.0.0 (non-npm: PArns/ioBroker.netatmo) in /opt/iobroker/node_modules/iobroker.netatmo, node: v16.17.0, js-controller: 4.0.23 netatmo.0 2022-09-07 19:08:14.412 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason netatmo.0 2022-09-07 19:08:14.409 info terminating netatmo.0 2022-09-07 19:08:14.408 info cleaned everything up... netatmo.0 2022-09-07 19:08:14.406 info Got terminate signal TERMINATE_YOURSELF netatmo.0 2022-09-07 19:08:04.555 info Successfully authenticated with Netatmo with individual client-ID 62xxxx146 netatmo.0 2022-09-07 19:08:04.360 info Authenticating with Netatmo using individual client-ID 62xxxx146 netatmo.0 2022-09-07 19:08:04.358 info Using stored tokens to initialize ... {"access_token":"53xxxx2e59|8e6xxxxb4e2","refresh_token":"53xxxxx2e59|4c0xxxx192","scope":"read_station","client_id":"62xxxx146"} netatmo.0 2022-09-07 19:08:04.320 info starting. Version 2.0.0 (non-npm: PArns/ioBroker.netatmo) in /opt/iobroker/node_modules/iobroker.netatmo, node: v16.17.0, js-controller: 4.0.23 netatmo.0 2022-09-07 19:07:59.366 error DB closed netatmo.0 2022-09-07 19:07:59.365 error Error: DB closed at close (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:184:25) at Socket.<anonymous> (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:151:20) at Object.onceWrapper (node:events:628:26) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at TCP.<anonymous> (node:net:757:14) netatmo.0 2022-09-07 19:07:59.355 error unhandled promise rejection: DB closed netatmo.0 2022-09-07 19:07:59.354 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). netatmo.0 2022-09-07 19:07:58.836 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason netatmo.0 2022-09-07 19:07:58.834 info terminating netatmo.0 2022-09-07 19:07:58.832 info cleaned everything up... netatmo.0 2022-09-07 19:07:58.831 info Got terminate signal TERMINATE_YOURSELF netatmo.0 2022-09-07 19:07:58.794 info Update data in adapter configuration ... restarting ... netatmo.0 2022-09-07 19:07:58.792 info Save OAuth data: {"access_token":"53xxxxx4e2","refresh_token":"53xxxxe59|4c0xxxxa192","scope":"read_station","client_id":"62xxx146"}
Bin mir nicht sicher, ob das alles passt, aber cih habe beim Authentifizieren zumindest keine Fehlermeldung bekommen.
Wenn ich noch was spezielles testen soll. Gerne melden !
-
@hot-air-balloon cool. Bitte einfach schauen ob alles tut wie es soll. Daten so aktualisiert werden wie es soll und. So. Und keine Fehler kommen. ;-)) nur ne “Station“ ist so bissl der easy Case
-
@apollon77 said in Test Netatmo 2.0.0 Alpha (GitHub):
nur ne “Station“ ist so bissl der easy Case
Wenn du mir weitere Aktoren Sponsorst kann ich die auch testen
Ich melde mich, ob mir was auffällt. -
@hot-air-balloon hehe ... Danke!
-
@apollon77
Erster Eindruck: Perfekt
Ich habe nur die Wetterstation, die läuft aber ohne Auffälligkeiten.
Danke -
@apollon77 Soweit mal alles klar. Daten werden geholt. Habe die Station mit Außenmodul und zusätzliche 3 Innenmodule sowie Regen- und Windsensor.
-
@apollon77 Hatte eben den ersten Absturz des Adapters, läuft aber weiter. Soll ich den Loglevel auf
Info
stellen, derzeit bin ich nur imwarn
unterwegs.2022-09-08 14:39:22.960 - error: netatmo.0 (19841) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2022-09-08 14:39:22.960 - error: netatmo.0 (19841) unhandled promise rejection: homesdata error: No response 2022-09-08 14:39:22.962 - error: netatmo.0 (19841) Error: homesdata error: No response at netatmo.handleRequestError (/opt/iobroker/node_modules/iobroker.netatmo/lib/netatmoLib.js:98:19) at Request._callback (/opt/iobroker/node_modules/iobroker.netatmo/lib/netatmoLib.js:1126:25) at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) at Request.emit (node:events:513:28) at Request.emit (node:domain:489:12) at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:877:8) at ClientRequest.emit (node:events:525:35) at ClientRequest.emit (node:domain:489:12) at TLSSocket.socketErrorListener (node:_http_client:481:9) at TLSSocket.emit (node:events:513:28) 2022-09-08 14:39:22.963 - error: netatmo.0 (19841) homesdata error: No response 2022-09-08 14:39:22.974 - warn: netatmo.0 (19841) Terminated (UNCAUGHT_EXCEPTION): Without reason 2022-09-08 14:39:33.072 - error: host.VM-Slave Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2022-09-08 14:39:33.075 - error: host.VM-Slave Caught by controller[1]: Error: homesdata error: No response 2022-09-08 14:39:33.075 - error: host.VM-Slave Caught by controller[1]: at netatmo.handleRequestError (/opt/iobroker/node_modules/iobroker.netatmo/lib/netatmoLib.js:98:19) 2022-09-08 14:39:33.075 - error: host.VM-Slave Caught by controller[1]: at Request._callback (/opt/iobroker/node_modules/iobroker.netatmo/lib/netatmoLib.js:1126:25) 2022-09-08 14:39:33.075 - error: host.VM-Slave Caught by controller[1]: at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) 2022-09-08 14:39:33.076 - error: host.VM-Slave Caught by controller[1]: at Request.emit (node:events:513:28) 2022-09-08 14:39:33.076 - error: host.VM-Slave Caught by controller[1]: at Request.emit (node:domain:489:12) 2022-09-08 14:39:33.076 - error: host.VM-Slave Caught by controller[1]: at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:877:8) 2022-09-08 14:39:33.076 - error: host.VM-Slave Caught by controller[1]: at ClientRequest.emit (node:events:525:35) 2022-09-08 14:39:33.076 - error: host.VM-Slave Caught by controller[1]: at ClientRequest.emit (node:domain:489:12) 2022-09-08 14:39:33.077 - error: host.VM-Slave Caught by controller[1]: at TLSSocket.socketErrorListener (node:_http_client:481:9) 2022-09-08 14:39:33.077 - error: host.VM-Slave Caught by controller[1]: at TLSSocket.emit (node:events:513:28) 2022-09-08 14:39:33.077 - error: host.VM-Slave instance system.adapter.netatmo.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
-
Installiert, soweit keine Probleme.
Innen-, Außen- und Regensensor -
Ich habe vier Stationen...
-
@johgre bitte nochmal von github updaten. Da gab es mal keinen response. Da hatte ich gestern Abend noch was gefixt.
-
@ofbeqnpolkkl6mby5e13 und auch alles ok? Ist die Objekt Struktur auch sinnvoll so wie Sie jetzt ist?
-
Gute Frage, es wäre ein riesen Aufwand, die ganzen Aliase anzupassen, bei so vielen Modulen...
Müsste mir erst wieder ein Testsystem erstellen...
Im Moment leider wenig Zeit... -
Puh... wenn man zwei Module mit der Bezeichnung Badezimmer hat, weiß man jetzt nicht mehr, welches welches ist (Obergeschoss, Erdgeschoss)... es muss unbedingt erst nach Station unterschieden werden!
Und das crashed nach dem Konfigurieren:
2022-09-08 22:44:35.676 - [32minfo[39m: netatmo.0 (3932) starting. Version 2.0.0 (non-npm: PArns/ioBroker.netatmo#4fc7576c43e782e34bf464b63196a4af85a242d1) in /opt/iobroker/node_modules/iobroker.netatmo, node: v16.17.0, js-controller: 4.0.23 2022-09-08 22:44:35.722 - [32minfo[39m: netatmo.0 (3932) Authenticating with Netatmo using individual client-ID xxx 2022-09-08 22:44:35.724 - [33mwarn[39m: netatmo.0 (3932) API Error: Please Authenticate manually once using the Admin UI of this instance. 2022-09-08 22:47:26.586 - [33mwarn[39m: netatmo.0 (3932) API Error: Authenticate "client_id" not set. 2022-09-08 22:47:31.624 - [33mwarn[39m: netatmo.0 (3932) API Error: Authenticate "client_id" not set. 2022-09-08 22:47:36.631 - [33mwarn[39m: netatmo.0 (3932) API Error: Authenticate "client_id" not set. 2022-09-08 22:47:41.691 - [33mwarn[39m: netatmo.0 (3932) API Error: Authenticate "client_id" not set. 2022-09-08 22:47:53.588 - [32minfo[39m: netatmo.0 (3932) Successfully authenticated with Netatmo with individual client-ID xxx 2022-09-08 22:47:53.597 - [32minfo[39m: netatmo.0 (3932) Save OAuth data: {"access_token":"xxx","refresh_token":"xxx","scope":"read_station","client_id":"xxx"} 2022-09-08 22:47:53.623 - [32minfo[39m: netatmo.0 (3932) Update data in adapter configuration ... restarting ... 2022-09-08 22:47:53.659 - [32minfo[39m: host.iobroker-test stopInstance system.adapter.netatmo.0 (force=false, process=true) 2022-09-08 22:47:53.668 - [32minfo[39m: netatmo.0 (3932) Got terminate signal TERMINATE_YOURSELF 2022-09-08 22:47:53.667 - [32minfo[39m: host.iobroker-test stopInstance system.adapter.netatmo.0 send kill signal 2022-09-08 22:47:53.671 - [32minfo[39m: netatmo.0 (3932) cleaned everything up... 2022-09-08 22:47:53.673 - [32minfo[39m: netatmo.0 (3932) terminating 2022-09-08 22:47:53.677 - [32minfo[39m: netatmo.0 (3932) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2022-09-08 22:47:54.196 - [33mwarn[39m: netatmo.0 (3932) Could not perform strict object check of state netatmo.0.5e85b1dc9da0e8304e2becfc.70-ee-50-06-97-ea.Temperature.TemperatureMin: DB closed 2022-09-08 22:47:54.197 - [33mwarn[39m: netatmo.0 (3932) get state error: Connection is closed. 2022-09-08 22:47:54.200 - [31merror[39m: netatmo.0 (3932) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2022-09-08 22:47:54.201 - [31merror[39m: netatmo.0 (3932) unhandled promise rejection: DB closed 2022-09-08 22:47:54.572 - [31merror[39m: netatmo.0 (3932) Error: DB closed at Redis.sendCommand (/opt/iobroker/node_modules/ioredis/built/redis/index.js:636:24) at Redis.get (/opt/iobroker/node_modules/ioredis/built/commander.js:122:25) at StateRedisClient.setState (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:657:40) at Adapter.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:6485:35) 2022-09-08 22:47:54.573 - [31merror[39m: netatmo.0 (3932) DB closed 2022-09-08 22:47:54.673 - [32minfo[39m: host.iobroker-test stopInstance system.adapter.netatmo.0 killing pid 3932 2022-09-08 22:47:54.688 - [32minfo[39m: host.iobroker-test instance system.adapter.netatmo.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2022-09-08 22:47:56.703 - [32minfo[39m: host.iobroker-test instance system.adapter.netatmo.0 started with pid 4117 2022-09-08 22:47:58.928 - [32minfo[39m: netatmo.0 (4117) starting. Version 2.0.0 (non-npm: PArns/ioBroker.netatmo#4fc7576c43e782e34bf464b63196a4af85a242d1) in /opt/iobroker/node_modules/iobroker.netatmo, node: v16.17.0, js-controller: 4.0.23 2022-09-08 22:47:58.985 - [32minfo[39m: netatmo.0 (4117) Using stored tokens to initialize ... {"access_token":"xxx","refresh_token":"xxx","scope":"read_station","client_id":"xxx"} 2022-09-08 22:47:58.987 - [32minfo[39m: netatmo.0 (4117) Authenticating with Netatmo using individual client-ID xxx 2022-09-08 22:47:59.245 - [32minfo[39m: netatmo.0 (4117) Successfully authenticated with Netatmo with individual client-ID xxx
-
@ofbeqnpolkkl6mby5e13 Ok, dann bitte vollständiges Debug Log mir per E-Mails senden und genau beschreiben was das issue ist.
An Sich sollte die struktur homeID.moduleId.weiteres sein, damit sollte an sich doch jede Station ne andere Module die haben oder? Früher war es doch dann aber schlimmer weil früher alle "Badezimmer" in eins geworfen wurden und damit hattest Du doch gar keine unterscheidung oder?
Zu dem "crash" ... Am ENde kein Crash sondern ein restart nach Konfigänderung. ja der DB fehler ist anzusehen
-
-
@ofbeqnpolkkl6mby5e13 ja ok ist mehr. Über die Objektnamens hast du das gleiche ja. Wo waren denn Module wie Nordseite und so bisher? Nur unter Haus. Richtig?
-
Nein, die sind unter den zugehörigen Stationen.
Unter Haus ist nichts Brauchbares:
Vielleicht sollte ich das näher erklären, da du selbst ja keine Station besitzt:
Pro Station können maximal 3 Innenmodule, 1 Außenmodul, 1 Windmesser und 1 Regenmesser angeschlossen werden. Wenn man also mehr als 3 zusätzliche Innenmodule benötigt (die Stationen selbst dienen auch als Innenmodul!), dann braucht man eine weitere Station, die nun wieder u. a. auch ein Außenmodul mitbringt. Daher Nord- und Südseite.
Bei der neuen Struktur kann man nun nicht mehr erkennen, zu welchen Stationen z. B. Badezimmer gehört. -
@ofbeqnpolkkl6mby5e13 ok. Damit volles debug log bitte. Muss schauen wie das auf der datenebene aussieht.
-
Ich finde die Ordnerstruktur besser als vorher... Gerade wen man mal die Bezeichnung ändert sollte es nun ja trotzdem "gleich" bleiben
Da ich noch nicht "klingeln" darf (die kleine schläft ), kann ich nur dazusagen das der Name der Klingel nicht übernommen wird?
edit
Bekomme das im Log... vielleicht liegt da der Fehler beim "Namen"netatmo.0 2022-09-11 15:35:05.075 warn Object 5eea11c3c20743509886b280.70-ee-50-6e-bb-74 is invalid: obj.common.name has an invalid type! Expected "string" or "object", received "number"