Any way to programmatically set position of motorized blinds?

Hey there,

This is kind of a broad question because I haven't yet purchased the necessary hardware. But I'm trying to understand if what I have in mind is possible.

I have a set of motorized blinds, which are controlled with a simple RF remote. I understand these can be controlled with an RF hub, like the Broadlink hub, which in turn can be controlled via Hubitat. The blinds only have a few simple actions on the remote, such as Up, Down, or Stop.

I'm wondering if there's some way to programmatically set the position of the blinds using Hubitat? Like, if I were able to keep track of the time a blind was going "Down", and knew how fast it was moving, I could calculate what position it was in, and the direction and time necessary to move it to the desired position.

Is this something anyone has tried before? Is there maybe a simpler solution that I'm unaware of?

Thanks for your help!

It really depends on the blind
For example Ikea blinds have a device driver already created by a member of the community.
If you have those (as I do) then you can set them to a 'percentage 'level' e.g. 60% directly from Hubitat

Other blinds do have some integration but I can't comment on those as I don't have them
I'm sure someone will be around soon who can advise on different makes/integrations

As for using a broadlink hub
I would think it's perfectly possible to create something that would send the command 'up' and after a number of seconds send a 'stop' command
It might be a pain to get the timing right (with any delay to/from the broadlink) but I'm sure it could be done with a simple app, possibly even with Rule Machine

Andy

1 Like

I would appreciate if you can link me to the IKEA Fyrtur blinds driver

What country? USA?

It's worth reading the thread as there may be updated drivers later..

Andy

1 Like

The reason I'm looking to accomplish this with the Broadlink hub is because from what I've seen, native Z-Wave blinds are prohibitively expensive. There are a lot of cheaper motorized options that use a simple RF remote to operate.

I use the Broadlink for my RF fans and it seems to work really well for me.
Others have not had as much luck
You just need to confirm the frequency that the blinds run on.

I use Axis Gear blinds that rely on Zigbee radios. And then I use the awesome Suncalc driver to set the blind position based on the position and intensity of the sun. I’ve added overrides for those occasions we want manual control. Works swimmingly.

Hi mluck
This is great. Could you please let me know what driver are you using to control Axis gear motor blind with the Hubitat. Thank you

The prodigious @bptworld ported a device driver from SmartThings. You can find the thread and a link to his driver here. I believe Bryan would be the first to admit that the driver is not pristine (it throws off some errors, but they appear harmless to me). As momma used to say, beggars can't be choosers.

Good luck, let me know if you need any help getting things set up. If you search the forums you'll see some good stuff with using Suncalc to open and close your window treatments based on the position of the sun.

There is a driver for Aeon Micro Motor Controller that does this. However, that device has been discontinued. However, it should be of some interest to discuss how it works:

That device only offers up, down and stop commands, and in my experience with it the controlled motors have the feature to stop automatically at the top and bottom end settings. To set to a particular position requires doing some timing and calculation of current position based on time.

The driver offers a preference that has to be set for the time it takes the shade/blind to make a full travel from fully opened to fully closed. Once that is set, the driver uses time-based dead reckoning to keep track of the current position. If one starts the motor down, and then stops it 3 seconds later, the driver knows approximately the position of the blind based on the ratio of 3 to the preference time for full travel. Then, if a command to set the position to 50% is given, the driver calculates how long that should take and issues commands accordingly. It takes advantage of resetting the position to fully opened or fully closed based on the clock running out after an up or down command, or position to 100 or 0 command.

I have one motorized window shade that uses this device/driver. My usual usage is fully open or fully closed, so I don't have a lot of experience with the position command. But through considerable testing, I know that it works fairly well, and doesn't get off track and out of position.

I hope this information is helpful.

2 Likes

Thank you, that was very helpful and exactly the approach I had in mind. I may just end up purchasing blinds that have a built in mechanism for setting position through Hubitat, but it is good to know that the timing approach has proven to work consistently for you.

1 Like

If they are roller blinds they’ll move quicker when near open as the circumference of the blind spool changes. I think Pro blinds handle this internally. I haven’t really noticed it on IKEA for example.

And it also takes longer to raise the blind than to lower it since it has to work against gravity.

I’m currently using rule machine for controlling my blinds this way. I know how long it takes them to fully lower so I set it to run for the amount of time required to get to the desired position. I have not yet implemented a way to compensate for the difference in speed as the circumference of the blind spool changes or the difference in speed going up vs down. Future project :slight_smile:

It's all still just math. First observation is how precise do you expect/want position to be? Second, the calculations can be made as sophisticated as desired, to take into account these variables.

Hello mluck

Thank you very much for letting me know about the bptworld's driver.
Also, the idea of using Suncalc is great. Just thinking now to get some rollershutters take into account info from Suncalc and even to start some loads (i.e. diswasher, washing machine and perhaps the air con) based on the Suncalc output to minimise the PV exports as well while less from the grid later in the day when the sun is weak. Happy to share news about outcomes when completed.

1 Like

I do time-based percentages in my driver for Neosmart. Is it perfect? Nope. Does it bother anyone? Nope. It’s better than sitting with a remote and hitting stop when they are where you want them (and even then they move at different speeds based on battery life). hubitat/NeoSmart at master · bdwilson/hubitat · GitHub