snowdd1 / homebridge-knx

KNX platform shim for homebridge
https://github.com/nfarina/homebridge
GNU General Public License v2.0
97 stars 56 forks source link

homebridge crashes after a while #126

Closed AndreWeberHH closed 5 years ago

AndreWeberHH commented 5 years ago

I getting the following error after 1-2 minutes after startup.

RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to write outside buffer bounds
at boundsError (internal/buffer.js:53:11)
at Buffer.readFloatBackwards [as readFloatBE] (internal/buffer.js:403:5)
at Parser. (/usr/lib/node_modules/homebridge-knx/lib/knxmonitor.js:62:29)
at Parser.emit (events.js:182:13)
at /usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:96:12
at Decoder.decode (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/decoder.js:233:7)
at Parser.parseTelegram (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:93:18)
at Parser.onData (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:150:12)
at Socket. (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:36:10)
at Socket.emit (events.js:182:13)

I saw now stats so far. Still tried to get it running.

@ctschach I used your branch

ctschach commented 5 years ago

Hmmm...could you do me a favor and try the original branch from snowdd1. I added some support for longer float numbers which involves some kind of guess work.

You might also want to share your knx_config.json

AndreWeberHH commented 5 years ago

The branch from snowdd1 is working. I have a really huge knx-config. Can I send you this one directly?

AndreWeberHH commented 5 years ago

@ctschach Did you find something? Can I support something?

ctschach commented 5 years ago

Andreas,

do you use any DPT13 or DPT14 values? Can you start homebridge with "-d" to run in debugging mode? If you copy-and-paste the content that is shown before the crash we might get an idea what's wrong there.

Due to missing support for those two typed in eibd, I'm doing come guesswork in the code:

                    // eibd might return an object - so let's try to decode it - could be either DPT13 (INT32) or DPT14(Float32)
                    // as we don't know the type, assume if we get a very small float (like 7.75380479264851e-41), that this
                    // it an interger.
                    // We can only guess here, so in the future, this would better be intergrated in eibd
AndreWeberHH commented 5 years ago

I using more DPT9 Values. I am not 100% sure. But I think I don't use DPT13 or DPT14.

Here you will find a homebred -D Log file until crash. Thanks!

[10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(69959.68000000001,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:69959.68000000001 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(69959.68000000001,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:69959.68000000001 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:36 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:36 PM] [Hue] Waschküche: bridge request 4: get /config [10/1/2018, 2:34:36 PM] [Hue] Serverraum: bridge request 4: get /config [10/1/2018, 2:34:36 PM] [Hue] Serverraum: bridge request 4: ok [10/1/2018, 2:34:36 PM] [Hue] Serverraum: bridge request 5: get /lights [10/1/2018, 2:34:36 PM] [Hue] Serverraum: bridge request 5: ok [10/1/2018, 2:34:36 PM] [Hue] Waschküche: bridge request 4: ok [10/1/2018, 2:34:36 PM] [Hue] Waschküche: bridge request 5: get /lights [10/1/2018, 2:34:36 PM] [Hue] Waschküche: bridge request 5: ok [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(45,CurrentRelativeHumidity,DPT5.001,false) [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] FLOAT:[Current Relative Humidity]: Received value from KNX handler:45 of type DPT5.001 for Current Relative Humidity [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(45,CurrentRelativeHumidity,DPT5.001,false) [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] FLOAT:[Current Relative Humidity]: Received value from KNX handler:45 of type DPT5.001 for Current Relative Humidity [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(45,CurrentRelativeHumidity,DPT5.001,false) [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] FLOAT:[Current Relative Humidity]: Received value from KNX handler:45 of type DPT5.001 for Current Relative Humidity [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(45,CurrentRelativeHumidity,DPT5.001,false) [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] FLOAT:[Current Relative Humidity]: Received value from KNX handler:45 of type DPT5.001 for Current Relative Humidity [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:37 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:38 PM] [WeatherPlus] **Fakegato-timer: addData undefined { time: 1538404478.539, temp: 11.1, pressure: 1013, humidity: 70 } immediate: false [10/1/2018, 2:34:38 PM] [WeatherPlus] **Start Global Fakegato-Timer - 10min** [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(568,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:568 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(21.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:21.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(568,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:568 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(21.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:21.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:39 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:40 PM] [NukiBridge] Cached lock state is isLocked = 'false'. [10/1/2018, 2:34:40 PM] [NukiBridge] Cached lock state is isLocked = 'true'. [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(368,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:368 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(21,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:21 of type DPT9 for Current Temperature [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(368,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:368 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(21,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:21 of type DPT9 for Current Temperature [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:40 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(160,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:160 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(20,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:20 of type DPT9 for Current Temperature [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(20,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:20 of type DPT9 for Current Temperature [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(160,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:160 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(20,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:20 of type DPT9 for Current Temperature [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(20,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:20 of type DPT9 for Current Temperature [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:41 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:41 PM] [Hue] Waschküche: bridge request 6: get /config [10/1/2018, 2:34:41 PM] [Hue] Serverraum: bridge request 6: get /config [10/1/2018, 2:34:41 PM] [Hue] Serverraum: bridge request 6: ok [10/1/2018, 2:34:41 PM] [Hue] Serverraum: bridge request 7: get /lights [10/1/2018, 2:34:41 PM] [Hue] Serverraum: bridge request 7: ok [10/1/2018, 2:34:41 PM] [Hue] Waschküche: bridge request 6: ok [10/1/2018, 2:34:41 PM] [Hue] Waschküche: bridge request 7: get /lights [10/1/2018, 2:34:41 PM] [Hue] Waschküche: bridge request 7: ok [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(592,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:592 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(24.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:24.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(592,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:592 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(24.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:24.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(0,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:0 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] :[Current Ambient Light Level]: Value 0 out of bounds 0.0001 ... 100000 [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] INFO HomeKit: No valid value. [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(0,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:0 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] :[Current Ambient Light Level]: Value 0 out of bounds 0.0001 ... 100000 [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] INFO HomeKit: No valid value. [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(41,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:41 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(41,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:41 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:42 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(0,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:0 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] :[Current Ambient Light Level]: Value 0 out of bounds 0.0001 ... 100000 [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] INFO HomeKit: No valid value. [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(26.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:26.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(0,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:0 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] :[Current Ambient Light Level]: Value 0 out of bounds 0.0001 ... 100000 [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] INFO HomeKit: No valid value. [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(26.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:26.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(22.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:22.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(22.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:22.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:43 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(62996.48,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:62996.48 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(62996.48,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:62996.48 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:46 PM] [Hue] Waschküche: bridge request 8: get /config [10/1/2018, 2:34:46 PM] [Hue] Serverraum: bridge request 8: get /config [10/1/2018, 2:34:46 PM] [Hue] Serverraum: bridge request 8: ok [10/1/2018, 2:34:46 PM] [Hue] Serverraum: bridge request 9: get /lights [10/1/2018, 2:34:46 PM] [Hue] Serverraum: bridge request 9: ok [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(164,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:164 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:46 PM] [Hue] Waschküche: bridge request 8: ok [10/1/2018, 2:34:46 PM] [Hue] Waschküche: bridge request 9: get /lights [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(20,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:20 of type DPT9 for Current Temperature [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:46 PM] [Hue] Waschküche: bridge request 9: ok [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(164,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:164 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(20,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:20 of type DPT9 for Current Temperature [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:46 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(22.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:22.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(22.48,CurrentTemperature,DPT9,false) [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] FLOAT:[Current Temperature]: Received value from KNX handler:22.48 of type DPT9 for Current Temperature [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:47 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(788.48,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:788.48 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] Value changed, updating homebridge [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] exiting writeValueHK() [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] knxAccess.writeValueHK(788.48,CurrentAmbientLightLevel,DPT9,false) [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] knxAccess.writeValueHK: Format float [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] FLOAT:[Current Ambient Light Level]: Received value from KNX handler:788.48 of type DPT9 for Current Ambient Light Level [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] INFO HomeKit: No value change [10/1/2018, 2:34:48 PM] [homebridge-knx.KNX] exiting writeValueHK() RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to write outside buffer bounds at boundsError (internal/buffer.js:51:11) at Buffer.readFloatBackwards [as readFloatBE] (internal/buffer.js:401:5) at Parser.<anonymous> (/usr/lib/node_modules/homebridge-knx/lib/knxmonitor.js:62:29) at Parser.emit (events.js:182:13) at /usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:96:12 at Decoder.decode (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/decoder.js:233:7) at Parser.parseTelegram (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:93:18) at Parser.onData (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:150:12) at Socket.<anonymous> (/usr/lib/node_modules/homebridge-knx/node_modules/eibd/lib/parser.js:36:10) at Socket.emit (events.js:182:13)

ctschach commented 5 years ago

Sorry for the delay....Ich glaube wir können auch auf Deutsch weiter machen...wenn ich im Logfile sowas wie "Waschküche" lesen :-)

Der Crash passiert an dieser Stelle (zweite Zeile beim readFloatBE):

                    if (typeof(val) === 'object') {
                            var valConverted = val.readFloatBE(0);
                            type = 'DPT14';
                            if (valConverted < 0.000001) {
                                    valConverted = val.readInt32BE(0);
                                    type = 'DPT13';
                            }
                            val = valConverted;
                    }

Normalerweise - zumindest bei mir - bekomme ich von der eiblib nur dann ein Object zurück, wenn der DPT 13 oder 14 ist.

Solange Du dieses nicht verwendest, dann kommentiere einfach mal diesen Block in "/homebridge-knx/lib/knxmonitor.js" (Zeile 61 ff) aus.

Man müsste jetzt mal mit einem BusMonitor schauen, was genau in dem Moment des Crashes auf dem Bus passiert. Ich vermute mal, Du hast eine GA auf "listen" gesetzt, die hier nicht unterstützt wird.

Aber wie gesagt, wenn Du es auskommentierst, dann sollte das mit der History trotzdem laufen...

snowdd1 commented 5 years ago

@ctschach you broke it, you own it 😄
I am very slow in catching up here right now, but eventually I get to the point to integrate you advanced developments - I see they are already being thorougly tested :-)

ctschach commented 5 years ago

Everything working fine at my end since months. I recommend that we just remove this part from my code. That’s definitely not "good code" as I try to get around a problem in the eib library. The better way would be to adjust the eib library to support DPT13 and DPT14.