HomeKit integration repeatedly falling offline since OH3 upgrade

I hadn’t realised just how much I had been taking the stability of OH2.5’s HomeKit integration for granted… but I’m not taking it for granted any more! It keeps falling over now that I’ve upgraded to OH3 (now on OH3.1.0M2).

There’s probably a simple explanation, but no problem with HomeKit itself seems to be showing up in the logs. I do see some issues with old bindings cropping up (and would love to get rid of them if only I knew what was causing them to attempt to load in the first place), but I don’t think that’s anything to do with HomeKit’s troubles?

Here are the warnings to do with bindings showing up in the log:

00:30:29.501 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'caldav-command1' does not exist - ignoring it.
00:30:29.501 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'weather1' does not exist - ignoring it.
00:30:29.502 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'caldav-personal1' does not exist - ignoring it.
00:30:29.504 [WARN ] [.core.karaf.internal.FeatureInstaller] - The misc add-on 'ruleengine' does not exist - ignoring it.
00:30:29.505 [WARN ] [.core.karaf.internal.FeatureInstaller] - The ui add-on 'homebuilder' does not exist - ignoring it.
00:30:29.505 [WARN ] [.core.karaf.internal.FeatureInstaller] - The ui add-on 'paper' does not exist - ignoring it.

I wish I could be more specific - it sometimes worked once I remove and re-add the HomeKit binding, but then sometimes it also doesn’t. I’ve tried removing the bridge altogether from the Home app, and now when I try to re-add the openHAB bridge it just says “Accessory Already Added: To add this accessory to your home, you’ll need to reset it first.” … but it isn’t listed in the settings for the Home in the app. So it seems my attempts to fix it are getting worse rather than better.

Umm… help? It’s just so very random and there is nothing at all useful showing up in the logs. I’m happy to try things stepwise, but there seems very little to be configured or changed, and I’ve already removed and re-added the binding… once upon a time that worked, but now even that isn’t doing it.

OK… I’ve succeeded in re-adding it to the Home app (found the troubleshooting section of the docs, and used the openhab:homekit clearPairings command). But I’m not at all sure I trust it yet. Will report back here if it either stays online for more than a day, or if it keeps dropping offline. In the mean time, if anyone knows how to remove those zombie add-on references from my config, that would be great!

Well, it’s still broken. It was offline again when I tried to use it this evening. Every accessory displaying “No Response” in the Home app. Tried adding the openHAB homekit bridge using “Add accessory” in Home (without deleting anything first)… it just sat on the “Adding accessory” screen forever without actually doing anything. So then I tried removing and re-adding the HomeKit binding and running a clearPairings command again - this time I got a new error (I’m hesitant to call that “progress”): “Unable to Add Accessory - Security check failed or action not allowed.”

This is all feeling very bleeding-edge again, and far from sufficiently reliable to be considered functional, after what seemed to be very stable HomeKit support under OH2.5.

Has anyone found a way to get OH3 HomeKit support to stay up reliably after facing issues like I’ve described?

I’ve managed to get it to reconnect again in the Home app by deleting the bridge in the Home app and re-adding it… but now of course since everything was connected through that bridge, I need to re-configure every device in the Home app. Having to do that every day (or perhaps multiple times a day if I tried using the HomeKit binding more often) is not functional. This is the only thing remaining in OH3 that isn’t now up to the same level of functionality as OH2.5, but it’s kinda significant. Really hope someone’s got some suggestions to keep the bridge from failing so often!

Welp, it looks like this might be the same bug as reported here:

Looks like I might need to try replicating that poster’s cron task to keep resurrecting it until the bug in the system itself is tracked down and squished.

And while I’m linking things that are probably the answer, this thread seems to match with what I’m experiencing too. I’ll paste it in here because despite searching, I never seem to find these threads until after I’ve posted a description of my own problem:

do you use Docker or/and ipv6?

the issue with ipv6 and docker was reproducable - deactivation of ipv6 or usage of the latest snapshot version of homekit binding solves the issue

IPv6 is enabled on that machine, but openHAB isn’t running in Docker (the machine does have something else running in Docker, but not OH). I figure it could well be the IPv6 bug.

Assuming the binding refresh command workaround mentioned in that thread does the job, I might just wait until the next milestone build (which I gather incorporates the fix) and upgrade to that.