Here is the thing nobody tells you in the honeymoon phase, when you’ve just plugged in your first Sonoff coordinator and you feel, briefly, like an engineer: ZHA just works. You pair a motion sensor, the light comes on, and that’s the whole story. It’s boring. And boring is the highest praise you can give a piece of home automation, because boring is what’s still standing at 6am when you’ve got a kid on one hip and a washing basket on the other and exactly zero hands free to open an app and apologise to it.

So, obviously, I broke it.

I wanted the blinds done. Tuya motors. Cheap, well reviewed by people I will never meet and now actively resent. And the forums all said the same thing in the same smug voice: for Tuya you really want Zigbee2MQTT. More devices supported. More control. More, more, more. Nobody mentions that "more control" is the marketing term for "more surfaces on which it can fail at eleven at night."

Paired. Confident. Motionless.

So I migrated. Moved the whole mesh off ZHA. And for my trouble I got a system that was measurably worse at everything it had already been good at, plus a set of blinds that paired flawlessly, reported their status with enormous confidence, and would not. actually. move.

Pairing is not automation. A device telling you it’s online is not the same as a device doing the one job you bought it for — a distinction I have since had tattooed on the inside of my eyelids.

Three weeks. Three weekends of "just one more config change." Then I did the bravest thing a man can do in this hobby, which is admit he was wrong and roll it back. Re-paired everything to ZHA. The lights came on again. Boring again. Beautiful.

The dongle on an extension lead, kept far from the USB3 ports, because that's a war too

The blinds, for the record, still don’t work properly. Turns out Tuya motors want physical calibration and limit-setting before they’ll behave, and no amount of MQTT broker wizardry fixes a motor that doesn’t know where the window ends. The protocol was never the problem. I was the problem. I usually am.

THE LEDGER

Cost: ~$140 in motors, $0 in software

Actual cost: three weekends and the smug certainty that I’d done my research

Survives a firmware update? The blinds don’t survive a stiff breeze

Verdict: If your ZHA setup works, walk away from the migration. Walk away.