Still no progress on the BLE front - barely had any time for Home Assistant this last quarter. That said the plan is still the same - going native asyncio is still the priority. The asyncio IP client is working, but not yet stable enough to merge. This will allow event support, which is pretty much a requirement for BLE devices because they are so slow to poll.
I did try something people here might be interested in though.
I have quite a few test Eve devices that I want to use with Home Assistant, and I know it’s going to be a while before I can look at them. So… I recently picked up an Eve Extend which is a HomeKit Wifi to Bluetooth bridge. It’s meant to be used as a range extender, but I wanted to see if it could let us use Eve accessories with Home Assistant.
I used the Eve app on an iPhone to have it join my WiFi, then assigned all my Eve devices to it (Eve Thermo, Eve Motion, Eve Energy, Eve Smoke Detector). You can only do this with the official Eve app - it’s a vendor HomeKit extension rather than an implementation of the official spec. I found when everything is working in the Eve app on iOS you can unpair the bridge and all the accessories stay connected to the bridge, and it remains on your WiFi. Then you can pair with HASS. Seems to work!
Full disclosure - the first time i tried this it worked perfectly first time. I think at that point I was using a FRITZ!Box 7530 for WiFi. Getting it to work at home was more problematic. There I have UniFi. It did work, but I had to reset it and try a few times before I got it to join the WiFi network. It would join the WiFi (could only tell through router DHCP reservations) but then fail to pair. I think it went through on the third go.
There are of course limitations:
- The bridge can only take up to 8 accessories.
- homekit_controller is still a polling integration until I finish this. So there are delays of up to a minute on picking up changes. So whilst the Eve Motion is supported, it’s not its most useful.
- The smoke alarm is detected enough to monitor its battery, but thats it so far.
- To add more devices later you will need to unpair from HASS, repair with Eve iOS app, unpair, repair with HASS. Right now only an unpair with the homekit_python cli is good enough and HASS “unpair” only breaks the connection on the HASS side. So this is something of a pain.
This should work for other Eve products too, although testing required. E.g. Eve Room 2 - I think the temperature and humidity sensors would work out of the box, and probably a battery reading too. But if memory serves we’ll need to add a bit of code to support for the VOC reading.
Native bluetooth support is still something I want to do, but realistically it’s a long way out.