Homekit requirements

Hello guys!

I have been playing with HE for about 3 weeks now and i am making some progress. My ultimate goal is Homekit integration of my zigbee devices. For the most part i have found drivers that do the trick, i have also written some drivers for specific devices and they do seem to work fine.

Now here is where i am getting lost: why are some devices listed as incompatible? What are the requirements for a driver in order to make a device compatible?

For example i have written a driver for a zigbee outlet - which has the following capabilities: Actuator, Configuration, Initialize, Refresh, Switch
this works great, and shows up as homekit compatible and i am able to control my device like a charm.

I am using community driver for my Aqara wall switches, which creates child devices for each button on the switch. These devices user a driver called "Generic child switch driver" (provided by the same person, who made the Aqara wall switch driver) - which is basically only a generic switch and it also incorporates the same capabilities (Actuator, Configuration, Initialize, Refresh, Switch) but the device is shown as incompatible?

If i switch the child device driver to something else (even a virtual switch) - then it shows as Homekit compatible, but of course my device is not working with that driver.

I searched through the documentation but i cant find anything that is a requirement that should be met, in order to make the device compatible. This really ties my hands now :frowning:

Community drivers, or our own, don't qualify for HomeKit certification. Only Hubitat's built-in drivers qualify.

It's an Apple restriction not a Hubitat one. Hubitat just implement's Apple's requirement(s).

1 Like

@korgoth can you confirm (again) your driver works? and then post the code? That is the first time hearing you can write your own. My understanding is the same as:

I can confirm that this works 100% on my side, with a zigbee device. Here is a link to the code of my driver: https://pastebin.com/raw/YwVfSfyA

2 Likes

All drivers for Zigbee and Z-wave devices (type ZGB or ZWV) are working with the HomeKit integration.

The restrictions are for custom virtual devices, including child devices.

If the child device is assigned an inbuilt system component driver, then it works too.

3 Likes

Hm, but the parent device is an actual zigbee device! Then it seems i do need a better driver for it - that exposes it properly to homekit - and not via virtual devices :-/

I am currently using this driver: https://raw.githubusercontent.com/guyeeba/Hubitat/master/Drivers/Aqara%20QBKG03LM-QBKG04LM.groovy

And the devices i would like to get working are exactly QBKG03LM and QBKG04LM (single and double rocker wall switches). Can any of you guys recommend anything?

Or is there another workaround to this problem?

To clarify:

Community drivers for z-devices are supported for HomeKit integration (for now). In contrast, community devices for virtual devices (and child devices) are not. LAN devices would fall in the virtual/child category. Z-devices are the exception, not the rule.

2 Likes

Is it expected that z-devices with community drivers will be dropped from Homekit integration? Since you write "(for now)"?

No. This is not expected.

But AFAIK, Hubitat doesn't have an Apple-certified HomeKit integration yet. So until that happens, I think a wait-and-see approach toward community drivers is prudent.

4 Likes