HomeKit Integration - No Devices, No QR Code

So I think the setup of Hubitat with HomeKit is flawed on multiple fronts. The first is that you have to add a device to the Hubitat before you can get the QR code to add to HomeKit. Thankfully I have a device that I have added, the EcoNet Bulldog, so I was able to get the QR code and add Hubitat as a hub in HomeKit. That is where success ends though.

In Hubitat I am able to open and close the Bulldog. It appears to work as expected. Going to the Home app on any of my Apple devices and the Bulldog lists as "Running" but "Waiting", and never gets past that. As a result, I cannot create any automations for the Bulldog based on a leak being detected from the Aqara sensors.

Additionally, in the Apple Home app the Hubitat hub is listed as not being certified. How do you advertise and sell a commercial product as having HomeKit integration but not tell anyone that you are not actually a certified integration.

Is there something that I am missing here, or is the integration not actually functional?

Turn on this setting in the HK integration, and then see what attributes are enabled for your water valve.

image

Also, I do not think Apple allows you to make any automations on water valves, I believe someone tried this in the past and it wont show up as an option in automations (I think I confirmed that it did not work on my end).

You could however create a virtual switch in HE (called something like "Water Leak") and share that to Apple Home. Create a HK automation to turn on that switch if a leak is found. Then in HE you can do the automation for the water valve based on that switch.

1 Like

Tried the switch and nothing there. I made sure to restart the integration as well.


This lead me to more investigation that in the end I came up with a solution that works. Before I get to the solution, which I will likely document out much further and post as an instruction set for others that might follow, I am going to pass along a few comments and observations.

Your note on the water leak and automations on the valve is concerning if true, but it does not add up for me. Aqara's new valve implementation in HomeKit would appear to counter that logic but I don’t have first hand experience with it to confirm (just the advertised materials). When I go into a water sensor I can create an automation based on a leak detected, but the valve doesn't show up in the list to apply the action against (what you were saying). It is likely that the valve does not show up though because it is in a "waiting" state which means it is not responding to HomeKit. HomeKit can't include a device for use in automations if the device is non-responsive or if it fails to provide the characteristics that say what it is and does. There is a wrinkle in this thinking in that it may be that, to your point, Apple does not recognize Valves. I created a Virtual valve to see if that offered a different experience. The interesting part is that when the Virtual value was in the Closed position HomeKit showed it as off and nothing about “running”, but the minute you clicked on it (it looks like a switch in HomeKit) to change states (going from Off to On) you get the “running” and “waiting” state. It switches back Off and all is good again. Not sure if this is a Hubitat valve implementation issue or a HomeKit one.

With all 8 of my water sensors being in HomeKit (all but 2 are Aqara and I have not been able to get Hubitat to recognize the Aqara's directly) Hubitat should only act as a controller for the valve, but so far it can't do that through the config of the valve as a physical or virtual device that is exposed to HomeKit.

Here is what did work. I created a Virtual Switch in Hubitat, exposed it (and only it) to HomeKit with the initial state being ON. Then added a rule to Hubitat that when HomeKit switches the Virtual Switch to OFF the valve gets closed. Initially I was going to add another rule for when the switch is turned ON to open the valve again. That I decided was a bad idea in that when a leak is no-longer detected it would turn the switch on again and then open the valve. That would be a comical cluster F in an actual event. In HomeKit I was then able to go to the sensors and add automations that when a leak was detected turn OFF the Hubitat Virtual Switch, which the rule would then close the valve. This all works.

Virtual switches should not be the way that you have to make all of this work. If Hubitat wants to advertise that it supports HomeKit then it needs to actually be a proper integration, and that should include getting certified. There is nothing worse than being misled with half truths. Right now I feel like I was conned by Hubitat on the reality of its integration to HomeKit and that limitation has resulted in a significantly more expensive solution than I needed. My interest in Hubitat was with the idea that the integration would enable all sorts of better rules/automations and expanded infrastructure through ZWave and Zigbee. I could have done that with a USB dongle and my existing HomeBridge setup.

Nothing where? Show a screenshot of your valve in the HK integration app with that setting enabled. There will be additional information shown once that setting is enabled.

I have a valve integrated via Homebridge and it works fine, so I know it can work. I can turn it on and off from Apple home and it shows the status correct with the water spigot icon. I see mine also says Running and "Waiting..." under it, but I know I have turned it on from HK before (do not want to disrupt things right now and test it). I have never tried it using the system integration.

I just tested automation in HK again, making an automation to turn off the valve. I selected a water sensor and add automation, click next to pick the device to act on and the valve is not in the list at all.

I cannot find it anymore but I am certain I tested this before and found an official apple document saying that you could not run automations on water valves.

So the way you did it with the virtual switch is the way to go, and what I suggested above.

There is nothing HE can do about if Apple does not allow integration on a water valve. It is better to run all your automation in HE anyway, so you have everything in one place to maintain.

1 Like