Is it _really_ a good idea to use HA to directly control zigbee devices

I’ve had several Ikea lamps and remotes and a gateway since they were introduced.
It is not a perfect system. I gave up on my node-red integrations a couple of years ago because the gateway would randomly forget everthing. But… my lights still worked. I have 2 remotes paired to 2 lamps in my hallway and landing. I have one remote paired to 3 lamps in the kitchen, and a couple of standalone remotes and lamps. The point is that these pairings work independently of any hub or operating system. Reliability and consistent behaviour gives it all a high “wife-acceptance-factor”.

As a geek, I always want more ways to customise, so after a couple of weeks of lazily playing with HA in Docker on my Synology, I decided to get a Sonoff USB Zigbee 3.0 Stick, flash the latest firmware, and repair everything directly to HA using ZHA.

It has taken me 16 hours to pair around half my devices, and the best functionality I can manage is on/off toggle. No dimming, and no warm/cool selection. All the while this nagging question is growing… “should you be doing this?”. Why… to turn a light on, should I need a complex piece of software, dependent on a working Docker environment, dependent on a working OS dependent on working hardware? It’s a light. Click-on, click-off.

I mean, I’d like to add some bells and whistles to my lighting. A simple “All off” button is top of the list, follwed by “Vacation mode”, but surely this should be added on top of the near rock solid Ikea/Hue setup where remote(s) are paired directly to lamp(s).

I’m lookijng for the thoughts of you guys who have done it, or rejected it. If you do this stuff commercially (is anyone brave enough), I’d love to know what general approach you take.

Rant mode disengaged :smiley:

I use zigbee2mqtt, so technically that’s relying on the host Ubuntu OS, docker, Home assistant, zigbee2mqtt, Node red, and the mosquitoo broker to all be up and running for Everything to work.

It’s a lot of pieces, but its all local on one machine and everything works fine together, and the machine is on a UPC backup in case the power goes out. Sometimes I have to reset things if there is an extended power outage and the backup runs out of power.

After using cloud based systems like Wink (while it was even still around) and Smartthings that always had outages, I wouldn’t go back to any other way.

I’m not a geek… in fact very far from it. But I have about 20 zigbee devices including a number of Ikea devices and one Ikea bulb. All are paired to HA using ZHA.

Have full control of on/off colour and brightness of my bulbs… directly in the dashboard and via automations and the Adaptive Lighting integration.

Not sure if relevant to you but I use the Conbee USB Zigbee controller. Was having some problems with some of the Ikea devices at first - but none at all recently. I suspect things improved for me after I updated the firmware on the Ikea devices that were playing up.

I haven’t done this myself, but if you’re concerned about these remotes not working if the system goes down, ZHA allows for binding the devices together for direct control even if the ZHA host goes offline. This should allow you to continue using the remotes to control the lamps still even if your ZHA/Home-assistant instance is offline. Binding info at the documentation link below.

With binding wirking properly, you get the benefit of direct remote control to your device, and the devices being connected to Home Assistant for local control and near instant local automations.

1 Like

Adaptive Lighting is something I need to look into. Time-based color temperature changes was what I was using node-red for… But, with the remotes paired directly to the lamp, you hit the dumb Zigbee limitation where you cannot change the color or brightness of lamp which is turned off. This can be worked around if the remote is paired directly to ZHA which is why I tried this approach. Good to hear your experiences though. Thanks

I hadn’t even thought of binding a remote directly to a lamp which was already bound to ZHA. I’d forgotten you don’t need to reset the lamp to do this. Just the 10s press on the remote. Now I’m baclk to the advantage of ready made dim and color change without creating dozen of automations. I obviously lose the ability to do unusual stuff, but it may be a good middle ground for me. Thanks

I’m with you on local control. Still undecided on how much “stuff” to put in between the remote and the lamp. I’ve heard good things about Zigbee2Mqtt. I already have the mqtt server in another container. More experimenting!

1 Like

I got all my lamps working in HA through the Zigbee USB stick, but then I paired my remotes directly to the lamps (without factory resetting the lamps, obviously) and removed all the remotes from HA…as they were factory reset to pair them directly to the lamps. Now my lights work with the remotes, but home assistant has lost control of the lights. Argghhhh!
I’m going to have to put this on hold for a while.

I sympathise…

I’m an absolute nerd, but HA and especially Z2M has given me nothing but headaches for several months. I fully - absolutely - understand why some YouTubers mock the HA community when they’re claiming everything is insanely simple - when in reality, it’s nothing close. Some folks seem to have all day and night at their disposal to tinker & fiddle until they get their setup working just right. Most of us don’t have that kind of disposable time window available to us.

I feel as though I’m inching nearer & nearer to the results I want, but it’s a very slow & methodical progress - not the claimed “instant fix” that others would suggest. And that’s me - a nerd who loves tech. God help the less nerd-inclined amongst us…

4 Likes

Yes I would not say Home Assistant is simple. The manufacturer supplied app/hub will almost always be simpler because their system is designed around it.

The manufacturer hub is simpler, until they pull the rug out from you by forcing you to upgrade your device (Hue), making you pay a subscription (Wink), or going out of business and completely shutting everything off (Insteon). Plus, it only supports their products and locks you in their ecosystem.

So, I would look at taking the time to learn Home Assistant as an investment to avoid these alternatives

1 Like

Binding isn’t the same as pairing. Pairing will create another zigbee network that will be outside the coordinators control. Binding should be done through the software and not pressing any pairing controls on the devices.

You might have better luck with zigbee2mqtt and binding. They specifically mention what works with the ikea/tradfri devices in their table, and mention the ikea devices in their example.

zha with conbee II has worked like a charm for me, and i use a variety of devices from philips hue motion sensor - lights and switches, aqara motion sensors, sonoff zigbee and ikea lights.

but the best implementation for me is to have the usb stick attached directly to a vm and not docker (tried both). I use unraid and i have installed hass.io to a vm.

ZHA has worked fine for me, too. I hear Z2M is a bi t more functional, and if you already use MQTT that’s probably the way to go. I don’t, and I’ve found no need to install two new components in the loop when ZHA does what I want. That’s the great thing about HA; plenty of flexibility, choice and functionality.

I’ve never found the need for a remote control for a light. I mean, each room has wired remotes. They’re what we used to call light switches back in the old days. Now I just bring up HA on my phone to turn lights on and off, if the automations haven’t already done so.

I knew my Zigbee mental model was wrong somewhere. Trying to find resources to learn it that (A) isn’t tied to one implementation, and (B) doesn’t require reading 3000 pages of dense standards documents… is hard.
Binding vs Pairing seems a good place to start though, so thanks

When I said remote control, I meant any kind of physical control. Mine are Ikea Tradfri remotes stuck on a blanking plate where my 240VAC switches used to be. How are your physical switches wired up so that you can still control the lights via automations? I know the Shelly relays can use a physical switch (deviating a bit from the Zigbee topic now!)

The Docker approach is working well so far, easy to set up, and… important in these early stages… easy to tear down and bring back up again.
I’m intrigued by what you found worked better in a VM.

That docs has some useful info… but it’s getting complex pretty quickly… it’ll take some time for it to sink in!
I saw reference to “clusters” in ZHA and suspected it might have something to do with getting devices to talk to each other.

Mostly I use “smart plugs” and lamps which plug in to them. In a couple of places I have SONOFF 01MINIZB devices in the box with the switch. This allows me to use the existing wall switch and HA to control the light. I don’t have any “smart” bulbs. In other words, no dimming, no color changing. Primitive, I know!

If you’re using Hass.io docker is still there, it’s just that the supervisor is managing docker containers for you, which would be homeassistant and all the addons. Using hass.io on a vm actually creates extra layers you need to pass the usb through (host os - VM - hass os - docker - home assistant running in container), so it’s not really “direct”. If there is a failure at any point in the pass-through, the connection to the zigbee stick will be lost.

I’ve used zha in Home assistant container. It worked fine, but you need to specify the path to the usb stick with the device option in the docker run command/compose.

If you want to avoid pass-through issues all together, and have a direct connection from the USB, you could install zigbee2mqtt directly on a linux os.

Have you ever had issues caused by the pass through of the dongle to the HASS VM?

I have a very similar setup (Proxmox with HASS VM with ZigBee2MQTT) and lose some devices daily from the network. I ignored it for some time now, but want to Fix it now, as it’s no good idea to base automatons on sensors not reliably available.