[BUG] Room Lighting Activator HomeKit Issue

Not sure if this is a bug within the HomeKit app, or within the Room Lighting app, or with the Room Lights Activator Bulb.

I've got some Ikea Color Temp bulbs connected directly to Hubitat. They work fine. If I export them to HomeKit, they work fine. I can select "Export as Color Temperature Light", which is what I expect.

I've got them (and nothing else) in a Room Lighting app, with an activator device for them. The activator device has RGB settings available (which do nothing, and should probably be fixed, as 2 CT bulbs shouldn't even have RGB controls on their Activator), as well as Color Temperature settings. If I change color temp from the activator, that also works as expected.

When I try exporting the Room Lights Activator Bulb to HomeKit, the only options I get are "Button", "Switch", and "Dimmer". I don't have any option to export it as a color temperature light (so I can change color temp via HomeKit), and there are no options for RGB/RGBW either (which exist on the activator but really shouldn't, since there's only CT on the bulbs).

I know there's no support for any sort of dynamic capabilities, but maybe we could have multiple different Activator drivers, with varying capabilities depending on what they control? So one with switch, one with dimmer, CT, RGB, RGBW, Shade Level, etc? And have an option in the Room Lighting app next to the Activator name field where we could select what capabilities the Activator should have?

Ideally, if the devices controlled by the activator all have the same capabilities, then the activator should just automatically mimic that, rather than need to be selected manually. So default to "whatever the devices have" and default to "switch" or something sane if there's a mix of devices in the Room Lights app, in case someone has an activator for a mix of bulbs, switches, blinds, etc, all in one app.

It's not really a big deal exporting 2 bulbs instead of 1 activator, but other rooms have many more bulbs than 2, and they "popcorn" wildly when controlled via HomeKit, since I can't export the Hubitat activator (which uses ZigBee groups) to avoid the popcorn.

I think this should fall within what Hubitat apps/drivers can do. If the app has a drop down for "Activator Capability" or some sort of CheckBox selector, and the user changes what the Activator capabilities are, it should be possible to store the DNI of the present activator, remove said child device, create a new activator with the required driver to match the needed capabilities, and then restore the same DNI as before so anything referencing the old Activator continues working.

Pretty sure this is a bug. @gopher.ny is the HomeKit guy. I reported it this past week, but he's been busy with the 2.3.7 upgrade process for a while.

The built in app is inflexible with capabilities compared to the 3rd party Homebridge apps. It would be nice if it were more flexible. If you have Homebridge running you can use one of the 3rd party integrations to properly get the RGB device into Apple Home.

Yeah, I know HomeBridge can "fix" it, but I really don't want to run/maintain a whole Pi/Mini PC just for HomeBridge. I very much like that I have everything directly on my Hubitat now. With the relaxing of things with HomeKit app that allowed locks/garage doors, I've eliminated my need to run HomeBridge and happily shut mine down and decommissioned the PC.

I just checked, and if I have an app that has a selector for capability.colorTemperature the activator shows up, and if I have one for capability.colorControl, the activator shows up. So the activator driver definitely has the capabilities defined, and it seems like it's an issue with the HomeKit app itself.

I could make a virtual CT light, export that to HomeKit, and set up a Mirror app to mirror it with the Activator, but that's yet another virtual device on my Hub, extra CPU used for the Mirror app, and really shouldn't be needed. Grouping them in the Apple Home app isn't really a workable solution, as that doesn't allow for ZigBee group messaging.

That said, I still think the Room Lights app should have at least a couple different Activators with different capabilities defined, because it's pretty silly having RGB settings on the Activator for a pair of CT-only bulbs doesn't really make sense.

There are separate drivers with separate capabilities.

Room Lights picks the most obvious Activator driver. But, you can always change the driver on the activator device page, if you want a different one.

Yeah, I saw that, but it's just "bulb", and that means I'm getting an activator with RGB capabilities for my CT-only bulbs. There's not an option for "CT Bulb", so it's either "dimmer", which loses the CT capability, or "Bulb", which adds RGB when for this particular case it shouldn't have that capability.

But more than that, there seems to be an issue with the HomeKit app since it doesn't allow exporting the "Room Lights Activator Bulb" as a CT (or RGB) device to HomeKit. The HomeKit app allows for "Virtual CT Bulb" to work properly, so right now I have a couple of those exported and linked to activator devices via "Mirror", but that's a bit clunky.

We will look into it. It wouldn't be hard for me to add another driver, such as CT only. I wasn't aware of this problem.

1 Like

Thanks!

Here's the real bug tho, which I think is easily replicated:

The HomeKit app only allows "Export as: Button, Switch, Dimmer" for the activator, even tho it definitely seems to have capability.colorTemperature and capability.colorControl. It's as if the HomeKit app just doesn't pick up on those capabilities for some reason. The Activator driver seems to be the only thing I've run into with this issue so far.

I've got an activator that's using the 'bulb' device. It only shows up as a dimmer in the HomeKit integration, so no color control. I've got other non-RL activator RGBW devices that are selectable as 'RGBW Lights' in the app.

Yeah, I can see where the logic fails. Will have a fix in the next build.

3 Likes