Ikea Blinds

Bought some Ikea blinds. Super easy to pair and outside of set sizes they are awesome. Currently having an issue where some blinds are not responding to the automations. I currently have 13 and usually 2-3 will remain closed/open after the automation runs. I can go into the logs and see that the command was sent, yet no response. I can immediately go into devices and open the blind w/o issue so its not like they are dropping connection. I did some research and saw that someone was having similar problems with the suggestion that maybe to many commands were being sent and suggested to add a delay. attempted to do that with no improvement, also attempted to break up the automation into 3 separate rules that do 1 set every minute so only 5ish are being opened at any time with no improvement. I have noticed that the majority of the issues im having are on the first floor. I also have a set of 3 windows side by side with about a 6 inch gap between them. The center one is consistently having issues. The one to the right of it had issues for about a week, now that one is working fairly consistently but the one to the other side is iffy. Originally i had not used any repeaters but i've added one under the window with no success. I also have a presence sensor beside them as well as a inovelli blue (zigbee) about 10 feet away. Does anyone have any ideas? My hub is on the second floor, with shades on 3 levels. middle/top floor almost never have issues. For reference there are 8 on the first floor, 4 on second floor, and 1 on third floor.

Put a delay in between each command. I use 5 seconds.

Do you have a repeater in each room?

To clarify is this the correct way to add an delay? I've tried this with no improvement so removed it. I've also tried breaking it into 3 separate groups of 5 with no improvement. Currently I only have 2 repeaters connected, irronically one under both windows that im having issues with (issues with and w/o the repeater). I do however have inovelli blues in every room, in this paticular area there are 3 within 10-15 feet, will be adding another about 5 feet away in next month or so (mixing red's and blues so waiting for the reds to ship)


well tried it this way in rule machine to see if it works better, heres hoping.

So tested and mixed results. First blind in my list closed about 2 inches and stopped. multiple other blinds failed to close at all. The set of 3 blinds in the living room that usually fail worked however.

That rule looks correct.

Again, do you have a Zigbee repeater in each room with a blind?

There are inovelli switches in every room yes, only ikea repeaters on first floor (main one having issues)

I would put them in a group and enable ZigBee group messaging.

Any advice on how to do that? Automation ran this morning with the 5 second delay and results were worse than sending all at once :frowning: It just does not make since to me that I can see the open/close command in the logs and i can control them with my phone at will w/o fail.

IIRC, both the built-in "Groups and Scenes" and "Room Lighting" have ZGM options.

If you use time based automations, then Room Lighting is the way to go.

1 Like

That is puzzling. If it were me, I would delete the rule and make a new rule using only 3 shades and 2 delays. Then run the rule and see if they all respond.

If this test rule runs correctly, add a few more blinds and delays.

Someone more knowledgeable than I may offer a different solution. Perhaps reboot the hub, and if that doesn’t work, power the hub off for about 20 minutes. This will rebuild the mesh, and will take some time for everything to connect.

Thanks for the suggestion. I've got two separate rules (one for opening/one for closing) along with having the original rule that did them all at once. I've increased the delay to 10 seconds to see if that helps. Also going to try changing the order in which they open to spread and maybe do 1 on each floor before going back to first floor. Device has been rebooted a few times just from flipping breakers to install more switches (just moved in so slowly adding a few every few days when i have time). If that fails i'll start making a rule with just a few and slowly adding to it

I would wait 24 hours for the mesh to rebuild.

1 Like

well intrestingly enough i added the 10 second delay and the automation just ran for the night. Every set of blinds closed except for 2 both in the same room. Usually dont have issues with those two, but there is no switch in that specific room (there is one in the attached closet and 3 in the attached bathroom. I'll add a repeater to this room to see if that fixes those and see what happens in the am.

Weirdly enough with 10 second delay it ran this morning and only opened the first 2 listed. Waited about 2 minutes and manually ran the automation and it opened everything second try. Might end up just needing run the rule twice lol. I do plan to reboot and rebuild the network but going to go though that once i finish installing all the switches/repeaters.

I'd highly recommend giving RL a try and enabling Zigbee messaging.

Well the reboot and mesh rebuild didn’t help, trying the groups next

I love my IKEA blinds, but they are a bit lazy.
To solve this I use a variable for each blind. All my rules where I want to change levels of blinds, change the level of the variables.

Here's an example. This blind can move between 100% (open) and 32% (closed)

When a blind misses the first time, it usually catches the next one, after a minute.

It takes some work to setup, but after that it's simple, you just use the variable in rules, instead of the blind itself.

1 Like

Going to try this, and understand it how did you get the not equals statement in the conditions?

I was able to get the other conditions and can set up a room blinds not equals to set number but couldn't figure out how to set it to a variable again.

edit:
for me 100% is open, 0% is closed (i've set them all on the blinds them self)

Kind of walking through the logic to make sure i understand

Trigger: so basically my trigger is sensing a change in the room blind variable. How is this triggered? I'm assuming you have a automation set up originally that opens/closes the blinds and set the variable = to their position, then this one is basically clean up duty for any that did not change correctly?

conditions:
Basically just setting up a bunch of conditions to use in the actions tab

actions:
Fun part. So if the first If statement basically is basically checking to make sure that all blinds are either open/closed, if one is open and one is closed the If triggers, and tells all blinds to go to the correct position, and repeat this until the condition is meet (all blinds are in the same position) the else if statements are just changing the global variable?

I've created a master close/open rule that looks like the below, i believe this is correct.

Going back through my logic and its broken lol
So my initial statement says on trigger set blinds to Room blinds variable. (at this time its 0 so it will close them, cool. This event triggers and says if the variable is <=100 (this is true) AND variable >=0 (this is false), repeat, variable has not changed so it is still 0, and as such fails the AND statement. feel like i have to get the position of each shade and compare to the variable to make it work but dont see where that is happening in the code you posted.

update:

I've hard coded 1 blind and it worked. But not crazy over it lol feel like it should be much simpler, also sends the close command twice for some reason causing the blind to pause and variable never updates

image

Are you using the same position for all your shades? Then one Hub variable would be enough. Else you'll have to make a variable for each shade.
After that you only use the variable to change position of shade(s).

Then you make a rule (per Hub variable) to set the shades to the level of the variable.

IF Variable <= 100 AND
Variable >= 0 (These are just to make sure that you're not trying to change shades to 150% or negative numbers)
Repeat every 0:01:00 (Stoppable)
IF shade ≠ Variable THEN
setLevel Variable on Shade
ELSE stop Repeating actions
END IF
END REP
This is basically your rule to check every minute and to change the level of the shade to the level of the Hub variable.
ELSE-IF Variable < 0
Set Variable to 0
ELSE-IF Variable >100
Set Variable to 100
END IF
This is just to make sure that the Variable stays between 0 and 100. This is handy if you use rules that for example lower the level of the shade by 10% etc. If you just use set level to x%, you do not really need to add these lines to your rule.

That's it. Now all the hard work has been done. From here on you just use the Variable in your normal rules where you want to set the shade level.

1 Like