How is the iBlinds integration?

Its already been reported as an issue on HA GitHub. Long story short, is it is currently in limbo as an HA Architecture question that has not been answered (yet).

Here is a hack that is about the only solution I came across, and is the approach I took (although my automation is somewhat different).

1 Like

Let me start by saying I am VERY new to Home Assistant. I am quite technical and I been doing Home Automation (on HomeSeer) for many many years.

I have 4 iBlinds (ver 3.1) motors. They are some of the very few Z-Wave devices I have on Home Assistant.

I originally set them up back in November 2022 and everything worked prefectly. I could control and get feedback from them using:

  1. A Switch - Entity: switch.blind_controller
  2. A Slider - Entity: cover.blind_controller

Both would also report status.

Recently I updated all of my Home Assistant to the latest version of the OS and Z-Wave JS. I also had to replace one of my iBlinds that would not charge.

When I added the new iBlinds motor, I now only get:

  1. A Slider - Entity: cover.window_blind_controller_horizontal_slats_angle

I lost the switch and the slider only reports “Unknown”

My other 3 previous iBlinds keep working just fine and have the original functionality.

I have read the thread but I do not understand what has happened.

I can control my blind by using the “cover.window_blind_controller_horizontal_slats_angle” but I have no way of seeing the value of what position the blind is set to or if it is opened or closed.

Can someone please help me understand what I can do to regain the previous functionality? Is there any way I can tell the status of the blinds on the newly enrolled iBlinds motor?

How can I help fix this?

Again, apologies for my newnewss to the platform and not understanding the previous posts.

Zwave had an update that removed switches for entities like these blinds controllers. I never used it so I’m not sure the effect on any capabilities.
In terms of the cover.window_blind_controller_horizontal_slats_angle, you can use that for your controls. It has an attribute called current_tilt_position. That will show you the position between 0-100. I also use that in my automations to set the angle to 50 for open or 5 for closed. I have a weird issue where on some blinds it won’t close if I set it to 0, but will for 5 which is pratically the same visually. I think its a calibration issue or might get around it in the device configuration. I’m still experimenting.

So in summary I use the service cover.set_tilt_position to set the states in automations and use the attribute current_tilt_position in my dashboards to know what state it is in.
Let me know if there is other functionality you are missing.

Re-read my Jan 1 post and my Mar 26 post, and then ask questions that you are still struggling with.
In a nutshell, the iBlinds that show up as cover.NAME-horizontal_slats_angle (btw any other controls you had previously are replaced by this) are considered by HA to not have state (open/close) and thus are always in the “unknown” state. You can still control the tilt position. Not having state is a bad outcome IMHO, but there is a hack you can use with an automation to force the state (open/close) if you need it.

Again, my sincere apologies for being a complete newbie here but I do not see a value for the “tilt_position”

Here is what I have:

“number.window_blind_controller_indicator_value”

I do not see values on these?

Am I missing something here?

I had read those posts and they matched my experience as well. I see that I can still control the tilt position but I have no way of getting feedback on the current value of the tilt position. Is there some entity or variable I could query?

I am sorry I am so new at Home Assistant. These are all probably very obvious and simple questions. I just cannot see where it returns the value of state of the blinds. It was trivial before with the previous ZWave JS, it all just worked and I could query the state of the switch.

Even just knowing a numerical value for the position of the blinds I could then infer open or closed. Say it could return 0 - 100. Then I would know from that. But right now all I can do is tell the automation to open to a given value and assume it did it. There does not appear to be any feedback on any of the entities that it has actually responded and given me some value back.

Here is everything that came in with that Blinds entry. I called this one “Blinds 3”

Thanks so much for any help.

PS: I looked through the GitHub workaround and I did not understand it.

Ok, I may have found something! If I go to “Developer Tools” and then I go to “States” and then I do a search in my browser for “tilt”, I find this:

“cover.window_blind_controller_horizontal_slats_angle”
and
“current_tilt_position: 51”

It shows the value of the blinds! Now I just need to learn how to extract that value to a dashboard and make it visible.

1 Like

Correct, the cover.window_blind_controller_horizontal_slats_angle is THE main “entity” used to control the iBlinds. It is also the entity that you would use for your dashboard. It may depend on which “Card” you use in the dashboard, but the ones I use depend on the state of the entity, and in this case the state is always “unknown”, so that is why I use the workaround hack.

The workaround hack is an advanced user kind of work-around, but if you’re technical you can get through it… it will just take some time to work through and learn what all is going on. But in a nutshell:

  • A python script called “py_set_state” (or by a similar name) is a community written script that gets installed inside the HA core’s directory and it runs inside of Home Assistant, and it provides a service that an automation can call to set the state of an entity.
  • HACS is a “Community” based way of adding custom integrations, custom Lovelace cards for the frontend (aka Web GUI), and in this case for adding custom python scripts to HA Core. Regardless of this hack you should add HACS to your HA as you’ll find you’ll eventually need it in general.
  • Automation - an Automation is used that triggers based on the cover entity’s tilt position changing (and maybe some other things). This automation will have some simple rules about the tilt position value in order for the cover to be considered open or closed, and then calling the service to the py_set_state which in turn will force the state of the cover to open/close.
1 Like

Thanks so much! I did some digging before I just saw your post. Here is what I did since all I wanted was some feedback on the “Percentage” of the blinds (from 0% closed facing up, to 50% open and horizontal, to 100% closed facing down).

I created a new template sensor in the configuration.yaml with this entry:

template:
  - sensor:
      - name: "Blinds - 3 - Current Tilt Percentage"
        unique_id: "blinds_3_current_tilt_percentage"
        state: >
          {{ state_attr('cover.window_blind_controller_horizontal_slats_angle', 'current_tilt_position') }}
        unit_of_measurement: "%"
        icon: mdi:blinds

I then restarted Home Assistant. I then went into the dashbord and added “Blinds - 3 - Current Tilt Percentage”, and that did it!

I was also able to now pass the value from that new sensor via MQTT as well.

I now have back the functionality I had previously. I assume I could even create a switch to open and close the blinds like the previous ZWave config did, but it is not needed.

I like how the python script you reference changes the state based on the tilt position!

Thanks for your help! It is nice not feeling alone with these issues and getting help when you are a complete newbie and novice on this platform!

Another option is tile cards. Here is one that I have showing the tilt position and with a slider for me to adjust

features:
  - type: cover-tilt-position
type: tile
entity: cover.bedroom_blinds
state_content: current_tilt_position
name: Blinds
icon_tap_action:
  action: call-service
  service: cover.toggle_cover_tilt
  target:
    entity_id: cover.bedroom_blinds
tap_action:
  action: more-info
vertical: true

I’m just starting to rebuild my dashboards with the sectional layout so keeping it simple with tile cards for now. But I did find it was a great starting point for my blinds. That bedroom blind is a group of covers and it works so far.

2 Likes