Calle's Personal Projects

Project logs and notes.


9 May 2022

Home automation journal #6 - Aqara roller shade controller

Motorized blinds are possibly my favorite home automation products. The ones from IKEA are good but come only in a few sizes. For custom lengths, a tubular motor inserted into the roller shade is the solution.

Aqara SRSC-M01

[SRSC-M01 unboxing]

The Aqara roller shade controller is a Zigbee connected tubular motor. There is also the E1 model for automating existing shades with a beaded cord but for new installations the tubular motor should be quieter, stronger, and more discreet. It’s also mains powered, which may be a hurdle, but means no worrying about the battery. This is important for my use case, as the blinds are located in a hard to reach place.

Included in the box is the motor itself, a controller, a clip and a couple of cotter pins for securing parts. Most importantly, the parts needed to fit the motor inside the tube are not included. Unfortunately for me, none of the curtain stores I visited carried compatible fittings, so it was time to improvise.

The needed extra parts are:

  1. The runner: this is the part that attaches to the motor spindle and turns the tube
  2. The crown: this goes on the other end to support the motor and keep it centered in the tube. It goes over a freely spinning segment that rotates while the main motor body remains still
  3. Wall bracket

The motor itself has a diameter of 35mm, so I’m not sure if it fits inside a common 38mm tube. To be safe, I went for the next bigger size: 51mm.

I designed the runner and crown in OpenSCAD and printed them out of PLA plastic. PLA is not ideal for this use case but it’s what I had at the moment. I may need to reprint these in something like PETG in the future but time will tell.

The square peg on the static end of the motor didn’t fit the round hole in the wall brackets I got, so I had a few options: modify the bracket, modify the motor (the peg is detachable and could be replaced with something else,) or print an adapter. I decided to go for the last option.

 

The part seems sturdy enough but I’m a bit concerned about its longetivity. I put a loop of wire through the hole where a retaining pin would normally go so the whole thing won’t come falling down in case the plastic fails. I’ll probably remake this part in the future.

Setup and Home Assistant

The pairing procedure is not described in the manual but is quite simple:

  1. Permit joining in Zigbee2mqtt dashboard
  2. Hold down the reset button on the bottom side of the controller until the blue light lights up
  3. Let go of the controller reset button. The light should start blinking to indicate the device is in pairing mode.
  4. You should soon see log messages on the dashboard to indicate the device has joined the network and it should appear in the list

Another setup task that must be done before everything works properly is to set the up and down positions and possibly swap the directions. This is done with the buttons on the control box. The exact procedure is described in the manual.

With the setup complete, the shades can be automated as usual in Home Assistant. I’ve listed some of the automations I use below.

Automation: open when bedroom blinds are opened

If my bedroom door is open, I don’t want to be woken up by the sun shining in prematurely, so the hallway blinds should follow the bedroom’s schedule, manual opening included.

    mode: single
    trigger:
      - platform: state
        entity_id: 
          - cover.bedroom
        to: 'open'
    condition: []
    action:
      - service: cover.open_cover
        data: {}
        target:
          entity_id: cover.hallway

Automation: open only halfway when the sun is shining in and it’s hot inside

(Under construction)

Automation: close at sunset for privacy

Very basic automation: close the curtains when the sun goes down or when I explicitly turn on night mode.

    mode: single
    trigger:
      - platform: sun
        event: sunset
        offset: 0
      - platform: state
        entity_id:
          - input_boolean.night_mode
        to: 'on'
    condition: []
    action:
      - service: cover.close_cover
        data: {}
        target:
          entity_id: cover.hallway
tags: home-automation - 3d-printing