Support for Switchbot Blind Tilt

Sure! Switchbot Blindtilt template example gives error · Issue #27168 · home-assistant/home-assistant.io · GitHub

Feel free to contribute. I posted a few other issues it’s causing as well.

To answer my own question (partially), there is currently a cover template documented on the integration page that is a temporary solution.

SwitchBot - Home Assistant (home-assistant.io)

Yes, that’s the one I’ve been posting about with the errors. It does kind of work, sometimes, but the template errors do exist. I linked to my GitHub report.

I figured out something that is making my blinds much more reliable. I have HA running automations (close Living Room Blinds with motion, for example). That would trigger a script (close Living Room blinds) that would list each blind to close.

Often, one blind doesn’t close. Sometimes - two don’t close. (Or open, depending on the automation.

I ALSO had, in the SwitchBot App itself, all my blinds closing at Sunset, or closing at a certain light level. But there, too sometimes one blind or two wouldn’t change.

I did something a few days ago that seems to have fixed this. In the SwitchBot Tilt app - I grouped the blinds in my Living Room. And in another group - the blinds in my Dining room. When you do this - you group your blinds to follow the blind where you initiated the group.

Every blind has reacted properly since. Fingers crossed that continues, but I’m optimistic.

I found this as I was having issues with slow response from Switchbot Blind Tilt, maybe it is just Switchbot bluetooth in general. I never have had the issue of needing to issue a STOP after a position, though it does take upto 30 seconds before the current state is reported again.
I too have found reliability of these not as good as other integrations. Sometimes it will take almost 2 minutes before the blinds start to respond.
That said, I do not feel it is just Home Assistant’s integration as I also have had unreliable results using Switchbot App to create automations.

I still have a TON of issues with Bluetooth reliability and need to power cycle my BT Proxies constantly. This is most likely some misunderstanding on my end with how to configure the proxies properly.

But even while they are working, the Blind Tilts report back the complete wrong percentages. Fully Open (50%) shows up as (59%) even when the SwitchBot app shows that the Blinds are in fact fully open. All of my Tilts have this error and it gives errors in the template entities that the percentage is not between 0-100. Do others have this issue too?

Hi guys, just wanted to drop in and let you know I am having the same issue. Basically if I use the switchbot app it works fine. If I try to use the card on home assistant I get the same issue with it. Barely moving. Sometimes it will move a few minutes after I’ve told it to. Also, it’s integrated through home assistant to Both Google and Alexa and it still does the same thing going through them. Just to say. I do have a long range Bluetooth hooked up to the PC that runs home assistant for me.

Hi everyone, just read through this thread and couldn’t find an answer to my question.

I’m considering setting up the Switch Bot blind motors, but on Amazon they have wifi 2.4ghz versions.

Does anyone have info on whether these can be integrated somehow? For me wifi would be better than BLE for my use case.

I did notice the HA integration page talks about requiring a BT interface on the HA system, so maybe that’s the only way it works now? If so then I’ll consider the ESP32 BT bridge option I saw above.

Thanks!

Hmm, actually the “wifi” versions of the blind motors include what looks like a hub or something - so maybe the motor <-> hub is BT and the hub uses wifi to talk to an app or cloud service.

I’m using the simple cover template entity described on the HA Switchbot integration page.
SwitchBot - Home Assistant (home-assistant.io)

Logs show this error though…

Cover position value must be between 0 and 100. Value was: 118

Anything I can do to prevent the error please?

Thread has been dormant for awhile. I just got my HA setup almost complete. These and my Moen U shower are the two last integrations. I tried Matter and Homekit and neither got the blinds presented to HA. I saw the earlier post about using them through SmartThings, and that works. The only problem I have now is that they are not closing 100%; they get to about 90% closed and stop. Not sure how to tweak that part.

Regarding how the hub interacts with the blinds, the blind motors don’t have IP addresses or can be communicated with WITHOUT the hub 2. The Hub 2 gets an IP address, and you ultimately communicate with it via the app. The Hub then parses out the commands to the blind motors themselves. Inefficient: I suspect it was done to save battery consumption using some proprietary communication method???

I run lots of stuff in Homebridge my virtual homekit. I have my switchbot in there, works well.

HomeKit Bridge - Home Assistant (home-assistant.io)

Yes, I had the same issue, and update it to next code:

Template for closing DOWN
- platform: template
  covers:
    example_blinds_simple:
      device_class: blind
      friendly_name: Example Blinds (Simple Down)
      open_cover:
        service: cover.set_cover_tilt_position
        data:
          tilt_position: 50
        target:
          entity_id: cover.example_blinds
      close_cover:
        service: cover.set_cover_tilt_position
        data:
          tilt_position: 0
        target:
          entity_id: cover.example_blinds
      stop_cover:
        service: cover.stop_cover_tilt
        target:
          entity_id: cover.example_blinds
      position_template: >
        {%- if states.cover.example_blinds.attributes.current_tilt_position <= 50 -%}
          {{ int(states.cover.example_blinds.attributes.current_tilt_position) * 2 }}
        {%- else -%}
          {{ 200 - int(states.cover.example_blinds.attributes.current_tilt_position) * 2 }}
        {%- endif -%}
      set_cover_position:
        service: cover.set_cover_tilt_position
        data:
          tilt_position: "{{ (position / 2) | round(-1) }}"
        target:
          entity_id: cover.example_blinds

this example will show state as closed when blinds closed in both direction (up and down), but will always close it in down.
If you want to close in up there is two ways:

  • Recalibrate it reverse (when app ask you to close down, close it up and vise verse). I using this approach.
  • Update formula to this one:
Template for closing UP
- platform: template
  covers:
    example_blinds_simple:
      device_class: blind
      friendly_name: Example Blinds (Simple Down)
      open_cover:
        service: cover.set_cover_tilt_position
        data:
          tilt_position: 50
        target:
          entity_id: cover.example_blinds
      close_cover:
        service: cover.set_cover_tilt_position
        data:
          tilt_position: 0
        target:
          entity_id: cover.example_blinds
      stop_cover:
        service: cover.stop_cover_tilt
        target:
          entity_id: cover.example_blinds
      position_template: >
        {% if states.cover.example_blindst.attributes.current_tilt_position < 50 -%}
          {{ (100 + (int(states.cover.example_blinds.attributes.current_tilt_position) - 50) * 2) | round(-1) }}
        {%- else -%}
          {{ (100 - (int(states.cover.example_blinds.attributes.current_tilt_position) - 50) * 2) | round(-1) }}
        {%- endif %}
      set_cover_position:
        service: cover.set_cover_tilt_position
        data:
          tilt_position: "{{ (position / 2) | round(-1) }}"
        target:
          entity_id: cover.example_blinds
2 Likes

I have successfully connected to all 9 of my Blind tilts using a Bluetooth USB dongle. I am now trying to set up automations to partially close them when direct sunlight is shining through them. I am trying to use the outward facing light level sensor on the solar panel, but the blind tilt’s light level entity seems to be stuck at a value of 2 day or night. How do I get a useful Light level value like that shown in the Switchbot App?

Noticed the value as well, in older firmwares the light sensing was more reliable. In sunny days it goes directly to level 10 if you look in the app of switchbot.
There is not a nice graph that you see that with half sunny day or full sunny days, it will 10 anyway.

I do not use the fuctionalty in the app of lightsensing as it is not reliable enough while it was a nice function.

This Feature Request / Support request could be closed now as the Blind Tilt has been supported in Home Assistant for some time.

@Maran and others
The light sensing has always been a little all over the place. I’d use a different sensor to measure light if I wanted reliable automations as a 0 to 10 light level really isn’t granular enough anyway.
Probably better to raise that issue with Switchbot though as that’s not a Home Assistant feature issue or even a Home Assistant issue at all.
I haven’t had the issue of the light level in HA being different to what the Switchbot app shows. Maybe a weak bluetooth signal causing it not to update properly? I have found that my Tilt’s are slow to respond for the ones at the edge of Bluetooth range. Also, the Tilt’s can only be actively connected to one bluetooth device at a time, so if you are looking at them in the Switchbot App, or if you have them paired to a Switchbot Hub, then they tend to only connect to Home Assistant when Home Assistant requests a change (eg, a tilt position change). This may be why the light level is not updating in Home Assistant also.

I already mentioned this in their forum, is not active looked at is my opinion.
With the hub2 it works mostly fine, not with the sensing unfortunately.
So far already comfortable that I don’t have to close and open them manually everyday to an affortable price.

Closing as implemented.

https://www.home-assistant.io/integrations/switchbot/#switchbot-blind-tilt