Hi all of you!
I used to run homebridge as central platform for my installation. I hate the guts out of it as I am a python guy. I see no reason why JavaScript (nodejs) is any good for home automation at all.
Besides that the HomeKit integration in homebridge turns out to be the wrong way around. HomeKit can run with self defined accessories and every time you need an update, you have to hack into the sources to get your own devices back in.
After installing homeassistant it turned out HomeKit support for home assistant runs over homebridge as the default way of integrating HomeKit in homeassistant is installing nodejs and homebridge. My bad for not seeing that before I started.
Since there is nothing difficult in implementing HomeKit support (for me) in Python and Apple actually “supports” 3rd party/home brew HomeKit support for non commercial products (they put the protocol documents on their site), I found this https://github.com/ikalchev/HAP-python which is exactly what I wanted to implement.
Now I am looking for a way of integration hap-python into homeassistant and get native HomeKit support into homeassistant so we all can get rid of installing nodejs,homebridge and all the rotten JavaScript configfiles.
I want to integrate it into homeassistant, preferably without appdaemon (I run haDashboard on a wall mounted iPad). I have been reading the docs and I am unsure about where to hook into homeassistant. It should start when homeassistant starts (no separate daemon), everything I want to be available should be configurable in the main config, including the Siri string by adding some config parameters to every entity etc.
In essence the whole homeassistant setup should be a HomeKit bridge, connecting it just like you would with homebridge. All “enabled” sensors, platforms etc. would then automatically pop-up in the HomeKit app, or Elgato eve or anything else. Keeping all config in the homeassistant yaml.
I have played around a bit using the python REST api, and got stuff working pretty quickly but that is not the way to go. So I need to add a platform or similar, keeping in mind that hap-python module should be able to run and there is a connection to the event-bus of homeassistant. This is where I need some help getting pointed into the right direction of where to put this from a homeassistant point of view.
Next i will put it on git or something, At the end it should be installable with pip3 or be integrated in the homeassistant main distro. I guess may people would love to see this, especially to get rid of nodejs and homebridge for HomeKit integration. It complicates setup and updates.
So who can point me into the right direction to go. I am a busy guy and new to homeassistant developement. Adding a platform or a sensor is not a problem, it is more that such a bridge is NOT just a platform or a sensor as it will not add anything to homeassistant. I would run somewhere as a separate thread and Need to react to events (to update HomeKit) and set status in homeassistant based on events coming from HomeKit.
As soon as I find the right hooks, I would be able to get a beta available in a few days.
Martijn