Local Motorized Shades in Home Assistant: The Zigbee Build That Never Phones Home Home Automation

Local Motorized Shades in Home Assistant: The Zigbee Build That Never Phones Home

by Joule P. Kraft · July 20, 2026

As an Amazon Associate I earn from qualifying purchases. No affiliate relationship influences my recommendations.

I have a west-facing home office. For about two hours every afternoon it turns into a solar oven, my monitor washes out, and I sit there squinting at a wall of glare instead of getting anything done. The obvious fix is motorized shades that drop themselves when the sun swings around. The un-obvious part is that most of the “smart” shades sold to solve this problem are quietly building their whole value proposition on a cloud account you do not control.

So I did what I do with every category on this site: I found the version that keeps the brain in my own house. This is the build log for motorized shades that answer to Home Assistant over Zigbee, take orders from a local schedule and a sun sensor, and do not phone anybody’s server to close a window covering. No app subscription, no “we are sunsetting this feature” email, no shade that stops working because a startup ran out of runway.

Why Not Just Buy the WiFi Shades

Walk into the smart shade aisle and the default is a WiFi motor that pairs through the manufacturer’s phone app. It works. It is also the exact architecture I spend this whole site trying to avoid, for three concrete reasons.

First, the control loop runs through someone else’s data center. When you tap “close” in the app, that command can travel to a cloud server and back down to a motor sitting fifteen feet from your phone. When the internet is out, or the vendor is having a bad morning, your shades get slow or stupid. A window covering is about the dumbest device in your house to make dependent on a wide-area network.

Second, the integration into Home Assistant is usually cloud-polling. HA asks the vendor’s API what your shades are doing, and if that API changes, rate-limits you, or disappears, your automations go blind. I have watched this happen to too many “works with Home Assistant” WiFi gadgets to trust the pattern anymore.

Third, and this is the one that actually bites people, is longevity. Motorized shades are a ten-year purchase. WiFi smart-home startups are not ten-year companies. When the servers go dark, a cloud shade becomes an expensive manual shade with a dead app. A Zigbee shade just keeps talking to your local coordinator forever, because there is no server to shut down.

Zigbee and Z-Wave shades solve all three at once. The motor speaks a local radio protocol to a coordinator plugged into your Home Assistant box. There is no account, no cloud, and no dependency on the manufacturer still existing in 2036.

Step 0: Decide Between Replace and Retrofit Before You Spend a Dollar

This is the fork in the road, and getting it wrong is the most common reason people return shade hardware. Answer one question before you buy anything: are you willing to replace the shade itself, or do you need to keep the shades already hanging?

If you can replace the shade, buy a purpose-built motorized shade with a local motor. This is the clean path. The motor is integrated, sized, and quiet, and there is nothing to align. The SmartWings motorized blackout shades are the ones I landed on, and they let you order the motor as Zigbee or Z-Wave specifically so it drops into a local setup. You measure your window, order to size, and hang a shade that already has the smarts built in.

If you cannot replace the shade because it is expensive, custom, or your spouse likes it exactly as it is, retrofit it. A retrofit motor grabs the existing bead chain or curtain and does the pulling for you, leaving the shade untouched. This is where the Aqara Roller Shade Driver E1 earns its keep: it clips beside a roller or cellular shade, loops the bead chain over its wheel, and drives the chain up and down on command over Zigbee. For a curtain on a rod rather than a chain-driven shade, the Aqara Curtain Motor E1 track version rides a track and drags the curtain open and closed.

Retrofit is cheaper per window and keeps your existing shades, which is a real win in a room full of matched custom blinds. The honest trade-off is that retrofit motors are fussier. You have to align the chain wheel, the pull can be slightly louder, and a very heavy shade can out-muscle a small clip-on motor. Purpose-built shades cost more up front and mean throwing out the old covering, but they are quieter and there is nothing to calibrate. Pick your side of that trade before you order, not after.

One more gate that catches people: check whether the Aqara drivers need the Aqara hub. The E1 line is Zigbee, and it pairs directly to a generic Zigbee coordinator through ZHA or Zigbee2MQTT in the vast majority of firmware versions, which is exactly what you want for a no-cloud build. But firmware revisions have occasionally been picky, so if you are buying several, buy one first, confirm it joins your coordinator cleanly, then order the rest. That single-unit test has saved me from bulk-ordering the wrong thing more than once.

The Local Radio: You Need a Coordinator

None of this works without a Zigbee (or Z-Wave) coordinator plugged into your Home Assistant machine. This is the small USB stick that is the actual radio, and it is the thing that keeps the whole setup local. If you already run Zigbee devices, you have one and you are done. If you are starting fresh, grab a Zigbee USB coordinator like the Home Assistant SkyConnect or a Sonoff Zigbee dongle, plug it into the HA host, and add either the ZHA integration or Zigbee2MQTT.

My advice: do not buy shades on one protocol just to save a couple of dollars per unit if you already run the other. Standing up a second hub to control window coverings is a bad trade against the tiny hardware savings. Match the shades to the radio you already have. Starting completely fresh, Zigbee shades are cheaper and more widely stocked, and a single coordinator will happily run a whole house of them.

Pairing and the First Automation

With the coordinator in place, pairing is anticlimactic in the good way. Put the coordinator into join mode from the ZHA or Zigbee2MQTT dashboard, press the pair button on the shade motor (usually a couple of seconds on the motor head or remote), and it shows up in Home Assistant as a cover entity within a few seconds. A cover entity gives you open, close, stop, and set-position, so you can tell a shade to go to exactly 40 percent and it will.

Then comes the reason I did all of this, the sun automation. Here is the shape of the one that tamed my office:

alias: Office shades track the afternoon sun
trigger:
  - platform: numeric_state
    entity_id: sun.sun
    attribute: elevation
    below: 25
condition:
  - condition: state
    entity_id: sun.sun
    attribute: rising
    state: false
action:
  - service: cover.set_cover_position
    target:
      entity_id: cover.office_west_shade
    data:
      position: 20

That drops the west shade to 20 percent open when the sun sinks low enough in the afternoon to blast through the window, and the rising condition keeps it from firing at the same elevation during the morning climb. I have a companion automation that lifts them back to full open after sunset so the room is not a cave in the evening. Because all of this runs on Home Assistant against local cover entities, it keeps working when the internet does not. The shades move on my schedule, computed on my hardware.

You can get much fancier: tie the trigger to an indoor lux sensor so the shades only drop when it is actually bright, or to the office presence sensor so they do not bother cycling when nobody is in the room. The point is that the logic lives with you, and you can rewrite it any afternoon without asking a vendor’s app for permission.

Power: The Detail Everyone Underestimates

Battery shade motors are wonderful right up until you are standing on a ladder every quarter with a USB-C cable. Most Zigbee shade motors, including the Aqara drivers, run off an internal rechargeable pack you top up over USB-C. Cycled a couple of times a day, that is a recharge every few months. Not terrible, but not nothing on a tall window.

The fix that changed my mind about the whole category is a small solar trickle panel stuck at the top of the window glass, feeding the motor’s charge port. In any window that gets real daylight, even indirect, it keeps the motor topped up indefinitely and I never touch it again. For anything above easy reach, I would treat the solar panel as mandatory, not optional. Hardwired motors exist too and never need charging, but they mean running low-voltage wire to the window, which is a bigger project than most retrofits justify.

What I Would Tell a Friend

If you are building from scratch and can replace the shade, buy the SmartWings motorized shades with the Zigbee motor, order them to size, and enjoy the clean integrated result. If you have shades you love and cannot bear to toss, retrofit with the Aqara Roller Shade Driver E1 on chain-driven shades or the Aqara Curtain Motor E1 on rod curtains, and accept a little more fiddling in exchange for keeping what you have. Either way, insist on a Zigbee or Z-Wave motor, run it through a local coordinator, and add solar to anything you would rather not climb up to.

The Bottom Line

Motorized shades are one of the highest-satisfaction smart-home upgrades I have done, right up there with smart locks, because they solve a daily annoyance you feel every single afternoon. The trap is that the default versions on the shelf hang their whole reliability on a cloud account that will outlast neither your patience nor, probably, the company that sold it to you. Buy the motor by its radio instead of its app, keep the brain in Home Assistant, and you get shades that answer instantly, run on your own schedule, survive a dead internet connection, and will still be working in ten years when the WiFi versions are landfill. Replace or retrofit, Zigbee or Z-Wave, the rule is the same: local motor, local coordinator, local logic. That is a window covering worth automating.

Frequently Asked Questions

Do motorized shades work with Home Assistant without a cloud account?+
Yes, if you pick the right radio. Shades with a Zigbee or Z-Wave motor pair straight to a local coordinator (ZHA, Zigbee2MQTT, or Z-Wave JS) and never touch a vendor server. It is the WiFi shades, the ones that pair through a phone app and a manufacturer account, that drag the cloud in. Buy the motor by its protocol, not its marketing.
Can I make my existing dumb shades smart, or do I have to replace them?+
You can retrofit many of them. The Aqara Roller Shade Driver E1 clips onto the existing bead chain of a roller or cellular shade and pulls the chain for you, so the shade itself never changes. For a curtain on a rod, the Aqara Curtain Motor E1 track version does the same job. Retrofit is cheaper and keeps your existing shades, but it is fussier to align than a purpose-built motorized shade.
How are battery shades powered, and how often do they need charging?+
Most Zigbee shade motors have an internal rechargeable pack charged over USB-C every few months, depending on how often they cycle. If climbing a ladder every quarter sounds miserable, add a small solar trickle panel at the top of the window. In decent daylight it keeps the motor topped up indefinitely, which is the setup I would push anyone toward for high windows.
Will the shades still open if my Home Assistant server is down?+
Yes. Every motor I recommend here ships with a physical remote or a wall button that talks to the motor directly over its own radio, independent of Home Assistant. HA orchestrates the schedules and the sun automations, but the shade is not bricked if the server reboots. That is the whole point of keeping the control local instead of in an app.
Zigbee or Z-Wave for shades, which should I choose?+
Pick whichever radio you already run, because mixing two hubs to save a few dollars per shade is a bad trade. If you are starting fresh, Zigbee shades are cheaper and more widely stocked, and a single coordinator handles a house full of them. Z-Wave shades cost a little more but sip battery and play nicely on an existing Z-Wave mesh. Both are fully local.