snowdd1 / homebridge-knx

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

Addresses starting with 24 #72

Closed vddgil closed 7 years ago

vddgil commented 7 years ago

Hello,

In my KNX installation I have addresses starting with 24. I had to modify the address check to be able to start homebridge.

Any explanation ?

Thanks in advance,

Gil

ChrisSthler commented 7 years ago

My english is very bad. Look here https://github.com/snowdd1/homebridge-knx/issues/69 I think this is the problem

vddgil commented 7 years ago

Yes, I can see that a must be <= 15. But for me all my addresses have a "a == 24"

Is it a problem with my installation ?

ChrisSthler commented 7 years ago

How old is your instalation? Do you have 2 or 3 level addresses? Maybe this is not compatible with the converter. Normal are the addresses from 0/0/1 to 15/7/255

vddgil commented 7 years ago

It seems I have 3 level addresses, and my installation is new (2 months old)

For example, address of a light: 24/4/5

snowdd1 commented 7 years ago

The address space has been extended in that last years, now it can contain 16 bits instead of 15. The first bit was always 0 in all devices. That has changed, but a lot of device firmware and computer software still use the old address scheme. If you want to use addresses >15/7/255 you need to be absolutely sure that no device in your installation ignores the most significant bit of the address. If it does, mayhem will come.

Speaking of it, node-eibd which is the package I used for communication with knxd (or eibd) does not yet fully support 16 bit addresses. See issue there

vddgil commented 7 years ago

Hello @snowdd1,

Thanks for your answer !

I forked node-eidb and changed the line you speak about. Sadly, it doesn't change anything :( Maybe the same problem whit those addresses is somewhere else too...

Thanks in advance,

Gil

vddgil commented 7 years ago

Actually, it seems you never use the function "addr2str" from node-eib in your code. Is-it possible ?

Thanks

snowdd1 commented 7 years ago

That is right. I think that functions is called when node-eibd is decoding a data gram from the bus.

vddgil commented 7 years ago

Hello @snowdd1,

I've made some test this afternoon: First test, i started the eibd simple example on my knxd process and I had things like: Write from 0.0.1 to 8/4/8: 0 => This address is not correct, it should be 24/4/8 I changed the line you speak about and the message change to: Write from 0.0.1 to 24/4/8: 0

Wich is a good news right ? :)

So, I changed the same line in the node-eibd library in my node module (cowboy way). I uncomment the log line 52 in your knxmonitor.js and I have the following result: recv: Write from 0.0.1 to 8/4/8: 1 [DPT1], listeners:3

So it seems to don't take in account my changes ....

Usually, I'm a ruby programmer, so i'm new to node and I don't know if changing files in "/usr/local/lib/node_modules" is working.

To be sure of my issue, I tried to add this line after line 52 in knxmonitor.js: dest = dest.replace("8/", "24/"); Everything is working fine what that. But I can't figure out a way to correct the issue myself.

Thanks for your response.

snowdd1 commented 7 years ago

Hi Gil, first of all thank you for testing the addressed change in node-eibd. It showed that the change worked per se, but you might have multiple installations of node-eibd on your machine depending on installation procedures. Generally changing any .../node_modules/... is possible - and as node is an interpreter, should be effective immediatly. However, as I just said, there might be multiple installation locations (global, local, changing paths with different node/npm versions) so you might try removing all of them and trying an npm update in your hoembridge-knx directory to install one version of node-eibd and change that one.
Good luck!
Raoul

vddgil commented 7 years ago

I managed to make my installation working !

Don't forget that you have to modify your address check in homebridge-knx too ;)

Thanks for everything !

snowdd1 commented 7 years ago

Reference PR at node-eibd: https://github.com/andreek/node-eibd/pull/41

snowdd1 commented 7 years ago

Hi @vddgil Gil, new version of node-eibd (0.3.6) and new version of homebridge-knx (0.3.5 - numbers are unlucky coincidence) can now handle addresses up to 31 in the first triple of the address. So you might try that and remove your tweaking.

vddgil commented 7 years ago

Hey @snowdd1 ! Thanks a lot, everything is working now !