brutella / hkknx-public

hkknx is a HomeKit KNX bridge for KNX.
https://hochgatterer.me/hkknx
97 stars 6 forks source link

Button makes HK Bridge Not Available #201

Closed petnau closed 1 year ago

petnau commented 1 year ago

Hi,

When I create or activate the accessory type "Button" and try to sync with the Configurator app, I get the message "Bridge not found" and the HK Status page shows KNX Gateway "No Connection" and HomeKit Bridge "Not Available".

As soon as a Delete/Inactivate the Button everything returns back to normal.

Running HKKNX 2.4.0 but it was the same with the previous versions.

Does the Button add additional IP-connections to the KNX Gateway? My KNX Gateway acts a bit wierd and since its and old gateway it cant handle more than one or two simultaneous connections if I remember correct.

Anything else I can check to see whats going on?

Best Regards, Petri Naumanen

brutella commented 1 year ago

I'm unable to reproduce your issue with 2.4.0. Could you please post a screenshot of your button configuration in hkknx.

mirkolenz commented 1 year ago

Did you try to leave HKKNX running with the button for a few minutes? I observed that if I add a new device, the bridge will be unresponsive for a minute or so and will become responsive with the new configuration afterwards. Maybe the internal HomeKit Bridge needs to be restarted causing the brief downtime.

brutella commented 1 year ago

Maybe the internal HomeKit Bridge needs to be restarted causing the brief downtime.

You are right. Every time you make a change on an accessory, the bridge is restarted causing a new announcement through DNS, which might take a while. If this takes a long time for you, you can try to set a specific port for the HomeKit bridge under Settings → HomeKit Bridge → Port. This has the effect that old DNS entries are still valid because the bridge is available under the same port.

mirkolenz commented 1 year ago

Thank you for the tip, I will try that out. In my case, the longer downtime is most likely caused by the fact that HKKNX is in a different VLAN than my HomePods. AirPrint is also quite a bit slower if working through mDNS responder.

petnau commented 1 year ago

Hi,

Here's a few screenshots

image

image

And yes, I've have left it running for for some time (hours).

brutella commented 1 year ago

Do you see any log outputs in the console regarding connection issues with your gateway?

petnau commented 1 year ago

Hi,

Did some more light testing...

After I have created the Button everything looks "normal" besides that I can not sync anylonger. The only way (that I have found) to get it back to work again is to remove the "Button" and do a full restart my Pi4. Tried to do a "Restart System" from within the application, but apparently it wasn't enough. During all this the system log is empty.

Any other logs that could be of use for troubleshooting?

brutella commented 1 year ago

You can access the log output from the command line as well. If you are using the pre-configured Raspberry Pi image, you'll find the log file at /var/log/hkknx/current.

petnau commented 1 year ago

Hi,

Does the bellow output give you any clues of what might the cause to the problem?

panic: runtime error: index out of range [38] with length 24

goroutine 83 [running]: github.com/brutella/hkknx/app.(app).accessoriesInProject.func2(0x26, 0x0, 0x7e5a01) /Users/mah/Source/Code/Go/src/github.com/brutella/hkknx/app/app.go:755 +0xa4 sort.medianOfThree_func(0x1e08e28, 0x1f5b0c0, 0x0, 0x13, 0x26) /usr/local/opt/go/libexec/src/sort/zfuncversion.go:56 +0x54 sort.doPivot_func(0x1e08e28, 0x1f5b0c0, 0x0, 0x9c, 0x10b, 0xc38d4) /usr/local/opt/go/libexec/src/sort/zfuncversion.go:76 +0x450 sort.quickSort_func(0x1e08e28, 0x1f5b0c0, 0x0, 0x9c, 0x10) /usr/local/opt/go/libexec/src/sort/zfuncversion.go:143 +0x78 sort.Slice(0x740b18, 0x1f5b0b0, 0x1e08e28) /usr/local/opt/go/libexec/src/sort/slice.go:20 +0xcc github.com/brutella/hkknx/app.(app).accessoriesInProject(0x190e500, 0x1801ea0, 0xafc28c, 0x1d18810, 0x1d714d8, 0x1a323cc, 0x2, 0x0) /Users/mah/Source/Code/Go/src/github.com/brutella/hkknx/app/app.go:754 +0x3ca4 github.com/brutella/hkknx/app.(app).Run.func2(0xaf7ec4, 0x1a23580, 0x190e500, 0x1801ea0, 0x1d18810, 0x1bee400) /Users/mah/Source/Code/Go/src/github.com/brutella/hkknx/app/app.go:368 +0x1ac created by github.com/brutella/hkknx/app.(app).Run /Users/mah/Source/Code/Go/src/github.com/brutella/hkknx/app/app.go:356 +0x448

brutella commented 1 year ago

Thanks for your report. I fixed this issue in 2.4.1-b1.