frankjoke / ioBroker.bmw

ioBroker adapter to display BMW connected drive data
MIT License
12 stars 6 forks source link

TypeError: Cannot read property 'bind' of undefined #13

Closed NemoN closed 5 years ago

NemoN commented 5 years ago

Ich bekomme beim Adapterstart folgende Fehlermeldung?!

host.ioBrokerVM | 2019-05-21 12:05:38.564 | error | instance system.adapter.bmw.0 terminated with code 0 (OK)
-- | -- | -- | --
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at Module.runMain (module.js:611:10)
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at Function.Module._load (module.js:445:3)
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at tryModuleLoad (module.js:453:12)
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at Module.load (module.js:494:32)
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at Object.Module._extensions..js (module.js:586:10)
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at Module._compile (module.js:577:32)
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.bmw/bmw.js:113:3)
Caught | 2019-05-21 12:05:38.563 | error | by controller[0]: at Function.init (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:322:23)
Caught | 2019-05-21 12:05:38.562 | error | by controller[0]: at startAdapter (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:33:15)
Caught | 2019-05-21 12:05:38.562 | error | by controller[0]: at Function.init2 (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:344:62)
Caught | 2019-05-21 12:05:38.562 | error | by controller[0]: TypeError: Cannot read property 'bind' of undefined
bmw.0 | 2019-05-21 12:05:38.523 | info | terminating
frankjoke commented 5 years ago

Kannst mal den Adapter von git installieren (nicht mit beliebig!) und nochmal checken?

In den angegebenen Zeilen gibt es keinen bind-Befehl!

p.s.: Welchen js-controller verwendest du? Die .binds binden routinen von controller und wenn die nicht da sind dann geht der Adapter sowieso nicht!

NemoN commented 5 years ago

Sehr seltsam:

# ./iobroker version bmw 
1.4.1
# ./iobroker version js-controller
1.2.3
host.ioBrokerVM | 2019-05-24 15:21:48.949 | info | Restart adapter system.adapter.bmw.0 because enabled
-- | -- | -- | --
host.ioBrokerVM | 2019-05-24 15:21:48.949 | error | instance system.adapter.bmw.0 terminated with code 0 (OK)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at Module.runMain (module.js:611:10)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at Function.Module._load (module.js:445:3)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at tryModuleLoad (module.js:453:12)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at Module.load (module.js:494:32)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at Object.Module._extensions..js (module.js:586:10)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at Module._compile (module.js:577:32)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.bmw/bmw.js:113:3)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at Function.init (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:343:23)
Caught | 2019-05-24 15:21:48.949 | error | by controller[0]: at startAdapter (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:33:15)
Caught | 2019-05-24 15:21:48.948 | error | by controller[0]: at Function.init2 (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:363:62)
Caught | 2019-05-24 15:21:48.948 | error | by controller[0]: TypeError: Cannot read property 'bind' of undefined
bmw.0 | 2019-05-24 15:21:48.316 | error | at Module.runMain (module.js:611:10)
bmw.0 | 2019-05-24 15:21:48.316 | error | at Function.Module._load (module.js:445:3)
bmw.0 | 2019-05-24 15:21:48.316 | error | at tryModuleLoad (module.js:453:12)
bmw.0 | 2019-05-24 15:21:48.316 | error | at Module.load (module.js:494:32)
bmw.0 | 2019-05-24 15:21:48.316 | error | at Object.Module._extensions..js (module.js:586:10)
bmw.0 | 2019-05-24 15:21:48.316 | error | at Module._compile (module.js:577:32)
bmw.0 | 2019-05-24 15:21:48.316 | error | at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.bmw/bmw.js:113:3)
bmw.0 | 2019-05-24 15:21:48.316 | error | at Function.init (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:343:23)
bmw.0 | 2019-05-24 15:21:48.316 | error | at startAdapter (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:33:15)
bmw.0 | 2019-05-24 15:21:48.316 | error | at Function.init2 (/opt/iobroker/node_modules/iobroker.bmw/node_modules/@frankjoke/myadapter/myAdapter.js:363:62)
bmw.0 | 2019-05-24 15:21:48.316 | error | TypeError: Cannot read property 'bind' of undefined
bmw.0 | 2019-05-24 15:21:48.311 | error | uncaught exception: Cannot read property 'bind' of undefined
NemoN commented 5 years ago
# nodejs --version
v6.17.1
frankjoke commented 5 years ago

Deine js-controller-Version (wie auch node) ist schon verjährt. Betreibst du da unter einer VM? Die Fehler entstehen jedenfalls beim Start des Adapters wenn zwischen js-controller (welcher den adapter startet) die ersten Daten mit dem Adapter ausgetauscht werden sollen, da läft noch nichts vom eigentlichen Adapter.

Welches Adamin hast (brauchst >3) und hast mit admin von git installiert?

Wie hast iobroker installiert (und wann), würde mal das iobroker clean script und dann ein ein iobroker upgrade self (bei gestoppten iobroker) machen...

NemoN commented 5 years ago

Danke für den Hinweise mit der Aktualisierung über die Console. Ich hatte bisher immer nur via Webinterface aktualisiert und dachte so bin ich immer up-to-date. iobroker läuft in einer VM (vor ca 2 Jahren installiert). Nach dem Update läuft auch der bmw Adapter wieder :-)

# iobroker upgrade self
Update js-controller from @1.2.3 to @1.5.9
npm install iobroker.js-controller@1.5.9 --unsafe-perm  --production --prefix "/opt/iobroker" (System call)
Host "ioBrokerVM" (linux) updated
Execute: chmod -R 777 /opt/iobroker
Chmod finished. Restart controller
Starting node restart.js
frankjoke commented 5 years ago

js-controller wird nicht selbst erneuert da er nur ausgetauschet werden kann wenn iobroker heruntergefahren wird.

Alle Adapter die jetzt upgedated werden brauchen normal mindestens V 1.4.2 da einige Funktionen vor 1.4 nicht verfügbar sind.

p.s.: Wir sind gerade dabei die Adapter auf die Version V2.0 vom JS-controller vorzugereiten, jeder Adapter wird schon damit getestet...