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

Homebridge - KNX - HomeKit Scenes not working #73

Closed ND00 closed 7 years ago

ND00 commented 7 years ago

Hi

After setting up Homebridge - KNX at my home (which went smoothly), I started to explore the usage of HomeKit scenes. I tried to perform a simple scene were 4 lights should turn off once activating the scene.

While testing it, I'm getting the following results:

Only 2 lights are turned off. The other 2 are staying on. Home (or Eve) app indicates all 4 are off. I tried to play with other 4 lights combination and I'm getting a consistent results.

Not sure if this is a specific knx issue or a general platform issue.

Any ideas?

Thanks

ND

snowdd1 commented 7 years ago

as far as I can see that seems to be a HomeKit issue. But I have to admit I never used HomeKit scenes. I will test tomorrrow with my development bridge.

ND00 commented 7 years ago

Thanks.

BTW some additional info that might help. I used the knxd monitor to see the traffic over the knx bus while trying to activate the scene. I see that while the scene is activated there are 4 telegrams sent over the bus from the knxd to the 4 intended lights. So I think it means that HomeKit + knx/homebridge parts are doing their job. However only 2 telegrams are sent as a result from the actuators to indicate the state of the lights. This leads to few questions.

  1. Looks like homebridge/knx+HomeKit are not listening to the right state of the lights but rather think they are Off just because they sent a request to turn off the lights. Is it possible? Why is that? Any way around it?
  2. Is it possible I hit some limitations of the KNX/IP interface (KNX IP Interface 730 - Weinzierl) so not all telegrams are sent since it supports (based on documentation) up to 5 simultaneous connections. Any idea? Any way around it?

Thanks

ND

snowdd1 commented 7 years ago

Sorry I get confused.
You wrote yesterday

Only 2 lights are turned off. The other 2 are staying on.

But today you wrote

I see that while the scene is activated there are 4 telegrams sent over the bus from the knxd to the 4 intended lights. So I think it means that HomeKit + knx/homebridge parts are doing their job. However only 2 telegrams are sent as a result from the actuators to indicate the state of the lights. This leads to few questions.

So are the lights switched off (as the telegrams are sent correctly)?
Or did they stay on (as teh telegrams are not sent)?
Or did they stay on even though the telegrams are sent out, but the light actuators didn't react?

For homekit, all services that do not use a TargetSomething and a CurrentSomething characteristics homekit immediatly assumes any change to be effective. HomeKit doesn't wait for a confirmation that a light has been actually turned on or off - But it does with a motorized Window or Door service.

The tunnel limitations of your Weinzierl interface should not be an issue as knxd is using only 1 tunnel regardless of the number of telegrams sent. However, the speed of transmissions could be an issue if the Weinzierl is dropping telegrams if they arrive too fast via tunnel. But I am no expert on that matter, try the knxd github pages.

ND00 commented 7 years ago

Thanks for your reply. To clarify my last message - 2 of the 4 lights stay on although the monitor shows that 4 telegrams are sent (one to each of the 4 lights). So looks like not all telegrams reach their destination and at the same time as you indicated HomeKit thinks the lights are already off.

On Jan 7, 2017, at 10:18 PM, Raoul notifications@github.com wrote:

Sorry I get confused. You wrote yesterday

Only 2 lights are turned off. The other 2 are staying on.

But today you wrote

I see that while the scene is activated there are 4 telegrams sent over the bus from the knxd to the 4 intended lights. So I think it means that HomeKit + knx/homebridge parts are doing their job. However only 2 telegrams are sent as a result from the actuators to indicate the state of the lights. This leads to few questions.

So are the lights switched off (as the telegrams are sent correctly)? Or did they stay on (as teh telegrams are not sent)? Or did they stay on even though the telegrams are sent out, but the light actuators didn't react?

For homekit, all services that do not use a TargetSomething and a CurrentSomething characteristics homekit immediatly assumes any change to be effective. HomeKit doesn't wait for a confirmation that a light has been actually turned on or off - But it does with a motorized Window or Door service.

The tunnel limitations of your Weinzierl interface should not be an issue as knxd is using only 1 tunnel regardless of the number of telegrams sent. However, the speed of transmissions could be an issue if the Weinzierl is dropping telegrams if they arrive too fast via tunnel. But I am no expert on that matter, try the knxd github pages.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

ND00 commented 7 years ago

So just to close this issue. It seems like a problem with the knxd version and config. I was using the latest build but when I downgraded to the stable version and configured --no-tunnel-client-queuing (which is required for the Weinziel KNX IP Interface 730), everything seems to work fine now.