iobroker-community-adapters / ioBroker.km200

ioBroker Buderus KM200 adapter *DEPRECATED*
Other
24 stars 16 forks source link

km200 läuft unter Controller 4.0 bei mir nicht mehr #69

Closed sunshower2 closed 1 year ago

sunshower2 commented 2 years ago

Hallo, mit dem 3.3 Controller hatte ich immer folgende Fehlermeldung: adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer!

Das Problem ist jetzt aber, dass der Controller 4.0 wohl nicht mehr will, nach Umstellung auf 4.0 kommt die Meldung: Adapter Error, stop: TypeError: Cannot read property 'getObjectList' of undefined at Function.initAdapter (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:252:55) at /opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:383:63 at processTicksAndRejections (internal/process/task_queues.js:95:5)

Kann man da was ändern? Nach installieren des alten Controllers 3.3.22 funktioniert der Adapter wenigstens weiter, so dass die Werte ausgelesen werden können.

MartinH1982 commented 2 years ago

Ich habe gerade einen Pull request gemacht, der das Problem behebt. Kann aber nicht garantieren, dass ich das richtig gemacht habe.

https://github.com/frankjoke/ioBroker.km200/pull/71 https://forum.iobroker.net/topic/3519/adapter-f%C3%BCr-buderus-km200-und-eventuell-auch-anderen-kmxxx/598

Bis der Pull request angenommen wurde sind die Änderungen auch im Fork: https://github.com/MartinH1982/ioBroker.km200

Bei mir läuft es nachdem ich es über die URL installiert habe.

sunshower2 commented 2 years ago

Bei mir läuft es auch, wenn ich die Änderungen in der myadapter.js durchführe, vielen Dank

frankjoke commented 2 years ago

Leider bin ich nicht zu Hause und kann nur mit browsern auf Git was machen. Habe einige pull-requests durchgewunken und der Adapter (wenn von Git geladen) arbeitet auf 4.x aber mit etlichen Warnings.

Leider hat 4.x eine einschränkung bei States hinzugefügt welche STates mit 'States' nur mehr durch Objekte konstruieren kann aber nicht mehr durch Strings (was bei js-controller 1-3 noch offiziell supported war).

Leider weiß ich nicht ob das ein Fehler vom js-controller 4.x ist oder die wirkliche Zukunft, da der KM200 jedoch viele solche 'states' verwendet muß der Adapter mehr umgeschrieben werden falls es notwendig wird auf die String-Definitionsweise zu verzichten.