General

Cheap DIY Smart Blinds with Shelly1 and Home Assistant!

tl;dr: Take a cheap ~$150 set of motorized blinds, and make them smart(er), with a native HA integration and integrated WiFi

Some time back, I decided to bite the bullet and try Home Depot’s low-cost cellular shades. The reason I went for these is that they offer an optional motorization kit that comes with a remote control. I was dubious from the start because these use Bluetooth which if you’ve dabbled, you know can be unreliable and hard to integrate with.

A Quick Review of the Out-of-box Experience

  • The hardware: The blinds themselves are decent quality. They are cellular style, and have an insulation layer so are great for those that live in colder-weather climates. Mounting and installation was straightforward, and actually well thought-out. These have the option to either run on a Lithium Ion rechargeable battery (promises ~6mo of typical use, so far so good), and they also come with an optional solar panel option which you can use to trickle-charge the unit. I didn’t bother with this, and may look to pig-tail power these as part of my DIY hack below down the road.
  • The tech: My hesitation was warranted. I spent countless hours tinkering with the mobile app, just getting it to work out of the box. Once you get them working and go through the 5-minute calibration process, the blinds would frequently lose their pairing with the mobile device. I used a Pixel 5 which after upgrading to Android 13, completely lost its ability to work with these blinds.
  • Pro Tip: I later discovered that the iOS app is far more reliable, though it is still flakey at best. If android is your daily driver and you have an iOS device lying around, go this route and save yourself the frustration!

Motivation and Brainstorming

My main motivation for this project was to get the smarts out of the blinds themselves, and instead have those come from my centralized Home Assistant setup. Why?

  1. Countless frustrations with the app connection resetting, or not connecting at all
  2. An inaccurate internal clock in the blinds – I was noticing each blind losing about 5 minutes per week, which meant that a blind with a set schedule to Open at 6:30am was gradually going off schedule, eventually needing to be manually re-sync’d.
  3. Many a late night troubleshooting sessions trying to adjust the schedules on my boys’ bedroom blinds whenever they had a break or a day off school so they (and mom & dad!) could sleep in.

Of course the first thing any smart DIY-er and Home Automation enthusiast does is scour the vast community of like-minded folks. Unfortunately, my searches bore little fruit:

  • A couple of HA community posts:
    • HA community “feature request” post showed little hope, having just one vote besides mine and no replies
    • A post in Hardware also didn’t offer much beyond interest for an integration
    • There was one important breadcrumb originally posted on Reddit by u/bunitt that gave me hope, as it seemed like at least he had luck reverse-engineering the bluetooth payload and spoofing his moble device on a Raspberry Pi

After hours of tinkering and playing with BlueZ / bluetoothctrl on a vanilla Pi install, I had hit a dead end – I was unable to successfully pair the Pi and blinds, no matter how many times I tried. Each time I would hit org.bluez.Error.Failed every single time. Further research turned up that this was likely a kernel or bluetooth stack incompatibility. This however forced me to think outside the box – what if I wired directly into either the bluetooth remote that came with the setup, or better yet…what if I hot-wired straight into the push-button control on the blinds themselves?

Shelly 1 to the rescue!

First – I’ve gotta thank my fellow IoT pal @aaburger85 for introducing me to these things. The Shelly line of products is a home automator’s dream. They have a robust interface, well-documented local APIs and don’t require cloud connectivity. They can directly retrofit into most electronics, and most importantly, they integrate seamlessly into Home Assistant via an official and comprehensive integration. OK….let’s dive in!

Instructions

Direct-wire into the toggle button on the blind unit end-cap, and close the circuit using a Shelly 1 smart dry-contact relay.

Parts & Materials

  • 12v, 1.5A DC power supply (link)
  • Shelly 1 (v3) relay (4-pack, link)
  • 22GA 2-conductor wire (link)
  • Home Decorators self-cut cellular shade blind(s) with motorization kit (link)
  • Optional: Aqara Remote mini-button (link)
  • Tools: Torx screwdriver set, Soldering iron + solder, Hot glue gun, snippers, heatshrink, electrical tape

Step-by-step Instructions

  1. Start by disconnecting the end-cap. Carefully disconnect the 6-pin connector from the shade motor. Note: Keep this disconnected until you finished to avoid accidentally triggering the motor and doing damage to your shade
  2. Disassemble the endcap by removing the four torx screws, set asside the plastics, button, and screws
  3. Locate the right-most two solder pins coming from the 6-pin harness, holding the red wire to the right (see illustration below)
  4. Cut about a 10″ piece of wire and strip all ends
  5. Tin the wire and the two solder contacts, then solder the wire, taking care not to bridge the pins or damage the circuit board
  6. Reassemble reversing your steps, being careful to route the existing and new wiring under the wire guide
  7. Cut enough two-contact wire to run along the side of your window to the closest plug. Strip both sides and twist to prepare to insert into the shelly screw terminals
  8. Quick-test: At this point I recommend you remove the motor from your shade, plug in the end-cap, and short-circuit the two wires to perform a quick test. This should simulate a button press and start the motor. Do it again to stop, or simply push the end-cap button. If for some reason it didn’t work, check your connections and solder points for continuity using a multimeter.
  9. Wire the Shelly relay, following the following pinout:
    • Wire the DC power line you just cut into the + / – being careful to remember the polarity. of the wire you’re using
    • Connect the other side of the wire to the DC power supply connection
    • Wire the new lead coming from the end-cap circuit board you just soldered to the “I/O” contacts on the shelly, the orientation does not matter since this is a dry (non-charge) connection
    • Tighten all terminals
    • Test-power the relay – follow the Shelly instructions, you should see a new wifi SSID being broadcasted. ifyou followed the instructions correctly
  10. Cut a small channel in the bottom of the removable plastic moulding (see photo below) and route the wiring, making sure it does not snag.
  11. Reassemble and close the endcap
  12. Important: Configure your Shelly relay with the following settings. This ensures the button. is not “held”, but instead pushed for 1 second and then released:
    • Settings > Power on default mode: off
    • Settings > Button type > Momentary
    • Timer > Auto off after > 1 second
  13. If using Home assistant, Install. theShelly integration. If the relay’s on your wifi and auto-discovery is enabled (default), your new relay should automatically be detected!

This part’s optional, only applies if you have a wide window requiring multiple blinds in series:

In my case, I have two blinds that butt up next to one another. In this case, you. can connect the second (or n# of blinds) in parallel. To do this, simply run an additional line through the first blind bar, and wire it into the same I/O terminals on the Shelly. I used hot glue to make sure to keep the wire clear from the blind mechanism. Follow the steps above, and join the lead from the second blind to the lead coming from the first. This method is clutch because it fires both blinds and drops them at the exact same time, which was another downside of the bluetooth/on-blind schedule, they would never work in harmony!

Try it out!

Now comes the fun part – Trigger the relay switch either from the Shelly web interface or from HA, and your blinds should lower. Viola! Welcome to the future!

Final Result

As with anything you connect to your smart home, the possibilities are endless. What did I do?

  • Created an automation to open at sunrise, close at sunset
  • Added the switch and command “open the blinds” / “close the blinds” to my google home speakers for hands free bliss
  • Added a few Aqara buttons to fire the blinds-open blinds-closed
  • Created an easy control from my smarthome tablet in my kitchen

Happy Hacking, and stay tuned for additional guides and instructables!

Leave a Reply