HomeKit specs now open for non-commercial use

Hey, this sounds like some good news: https://www.appleworld.today/blog/2017/6/7/apple-opens-homekit-protocol-specification-to-all-developers

That means that stuff like the openHAB HomeKit add-on is now officially allowed and supported by Apple!

10 Likes

Maybe we will then have the chance for a working (reliable) add-on?!

I missed that! Time to see where my reverse engineering went wrong :slight_smile:

1 Like

@beowulfe I really love to see HomeKit working in OH2.1. If you need help somehow (also in software development) I’m happy to help.

Björn

I’m going to dive deeper into the spec this weekend, but I went through it at a high level tonight. One thing that strikes me as missing in our implementation is config versioning. HomeKit expects the config version to be incremented anytime an accessory’s metadata changes. For us, that means anytime an Item is added or removed.

This presents a bit of a complication with OH’s architecture. I could store a copy of the last adversity version, but AFAIK, there’s no defined point where I can say “OH is fully initialized and all items are created”. The way it works now, we start the bridge at startup, and as Items come in we disconnect clients and let them reconnect and see the new accessories. I wonder if this explains some of the problems people have been having with config data resetting.

@Kai - I know there was a bug open in ESH at some point to implement some kind of initialization tracking. Did that go anywhere? Is there a way I can know we’re fully initialized?

The issue you are referring to is https://github.com/eclipse/smarthome/issues/1896. It isn’t yet available, but there is some progress. So for architectural decisions, you should consider that such a service will be available in future, while for the moment you’d have to go for some workarounds (e.g. consider a successful startup once no new items are added for e.g. the last 5 seconds).

One thing I did notice, this only covers up to iOS 10.3, the new iOS 11 devices (faucets and sprinklers) aren’t documented, yet. Hopefully, Apple will update the documentation this fall for iOS 11. If we’re all good boys and girls, maybe they’ll even give us AirPlay 2 documentation.

Adding a +1 here for hopes that this new shift can open new gateways (pun totally intended!) for us. I made a note when I saw a similar article highlighting this last night. I just had to make sure the OpenHAB community knew!! Specifically of course though @beowulfe! :smile:

Thank you sir for all the work you’ve done getting what we currently have working. I’d love to help, but I’m not a coder. So I’m happy take some shots at testing out new versions that utilize the newer mechanisms when they’re ready. I operate in a Siri and Alexa equal opportunity household. :wink: So while Siri is being operated on, Alexa can suffice. Though it’s been a bit rocky lately, not sure why but Alexa’s been a bit unstable lately for me where suddenly she stops responding or being able to connect - won’t get into it here, could possibly be related to the new Ubiquity Unifi gear I’m using for network handling.

I’ve looked through the spec, and it seems the few gaps we had at the protocol level were actually resolved by contributors to the underlying library - I had accepted the changes earlier, because they did no harm, but now I have the confidence that they actually bring us into conformance with the spec.

I think a quick win will be me figuring out the startup delay and merging in the latest version of the library.

After that, I’d love to bring support for a wider range of accessories. Right now, that’s waiting on the questions in https://github.com/eclipse/smarthome/issues/1093 to be resolved. Anyone that wants to chime in there on solutions would be welcome!

In the meantime, I may start work with a temporary tag format, with the understanding that it will change in the future. @Kai - would the IoT Marketplace be an appropriate way to release a beta version like that? It wasn’t clear to me if that’s okay for plugins that are part of the actual OH2 package.

1 Like

Let us discuss on this issue, how to best proceed.
As you know, temporary solutions are made to stay for a decade and even if you would use existing item tag infrastructure, you would still lack a good way for users to edit this information.

Not really appropriate, because listings on the Marketplace should really be ESH-compatible and thus not have any specific openHAB dependencies.

From a User prospective its hard to grasp - that the one year ongoing and seemingly slow discussions - seem to block the development on one of the fastest growing Homeautomation Topics (Speech).

After Reading a couple of Discussions I don’t even know, what the actual Problem is. It seems the new UI-approach of OpenHab2? But isn’t missing Features even worse for the Product? And shouldn’t the UI evolve to the Product and not the Product to the UI?

In OpenHab1 it would probably be logical to just add another Bindingconfig to the same Item or duplicate the Item?

9 Likes

I wish I could give you 1000 likes for this comment - there seems really to be a disconnect here between the people who want to use openhab and the people maintaining it. I would gladly help with the project but I don’t really understand how to help and keep getting referred to very conceptual discussions that I don’t understand.

I would be fully behind @beowulfe creating something custom and just getting HomeKit working and then retrofitting when a solution is available. Creating a divergent solution it might even have the benefit of getting people to pull their fingers out and get the core problem solved.

6 Likes

you got it - I think a temporary solution would be the greatest here to bring things forward.

1039 seems to be blocking a number of important features right now, like scene support for Alexa. I get that temporary adhoc shims have a nasty way of becoming permanent features, but there’s been over a year of slow debate that doesn’t seem to be getting any closer to a resolution, while features that are important to end users are stalled.

2 Likes

+1 for a temporary solution enabling HomeKit for new accessories

1 Like

+1 for highlighting the high interest of another user on new accessories

+1 just add another one.

+1 also from me

+1 here too

+1 come on guys