Motorized Shade Suggestions

I am looking for suggestions/comments on everyone’s experiences with motorized shades. There are a number of options out there from $100 DIY to $1000. I am looking for something probably battery operated, integrates with HA, reports position, reliable, and able to be set to a specific position. Thanks in advance!

I use Somfy roller shades and their RTS to Z-Wave adapter (https://www.somfysystems.com/en-us/products/1811265/zwave-to-rts-interface). They are battery operated and have an optional solar panel for each shade in case you don’t want to worry about charging the batteries, though the panels are overpriced.

For a few blinds, I’m using My Smart Blinds with their hub as an upgrade to existing blinds, but that only gives you tilt open, not up/down.

//TB

Thanks Tomi. Has anyone tried Leviosa shades? https://leviosashades.com/

@JM123 I’m considering Leviosa too, please post back if you find any info on using them with HA

Disclosure - I am the Engineering Director for Leviosa Motor Shades.

Leviosa Motor Shades is an open system compatible with all major systems (ST, AHK, GH, C4, Alexa). Now 6 years old, Leviosa provides motor shades with the same fabrics as others (we all buy from same manufacturers), with the same 5-year warranty. Afterall, tubular motor technology is 50+ years old - it should no longer be so expensive. Leviosa is the affordable choice for top quality motor shades, with hardwire option or long-life power (large D-cell size that last for years - avoid those tiny AA battery systems or rechargeables that last only a few months). Shades up to 192" in width, dual shades, pocket cove systems, latest home automation - now affordable with Leviosa.

We are new to HA and have yet to integrate, but being an open system and having 100% success with all the others, we are confident in the integration. We are glad to provide our public API.

6 Likes

Hi Tony, do you have a European presence?

No European presence yet. We can sell there, just need to manage the shipping costs.

+1 for soma smart shades and the soma-ctrl project over the soma integration. No battery info with the official integration yet.

Tony,

Glad to see some manufacturer input here. I ran across your shades while searching around for options. I have a few sample swatches from you and the quality looks great. What wireless protocol do they use? You mention API, so I assume they are WiFi capable? How about a sample shade for testing??

Yes, the ‘Leviosa Zone’ is a wifi-bridge to the 433 MHz shade frequency mandated by FCC. We provide demo shades to dealers for sales/marketing, and many customers purchase a ‘test’ shade before ordering for their full house.

Looking for shades on a new home build. Came across the Leviosa product and wanted to check on HA integration as that is important to me. Anybody made any progress on integration since Jan?

Tony - Any progress on getting support? Looking to purchase new blinds for my house.

Hi Ben-
Leviosa has been compatible with many home automation systems since 2018. Sorry we did not update. See details here. Since Leviosa is an open system, we have 100% compatibility with major systems to date. We plan to offer the integration with HA by the end of the year.

Would definitely be interested in a direct integration to HA.

Purchased one for our movie room and having to integrate via SmartThings.

This is kludgy at best to be honest. The unfortunate part is these blinds have no idea where they’re ‘at’ - there’s no % open involved, it’s all about setting top & bottoms stops and then (personally) I set a middle ‘waypoint’.

The problem then is if you hit ‘open’ and it’s at the bottom, it only opens to the ‘waypoint’, not all the way open, and doesn’t display anywhere in HA natively (via SmartThings at least) where it’s at currently.

My solution to this is quite convoluted - it works, but it’s pretty kludgy.

  1. Create variables to hold each the current and prior (before) position (open/middle/closed). Personally I use https://github.com/rogro82/hass-variables
movie_room_blinds:
  value: 'open'
  restore: true
movie_room_blinds_before:
  value: ''
  restore: true
  1. Create 4 scripts to set the variable as position changes and actually open / close the blinds.
## 4 Stages to Move Blinds / Set Variables
movie_room_blinds_open_to_middle:
  sequence:
  - service: variable.set_variable
    data:
      variable: movie_room_blinds
      value: 'middle'
  - service: cover.close_cover
    entity_id: cover.movie_room_blinds

movie_room_blinds_middle_to_closed:
  sequence:
  - service: variable.set_variable
    data:
      variable: movie_room_blinds
      value: 'closed'
  - service: cover.close_cover
    entity_id: cover.movie_room_blinds

movie_room_blinds_middle_to_open:
  sequence:
  - service: variable.set_variable
    data:
      variable: movie_room_blinds
      value: 'open'
  - service: cover.open_cover
    entity_id: cover.movie_room_blinds

movie_room_blinds_closed_to_middle:
  sequence:
  - service: variable.set_variable
    data:
      variable: movie_room_blinds
      value: 'middle'
  - service: cover.open_cover
    entity_id: cover.movie_room_blinds
  1. Create scripts to be called from ui-lovelace to open / close blinds based on what level is required and what position they are currently
# Scripts to Move ALL THE WAY
# It takes ~15 seconds to move 1/2 way, so wait 17 just in case
movie_room_blinds_closed_to_open:
  sequence:
  - service: script.movie_room_blinds_closed_to_middle
  - delay: 00:00:17
  - service: script.movie_room_blinds_middle_to_open

movie_room_blinds_open_to_closed:
  sequence:
  - service: script.movie_room_blinds_open_to_middle
  - delay: 00:00:17
  - service: script.movie_room_blinds_middle_to_closed

# Scripts to Dynamically Open / Middle / Close Blinds
movie_room_blinds_open:
  sequence:
  - service: script.turn_on
    data_template:
      entity_id: >-
        {%   if is_state('variable.movie_room_blinds', 'open') %}
          script.do_nothing
        {% elif is_state('variable.movie_room_blinds', 'middle') %}
          script.movie_room_blinds_middle_to_open
        {% elif is_state('variable.movie_room_blinds', 'closed') %}
          script.movie_room_blinds_closed_to_open
        {% else %}
          script.do_nothing
        {% endif %}

movie_room_blinds_middle:
  sequence:
  - service: script.turn_on
    data_template:
      entity_id: >-
        {%   if is_state('variable.movie_room_blinds', 'open') %}
          script.movie_room_blinds_open_to_middle
        {% elif is_state('variable.movie_room_blinds', 'middle') %}
          script.do_nothing
        {% elif is_state('variable.movie_room_blinds', 'closed') %}
          script.movie_room_blinds_closed_to_middle
        {% else %}
          script.do_nothing
        {% endif %}

movie_room_blinds_close:
  sequence:
  - service: script.turn_on
    data_template:
      entity_id: >-
        {%   if is_state('variable.movie_room_blinds', 'open') %}
          script.movie_room_blinds_open_to_closed
        {% elif is_state('variable.movie_room_blinds', 'middle') %}
          script.movie_room_blinds_middle_to_closed
        {% elif is_state('variable.movie_room_blinds', 'closed') %}
          script.do_nothing
        {% else %}
          script.do_nothing
        {% endif %}

do_nothing:
  sequence:
    delay: 00:00:00

## Script to set movie_room_blinds_before variable, records position before automation started.  Can leverage to reset blinds to prior position.  Called in various automations
movie_room_blinds_set_before:
  sequence:
  - service: variable.set_variable
    data:
      variable: movie_room_blinds_before
      value_template: "{{ states('variable.movie_room_blinds') }}"
  1. Create a sensor to display position of the blinds:
    movie_room_blinds:
      friendly_name: Movie Room Blinds
      value_template: >-
        {{ states('variable.movie_room_blinds') }}
      entity_picture_template: >-
        {% if is_state('variable.movie_room_blinds', 'open') %}
          /local/custom_icons/shades-open-yellow-FDD835.png
        {% elif is_state('variable.movie_room_blinds', 'middle') %}
          /local/custom_icons/shades-middle-yellow-FDD835.png
        {% else %}
          /local/custom_icons/shades-closed-blue-44739E.png
        {% endif %}
  1. Lastly use a glance card to display position and buttons to set blinds to where I want them:
          entities:
            - entity: sensor.movie_room_blinds
              name: Movie Rm Blinds
            - entity: variable.movie_room_blinds
              name: Open
              icon: mdi:arrow-up-bold-box-outline
              tap_action:
                action: call-service
                service: script.movie_room_blinds_open
            - entity: variable.movie_room_blinds
              name: Middle
              icon: mdi:format-align-middle
              tap_action:
                action: call-service
                service: script.movie_room_blinds_middle
            - entity: variable.movie_room_blinds
              name: Close
              icon: mdi:arrow-down-bold-box-outline
              tap_action:
                action: call-service
                service: script.movie_room_blinds_close

Result:
image

Like anything, the ends justify the means and I now have blinds that are actuated via Home Assistant and can automagically open / close. Ie. when the movie room receiver turns on call script.movie_room_blinds_close

Again, works well and I’m pretty happy, but wish it just had % open and I could set that vs. the tom-foolery of setting variable to remember position, etc…

2 Likes

any updates on the leviosa shades?

also any one have good luck with the Ikea roller shades recently with or without the ikea gateway?

Update: Leviosa will complete the integration with Home Assistant for the May 2021 release. In the meantime, PM if you are interested in beta testing - very easy to setup.

how is the integration coming along for Leviosa with Home Assistant?

Beta user instructions are here.

1 Like

@Leviosa any presence in Canada?

1 Like

I’m also interested in the Levisoa blinds because it will be integrated into HA. I ordered some samples just now!

2 Likes