NEWS
UNSOLVED Osram Lightyfy Adapter Problem
-
Ich habe den gleichen Effekt gehabt ich habe bei RASPI die Node.js aktualisiert seitdem habe ich auch den Fehler im Osram Lightyfy Adapter.
Gibt es inzwischen ein neune Lösungsansatz?
-
Hello, ich reihe mich hier mal mit ein. Hab es endlich geschafft vom Raspi 3 auf Raspi 4 zu wechseln und stehe nun vor dem selben Problem wie ihr. Alles läuft, bis auf Lightify. Ich habe auch node 10 im verdacht. Vielleicht erreichen wir ja den Entwickler irgendwie. Ansonsten überlege ich auch mir endlich ein Hue Gateway zu holen
Hier noch mal die Fehlermeldung bei mir:
host.ioBroker-RasPi4 2019-07-30 20:41:31.986 info Restart adapter system.adapter.lightify.0 because enabled host.ioBroker-RasPi4 2019-07-30 20:41:31.986 error instance system.adapter.lightify.0 terminated with code 0 (OK) host.ioBroker-RasPi4 2019-07-30 20:41:31.986 error Caught by controller[0]: at Socket.Readable.push (_stream_readable.js:224:10) host.ioBroker-RasPi4 2019-07-30 20:41:31.986 error Caught by controller[0]: at readableAddChunk (_stream_readable.js:269:11) host.ioBroker-RasPi4 2019-07-30 20:41:31.985 error Caught by controller[0]: at addChunk (_stream_readable.js:288:12) host.ioBroker-RasPi4 2019-07-30 20:41:31.985 error Caught by controller[0]: at Socket.emit (events.js:198:13) host.ioBroker-RasPi4 2019-07-30 20:41:31.985 error Caught by controller[0]: at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:151:18) host.ioBroker-RasPi4 2019-07-30 20:41:31.985 error Caught by controller[0]: at lightify.onData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:173:18) host.ioBroker-RasPi4 2019-07-30 20:41:31.985 error Caught by controller[0]: at lightify.processData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:116:32) host.ioBroker-RasPi4 2019-07-30 20:41:31.984 error Caught by controller[0]: at Object.cb (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:463:28) host.ioBroker-RasPi4 2019-07-30 20:41:31.984 error Caught by controller[0]: at Uint8Array.readUInt8 (internal/buffer.js:137:5) host.ioBroker-RasPi4 2019-07-30 20:41:31.984 error Caught by controller[0]: at boundsError (internal/buffer.js:43:11) host.ioBroker-RasPi4 2019-07-30 20:41:31.984 error Caught by controller[0]: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be an integer. Received 49.6 lightify.0 2019-07-30 20:41:31.963 error RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be an integer. Received 49.6 at boundsError (internal/buffer.js:43:11) at Uint8Array.readUInt8 (internal/buffer.js lightify.0 2019-07-30 20:41:31.962 error uncaught exception: The value of "offset" is out of range. It must be an integer. Received 49.6 lightify.0 2019-07-30 20:41:30.618 info starting. Version 0.2.16 in /opt/iobroker/node_modules/iobroker.lightify, node: v10.16.0
-
Node 10 isses nicht.
bei mir geht lightify unter Node 10.16
Black
-
@bjoernson
Hallo,
ich habe das gleiche Problem und habe einfach die Datei
/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js
in der Zeile 463 angepasst (siehe dazu auch die Fehlermeldung im Log des ioBrokers).Original:
var cnt = data.readUInt8(pos + 16);
Neu:
var cnt = data.readUInt8(~~pos + 16);
~~ ist eine doppelte bitweise NOT Operation und hat den Effekt, dass eine Fließkommazahl gerundet wird.
Vielleicht hat einer eine bessere Idee...Ich kann die Instanz nun ohne Fehlermeldung starten und ich sehe auch meine Lampen und Schalter.
Ich bin damit erst einmal zufrieden und lasse es so mal laufen. -
@Torsten-Bahlert
JS hat meines Wissens nach nur einen "number" Datentyp, es gibt keine Unterscheidung zwischen float und int. Deswegen wuerde ich mitvar cnt = data.readUInt8(Math.floor(pos + 0.5) + 16);
arbeiten.
Das +0.5 dient dazu sauber zu runden, wenn das nicht gewünscht ist reicht auch Math.floor(pos).
A.
-
@Asgothian
OK, danke für die Antwort.
Ich bin da kein Experte. Mir ist nur aufgefallen, dass ein Integerwert erwartet wird und deswegen habe ich das mal mit ~~ ausprobiert.
Ich werde deine Lösung mal ausprobieren.Das ist natürlich auch nur ein Workaround, denn man müsste sich eigentlich die Frage stellen, warum der Wert der Variable 'pos' nicht wie erwartet ein Integerwert ist?
Ich habe mich oben vielleicht etwas falsch ausgedrückt:
~~ dient natürlich nicht dazu Fließkommazahlen in Integer umzuwandeln, sondern es hat nur den Effekt.
(Werde ich korrigieren) -
@Torsten-Bahlert sagte in Osram Lightyfy Adapter Problem:
Das ist natürlich auch nur ein Workaround, denn man müsste sich eigentlich die Frage stellen, warum der Wert der Variable 'pos' nicht wie erwartet ein Integerwert ist?
klar. Die Frage ist zu stellen. Allerdings ist es denkbar das intern eine Berechnung durchgeführt wird die
- nicht korrekt gerundet wird
- in deinem speziellen Fall halt keinen Ganzzahl wert liefert.
Ich denke es macht immer Sinn berechnete Indices vor der Benutzung zu runden.
A.
-
Hallo zusammen,
bin gerade auf den Thread gestoßen, denn ich habe auch Probleme mit dem Lightify Adapter und Node 10.
Beide Workarounds funktionieren leider nicht.
Gibt es hier noch weitere Lösungsansätze? -
Nur den allgemeinen:
Fehlermeldung posten, schauen was die Ursache ist, abstellen (lassen)
A.
-
OK, hatte immer folgendes Problem:
host.rock64 2019-08-28 22:04:52.979 error instance system.adapter.lightify.0 terminated with code 0 (OK) host.rock64 2019-08-28 22:04:52.979 error Caught by controller[0]: at Socket.Readable.push (_stream_readable.js:224:10) host.rock64 2019-08-28 22:04:52.979 error Caught by controller[0]: at readableAddChunk (_stream_readable.js:269:11) host.rock64 2019-08-28 22:04:52.979 error Caught by controller[0]: at addChunk (_stream_readable.js:288:12) host.rock64 2019-08-28 22:04:52.978 error Caught by controller[0]: at Socket.emit (events.js:198:13) host.rock64 2019-08-28 22:04:52.978 error Caught by controller[0]: at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:151:18) host.rock64 2019-08-28 22:04:52.978 error Caught by controller[0]: at lightify.onData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:173:18) host.rock64 2019-08-28 22:04:52.978 error Caught by controller[0]: at lightify.processData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:116:32) host.rock64 2019-08-28 22:04:52.978 error Caught by controller[0]: at Object.cb (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:463:28) host.rock64 2019-08-28 22:04:52.978 error Caught by controller[0]: at Uint8Array.readUInt8 (internal/buffer.js:137:5) host.rock64 2019-08-28 22:04:52.977 error Caught by controller[0]: at boundsError (internal/buffer.js:43:11) host.rock64 2019-08-28 22:04:52.977 error Caught by controller[0]: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be an integer. Received 43.33333333333333 lightify.0 2019-08-28 22:04:52.914 error RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be an integer. Received 43.33333333333333 at boundsError (internal/buffer.js:43:11) at Uint8Array.readUInt8 (inter lightify.0 2019-08-28 22:04:52.910 error uncaught exception: The value of "offset" is out of range. It must be an integer. Received 43.33333333333333 lightify.0 2019-08-28 22:04:52.015 info starting. Version 0.2.16 in /opt/iobroker/node_modules/iobroker.lightify, node: v10.16.2 javascript.0 2019-08-28 22:04:51.587 info script.js.common.Stromverbrauch.Strom_Zaehlerstaende_Verbrauch_Kosten: Fehler beim Auslesen des Datums. Eventuell falsche Syntax? null (Error:TypeError: Cannot read property 'match' of null) smartmeter.0 2019-08-28 22:04:51.322 info Received 10 values, 3 updated host.rock64 2019-08-28 22:04:49.487 info instance system.adapter.lightify.0 started with pid 30091 host.rock64 2019-08-28 22:04:49.436 info object change system.adapter.lightify.0 host.rock64 2019-08-28 22:04:48.380 info instance system.adapter.lightify.0 terminated with code 0 (OK) Caught 2019-08-28 22:04:48.380 error by controller[0]: at Socket.Readable.push (_stream_readable.js:224:10) Caught 2019-08-28 22:04:48.380 error by controller[0]: at readableAddChunk (_stream_readable.js:269:11) Caught 2019-08-28 22:04:48.379 error by controller[0]: at addChunk (_stream_readable.js:288:12) Caught 2019-08-28 22:04:48.379 error by controller[0]: at Socket.emit (events.js:198:13) Caught 2019-08-28 22:04:48.379 error by controller[0]: at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:151:18) Caught 2019-08-28 22:04:48.379 error by controller[0]: at lightify.onData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:173:18) Caught 2019-08-28 22:04:48.379 error by controller[0]: at lightify.processData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:116:32) Caught 2019-08-28 22:04:48.379 error by controller[0]: at Object.cb (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:463:28) Caught 2019-08-28 22:04:48.379 error by controller[0]: at Uint8Array.readUInt8 (internal/buffer.js:137:5) Caught 2019-08-28 22:04:48.379 error by controller[0]: at boundsError (internal/buffer.js:43:11) Caught 2019-08-28 22:04:48.379 error by controller[0]: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be an integer. Received 43.33333333333333 host.rock64 2019-08-28 22:04:48.307 info stopInstance system.adapter.lightify.0 killing pid 30076 host.rock64 2019-08-28 22:04:48.307 info stopInstance system.adapter.lightify.0 host.rock64 2019-08-28 22:04:48.306 info object change system.adapter.lightify.0 lightify.0 2019-08-28 22:04:48.297 info terminating lightify.0 2019-08-28 22:04:48.268 error at Socket.Readable.push (_stream_readable.js:224:10) lightify.0 2019-08-28 22:04:48.268 error at readableAddChunk (_stream_readable.js:269:11) lightify.0 2019-08-28 22:04:48.268 error at addChunk (_stream_readable.js:288:12) lightify.0 2019-08-28 22:04:48.268 error at Socket.emit (events.js:198:13) lightify.0 2019-08-28 22:04:48.268 error at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:151:18) lightify.0 2019-08-28 22:04:48.268 error at lightify.onData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:173:18) lightify.0 2019-08-28 22:04:48.268 error at lightify.processData (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:116:32) lightify.0 2019-08-28 22:04:48.268 error at Object.cb (/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js:463:28) lightify.0 2019-08-28 22:04:48.268 error at Uint8Array.readUInt8 (internal/buffer.js:137:5) lightify.0 2019-08-28 22:04:48.268 error at boundsError (internal/buffer.js:43:11) lightify.0 2019-08-28 22:04:48.268 error RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be an integer. Received 43.33333333333333 lightify.0 2019-08-28 22:04:48.256 error uncaught exception: The value of "offset" is out of range. It must be an integer. Received 43.33333333333333 lightify.0 2019-08-28 22:04:47.260 info starting. Version 0.2.16 in /opt/iobroker/node_modules/iobroker.lightify, node: v10.16.2
Nachdem ich dann von dir die Zeile 463 wie folgt geändert hatte:
var cnt = data.readUInt8(Math.floor(pos + 0.5) + 16);
erhalte ich nun:
lightify.0 2019-10-16 10:48:18.149 error at process._tickCallback (internal/process/next_tick.js:68:7) lightify.0 2019-10-16 10:48:18.149 error at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) lightify.0 2019-10-16 10:48:18.149 error at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) lightify.0 2019-10-16 10:48:18.149 error at (anonymous function).(anonymous function)._0x2f5fa7 (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:72663) lightify.0 2019-10-16 10:48:18.149 error at /opt/iobroker/node_modules/soef/soef.js:609:26 lightify.0 2019-10-16 10:48:18.149 error at Devices.setState (/opt/iobroker/node_modules/soef/soef.js:642:36) lightify.0 2019-10-16 10:48:18.149 error (6129) TypeError: Cannot read property 'val' of undefined lightify.0 2019-10-16 10:48:18.147 error (6129) uncaught exception: Cannot read property 'val' of undefined lightify.0 2019-10-16 10:48:17.470 info (6129) starting. Version 0.2.16 in /opt/iobroker/node_modules/iobroker.lightify, node: v10.16.3 ```#
-
Hallo nochmal,
kann hier jemand was dazu sagen, wie ich den Fehler abstellen kann?
-
@hg6806
Osram Bridge rauschschmeissen, durch Hue Bridge ersetzen. -
@hg6806 hier muss der Adapterentwickler ran. Es wird auf eine nicht korrekt mit Info gefüllten Variable zugegriffen.
Eine Lösung ohne im Detail den Adapter zu debuggen wird schwer zu finden sein.
A.
-
Hat doch funktioniert.
Keine Ahnung warum jetzt erst. Vielleicht nach einem Reboot oder so.Auf jeden Fall funktioniert es mit dem Ändern der Zeile 463 in
var cnt = data.readUInt8(Math.floor(pos + 0.5) + 16);
Endlich....eine Baustelle weniger und Frau ist auch happy
-
@hg6806 Hattest du ein Upload gemacht nachdem du die Zeile angepasst hast ?
A.
-
Glaube hatte ich nicht getan...
-
Hallo an alle,
habe seit einigen Tagen auch diesen Fehler in meinem System. Zufällig habe ich dann diesen Thread gefunden und war direkt froh, dass dieser auch noch "lebt". Auf dem Adapter "Osram Ligtify" liegt mittlerweile auch viel Staub.....
IOBroker läuft bei mir in einem Hyper-V Container, Betriebssystem CentOS, seit ein paar Monaten keine Updates durchgeführt. Nach allen möglichen Updates verbindet sich der Adapter Osram nicht mehr.Also habe ich einen weiteren Container für IOBroker eingerichtet, um den Osram Adapter alleine laufen zu lassen und Fehler zu suchen.
Das Workaround habe ich versucht, ohne Erfolg....
/opt/iobroker/node_modules/iobroker.lightify/lib/lightify.js /// Zeile 463 modifizieren var cnt = data.readUInt8(Math.floor(pos + 0.5) + 16);
Wird jemand aus den Angaben meines LOGs schlau?
undefined2019-11-28 13:30:12.110 - info: host.iobroker "system.adapter.lightify.0" enabled 2019-11-28 13:30:12.121 - info: host.iobroker instance system.adapter.lightify.0 started with pid 2405 2019-11-28 13:30:12.403 - info: lightify.0 (2405) starting. Version 0.2.16 in /opt/iobroker/node_modules/iobroker.lightify, node: v10.17.0 2019-11-28 13:30:12.956 - error: lightify.0 (2405) uncaught exception: Cannot read property 'val' of undefined 2019-11-28 13:30:12.956 - error: lightify.0 (2405) TypeError: Cannot read property 'val' of undefined at Devices.setState (/opt/iobroker/node_modules/soef/soef.js:642:36) at /opt/iobroker/node_modules/soef/soef.js:609:26 at (anonymous function).(anonymous function)._0x344e03 (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:77549) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) at process._tickCallback (internal/process/next_tick.js:68:7) 2019-11-28 13:30:12.961 - info: lightify.0 (2405) terminating 2019-11-28 13:30:12.961 - info: lightify.0 (2405) Terminated (NO_ERROR): Without reason 2019-11-28 13:30:13.465 - error: host.iobroker Caught by controller[0]: TypeError: Cannot read property 'val' of undefined 2019-11-28 13:30:13.465 - error: host.iobroker Caught by controller[0]: at Devices.setState (/opt/iobroker/node_modules/soef/soef.js:642:36) 2019-11-28 13:30:13.465 - error: host.iobroker Caught by controller[0]: at /opt/iobroker/node_modules/soef/soef.js:609:26 2019-11-28 13:30:13.465 - error: host.iobroker Caught by controller[0]: at (anonymous function).(anonymous function)._0x344e03 (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:77549) 2019-11-28 13:30:13.465 - error: host.iobroker Caught by controller[0]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) 2019-11-28 13:30:13.465 - error: host.iobroker Caught by controller[0]: at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) 2019-11-28 13:30:13.465 - error: host.iobroker Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:68:7) 2019-11-28 13:30:13.465 - info: host.iobroker instance system.adapter.lightify.0 terminated with code 0 (NO_ERROR) 2019-11-28 13:30:13.465 - info: host.iobroker Restart adapter system.adapter.lightify.0 because enabled 2019-11-28 13:30:15.664 - info: host.iobroker "system.adapter.lightify.0" disabled
-
@AgentLibelle
Es scheint so das in einer Bibliothek ein umgesetzter Wert nicht abgefangen wird. Das im Detail zu finden ist nicht einfach, insbesondere weil ich den Adapter selber nicht laufen lassen kann - ich hab die Hardware nicht.Du kannst versuchen im Modul soef in der Datei /opt/iobroker/node_modules/soef/soef.js folgende Anpassung vornehmen:
this.setState = function (o, id, val, ack) { if (val !== undefined) objects[id].val = val
zu
this.setState = function (o, id, val, ack) { if (objects[id] == undefined) return; if (val !== undefined) objects[id].val = val
ändern.
Alles auf eigene Gefahr.
A.
-
Das Problem besteht bei mir auch. Vor Wochen hatte die Anpassung "var cnt = data.readUInt8(~~pos + 16);" mal geholfen aber nach der heutigen Neuinstallation, klappt keine von den Lösungen. Hat jemand Kontakt zum Adapter Entwickler und kann mal darauf hinweisen?
@soef Der Adapter war doch von dir, oder? Kannst du uns vielleicht helfen?
-
Gleiches Problem hier:
host.ioBroker-Pi 2019-12-11 10:21:00.024 info instance system.adapter.dwd.0 started with pid 29168 host.ioBroker-Pi 2019-12-11 10:20:57.495 info Restart adapter system.adapter.lightify.0 because enabled host.ioBroker-Pi 2019-12-11 10:20:57.495 info instance system.adapter.lightify.0 terminated with code 0 (NO_ERROR) host.ioBroker-Pi 2019-12-11 10:20:57.495 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:68:7) host.ioBroker-Pi 2019-12-11 10:20:57.494 error Caught by controller[0]: at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) host.ioBroker-Pi 2019-12-11 10:20:57.494 error Caught by controller[0]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) host.ioBroker-Pi 2019-12-11 10:20:57.494 error Caught by controller[0]: at client.set.err (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:2044:51) host.ioBroker-Pi 2019-12-11 10:20:57.494 error Caught by controller[0]: at /opt/iobroker/node_modules/soef/soef.js:609:26 host.ioBroker-Pi 2019-12-11 10:20:57.493 error Caught by controller[0]: at Devices.setState (/opt/iobroker/node_modules/soef/soef.js:642:36) host.ioBroker-Pi 2019-12-11 10:20:57.493 error Caught by controller[0]: TypeError: Cannot read property 'val' of undefined
Was kann man nun machen?