Recommendation for motorized roller blinds solution (actual motor, like somfy, rollertrol, ebay...)

  • Hi,
    I would like to have motorized blinds that can report current state and can be controlled from several sources (manually via button, remotely via mqtt etc) and also be "percentage" controllable, meaning shut only 30% or so.
    I can fix pretty much all with mysensors, but motor itself is a tricky part, I would like it to be robust and "properly" done (easiest is with commercial products).

    I leave in Norway, Europe and I have not yet ordered any motor, still checking out options. I saw recommendations about Somfy motors (I also like that they can run on batteries). But from what I have understood the motor needs to have 3 wires (neutral and up and down) for arduino to determine current percentage? or is it?
    They are also natively 433mhz, and I have rfLink for 433 comunication but again there is issue of keep state synchronized with multiple inputs (physical remote, mqtt, etc...)

    I was considering something from ebay as well, but again, two vs three wires for mysensors, can that work somehow?


    Open to suggestions about any solution, if it helps I have rflink for 433 communication, I do have z-wave, xiaomi controllers if some of these can do it easier.

    Would like hear what people would recommend for blinds?

  • Mod

    I never heard of motors that can be directly controlled with percentage, as usually they are "dumb" and require a controller that does the "calculation". I have seen zwave roller/shutter controllers that auto-adjust by sensing the end stops of the blinds and interpolate a percentage that you can set and they will execute.

  • Hero Member

    This post is deleted!

  • @gohan after some more research I agree, I did see on some motors button for reset-setting end points, so I assumed that they might have more logic in them. But it looks like that built-in end point control is for the 433mhz models only, as they send/receive plain on/off/myLocation messages, and the motor must figure out where to go on its own.

    I was a bit confused as I have found f.eks. this project that only supports motor with three wires. All motors I have found are two wires.

    I guess that with modifications a two wire motor can be used as well, by of reversing the polarity and counting the time to determine start/stop and percentage? (eventually using physical switches for calibration and to determine where the start/stop are)

  • Mod

    Your motors are probably DC motors, so you may have to look at an H bridge configuration while the 3 wires motors are AC.

  • Hero Member

    Are you planning to use some kind of encoder to track the motor's position?

  • Mod

    Most commercial product I saw use an estimate by calculating the time between the 2 end stops and do a recalibration every now and then

  • Hero Member

  • Mod

    Yes, but is still something that needs to be mounted somewhere (and it will be in sight too, remember the WAF) and it doesn't give you any real benefit since there is no need to measure speed since it is fixed.

  • Hero Member

    @gohan Why would it be visible? Wouldn't it be in the lintel, the same as the motor? i.e. not visible.

  • Hero Member

  • Mod

    @neverdie said in Recommendation for motorized roller blinds solution (actual motor, like somfy, rollertrol, ebay...):


    By looking at the motor he posted I don't see any place where that speed sensor could fit and be hidden. I don't see a real benefit in putting sensors around while you could achieve the same result from the motor controller. If you have end stop sensors already, good, you can use those but if they are not accessible or not present, you can still use a current sensor to detect when motor is suddenly not drawing any current or if it is drawing too much, meaning it has reached the end stop.

  • Hero Member

    Well, your way would work. I'm just not sure how well it would work.

    A magnetic angle sensor is arguably a cleaner solution. There's no need for recurring calibrations. But it is an extra part. So, that's the trade-off.

  • Mod

    It's the way the commercial products use since it's the most universal that doesn't require external sensors. I'm not saying it is the best solution ever but just the most widely used

  • Hardware Contributor



    My neighbour has zwave roller blinds controllers and they work like that, using end stop and calculating the position. The first time you need to "calibrate" and it will measure time between the 0/100% positions, then I suppose it's just recalibrating/realigning each time you ask it to go fully opened or fully closed, as he's been using them for a few years and never had to recalibrate. In the end it seems to work very well.

  • Hero Member

    Aha, I see it's my fault for the disconnect. Even though this thread clearly states it's about roller blinds, for some reason I was thinking about venetian blinds instead.

  • Disclaimer: I work for Luxaflex/HunterDouglas.

    The Hunter Douglas has motors that more or less do what you describe. The easiest way to get this running is to buy into the ecosystem (including the hub). From there you control your shades by telling them to go to 50% or something. This is not time based, but based on an encoder motor.

    The PowerView radio system is based on 2.4gHz. And I know for a fact it can be controlled using a device like this:

    You can buy such a motor at your local luxaflex store (I think as normally we only sell complete systems.)

  • Thank everyone, I forgot to check the topic (I was thinking email notification would arrive, but got nothing.).
    It looks like most popular/easiest way is to go with using end stop and calculating the position as @Nca78 mentioned above, and this is what I have found that is closest to the commercial solution I am considering.

    It is a website in Swedish, but basically they have a 24v DC motor and a z-wave Flush shutter from Qubino (as well as adapter for ikea blinds f.eks.). It costs a bit over 180e per window (without the blinds).
    To go with mysensors I guess it would be around 35e for motor from ebay and electronic parts (and printing or making adapters). I guess 60e + time spent on it?
    I would not think much if it is just one window, but I need it for five, so if I can save ~100e for window, there might be some math in the mysensors/diy approach .

    But then there is the WAF where a nice remote would be a must, f.eks.
    which rises the cost in both approaches, but then again these blinds would just have to work, every time.

    In theory, the most difficult part is to make a motor controller that would control the blinds just like mentioned Qubino controller does (which I think I can make, with help from community if needed).
    But then a nice remote would be needed as well, most likely mysensorified one so that it can talk directly to the blinds, thus still controlling the blinds even if gateway or controller er offline. Remote doesn't have to be that beautiful, but since it would be the only visible component, it is very much desirable. (it can be semi-hidden as well, or a nice casing could be used and converted to mysensors, not that huge deal, two buttons in the worst case)

    Because of all this I am highly considering commercial approach, but it would be really cool to have this project realized in diy, to demonstrate how some serious money could be saved (and to save me some money as well 🙂 where some portion would be of course donated to the mysensors again 😉 )

  • Hello. I also thinking of my roller blinds automation and i was found this on thingiverse

    Its very cheap project for 5-10€/window. With 28BYJ-48 stepper motor you at least need 9v psu, it's even better with 12v.

    I also saw, that someone was already discusing in mysensors forum about how to start this motor and there is a code. Of course if you want to use percentage for open blinds, you should modify code and add some typen of encoder on mechanics.

  • Mod

    @jacikaas Nice find!
    However, I think this thread is about outdoor roller blinds, like:


    Which require a lot more power to be operated.

  • @Yveaux
    Yes, that outdoor blinds need a lot more power 🙂

  • Hardware Contributor


    Yes, that outdoor blinds need a lot more power 🙂

    Some indoor blinds too, I will try the solution in your link but I don't think it will work for me as I have a lot of height (> 2m) and up to 1,8m width, it gets pretty heavy.

  • Hero Member

    @nca78 Maybe just a regular low RPM, high torque motor would work best for you?

  • Hardware Contributor



    Yes there are 220V motors you put inside the tube (same concept than the link given in the first post).

  • Hello, let me shortly give you my 5 cents about this topic.

    I have since 1.5 years a roller blind solution up and running. The logic is based upon the solution of @scalz.

    It uses standard Becker (similar quality as Somfy) motors 4 wired, that normally has an indoor switch unit. I chose this since significantly cheaper than any radio controlled solution, and absolutely robust. Definitely a plus for something firmly built into the walls.

    For control I have hubs for 4 windows each. They include mysensors, Arduino, and an 8 pcs relay board. Enabling of setting individual positioning by counting time. The total run time is adjustable through mysensors commands. This proved to be for me a simple but very reliable method. I can set any percentage, or even stop, and then it reports actual state. The complete ecosystem is within an openHAB controller, thus I can set automated rules, e.g. go down at the local dusk time, or gently wake up just by go up a bit.
    Code is here available:

    Overal very happy with the setup. Two issues I experienced:

    • some struggle with range, and unreliable transfer in mesh
    • the units are in the attic. In winter I experience some unreliable operation, some units "freeze". Can be literally, or due to some solder quality issues, not sure yet what is causing it.

  • @nca78
    Yes, thats quite heavy. Need to check it practically. I started to test the motor (now only on the desk), but my 28BYJ-48 motor is shaking with AccelStepper library. With some simple code without included any library - working fine, so I will look why thats happening.

  • @dakipro I do have somfy motors wired to the control panels everywhere. The motors itself are very good. There are also newer ones I think which can be controlled wireless in case you do not have the wires yet or would need to wire it. then it only needs power at the window.

    For controlling, I used to have mysensors, but never had very reliable results. Potentially my bad electronic skills and switched to comercial solution lately (Homematic).

    for controlling, you might need to look into this:

  • At the end I purchased and installed z-wave roller blinds from Swedish company .

    So far so good, and if all is great, I will order three more motors (and two knobs/switches) for living room and terrace doors (which should also automatically keep the shades open if doors er open, to prevent damage).

    Made a basic node-red flow that uses xiaomi lux sensor to get them down, but ultimate goal is to have them understand when the light is very bright and when it is "cozy", perhaps even knowing to get the blinds just low enough. Found one good explanation on the internet, will check it out (perhaps use multiple lux sensors strategically placed around the room to determine sun position and strength). Any tips and tricks?

    (gif of the action, cannot upload gif to the forum gif is twice the speed)

  • This post is deleted!

  • Mod

    @dakipro what did you use as remote controller?

  • It is a Smart Color Button - Philio, got it as a package with the motor itself, from

    It is wireless, gyroscope based "button" that works directly with motor itself. They say battery lasts for 6months, but it is usb rechargeable, so not a biggie. It reports battery level to the controller so that is a plus.
    As far as WAF goes, it is wireless and looks nice so that is a plus, but to use it it is a bit, well.. different to operate as it is just held by magnet on the holder/wall and has no rotation limitats, so it is not 100% intuitive for first time use as you just turn it and then nothing happens, then you have to wait almost 2s for it to settle and send new position to the shades, and one cannot change direction (at least I didn't find how) so "left" might be counter intuitive as if shades are open or closed, so it is a bit fiddly to operate. Also it has a tolerance rotation, meaning that fine adjustments for the shades are a bit hit and miss, so...
    But I am hoping that blinds will mostly work automatically so that would not matter that much. And I didn't find some much better remote dimmer-like controllers for the blinds, so.. it will work for now. Easy to replace I think

  • @dakipro why bother with individual sensors at the windows? You can calculate the sun position (azimuth and elevation) any time during the day and check if it would be possible for the sun to shine into the room. And in second step you only need to know if sun is shining or it is cloudy. Simplest way is using an online weather service. However I noted that this is not very reliable. My solution is based on MySensors:
    It is a weather station with some sensors (rain, temp, pressure). I've started with a light sensor but found it very unreliable also protection from environment is difficult.

    So at the end my sun senors is quite simple. One dallas sensor exposed to the sun and a second one in the shade. If the difference is high enough, sun is shining. Depending on your geographical location and preferences values might vary but for me (Zurich, CH) 10 degree celsius seems to be a good value.

  • Hero Member



    Clever! Which library or algorithm do you recommend for that?

  • @neverdie I am not that smart, just using the library from my controller: the astro binding for openHAB. It returns any time of the day the sun position based on your location. So what I do is basically check for any window* in the house if azimuth is between two values and if true checking in addition if sun is shining and when both are true, the rollershutter will go down. When sun stops shining or the sun has moved away, it will go up again.
    Elevation is no big deal in my case, only on the western side in late afternoon during winter months but for a start, I would recommend working with azimuth only.
    Also the inputs for down and up should have different values (e.g. going down > 10 degree; going up < 8 degree) otherwise they might constantly go down/up when reaching the peaks.
    And to make it more complicated, I also added conditions if someone is present, if it is raining, wind is too strong etc.

    Elevation is mainly used to trigger sunrise and sunset events (open in the morning, close in the evening)

    *for practical reasons I have groups based on the side of the house, but then doing different things.

  • thanks @parachutesj , I was thinking of something similar as well, sounds much simpler then my initial thought to have several sensors in a line to determine position of the shade in the room... I also like your temperature sensor solution, as that is actually what we would mostly like to react to, especially on the winter.
    I have quickly found one solution on the internet, using luminosity sensor

    I must also deal with "manual override" but I have seen some design patterns for it already, using the "dead switches" / proxy items. And a door that should prevent blinds to go down if doors are open. Should be possible to program in node-red.

    And according to my wife, I must fix it all very soon 🙂

    Thanks again, will look more into it.

  • @dakipro well WAF is important. Mine complained a lot when things didn't work but as it is quite stable she enjoys it but would never state that 😉

    A perfect solution is always very difficult to achieve. However when looking at my office where all blinds are triggered at the same time on any side of the building, it never works well and just annoyes anyone.
    Here at home, it works in most cases but you could always tune a bit. That is what I meant with "starting with azimuth and forget about elevation". There are cases in early morning during bright winter days when sun rises there is sun shining and blinding us at the dining room table. temperature difference is too low and it would not react. Two possibilities:
    a) manually trigger or
    b) build an even more complex rule (which I did).

    But these are cosmetics. And one could not predict all cases over 365 days in all possible weather situations.

    Regarding dead switch:
    I do not have any logic in my actuators. Fullstop!
    All comes from openHAB.
    First of all I do have one master switch, this kills everything. No actuator can be triggered automatically (sometimes important for WAF).
    Second there are certain conditions which cannot be overruled: e.g. if it starts raining, the roof windows close also when the wind speed is above trigger, rollershutters go up. These are mainly in order to prevent damage (except when master switch - rule 1 - is off).

    And then the rest could be easily achieved. If done with MySensors, just send an additional fake state back to the controller when you manually trigger something and then check in your rules:

    //light goes on
    send( myLightSwitch.set(1) );
    send( myManualStatus.set(1) );

    Then check in your rules if that value for myManualStatus is 1 or 0.

    I work for example with my rollershutters like this: when it goes down automatically, it goes to 85%. If it shall go up, I also check if it is at 85% - if not, then someone set it manually and I do not move it. Chances are pretty high, that if it is triggered manually it is not at 85% and rather at 84 or 86 or even something completely different.
    But then when sun sets, it overrides again and automatic kicks in again.

  • Mod

    @parachutesj that sound a reasonable approach