How do I make non-smart awnings smart

Last summer, I realized that having my awnings controlled automatically would be an interesting application for my Homey. The current awnings work with a manual wall switch for down and up. The drive motor is hereby controlled clockwise or counterclockwise. The maximum inward and outward positions were set by the installer during installation of the awnings using buttons or a rotary setting on the motor itself. With a built-in encoder for counting the rotations, the motor always knows the current position of the awning.

With the available control modules for awnings, adding one seems like a simple way to make them smart. However, you quickly run into a problem where the awning no longer goes fully up into the cassette and is therefore not protected from the elements. The reason for this is actually simple: the times for raising and lowering all awnings are different; going down is faster due to the aid of gravity (or the springs in a folding arm awning), while going up works against this. Because the control modules for awnings can only work with time durations and do not receive information from the decoder in the motor, this goes wrong and the control stops too early when moving upwards.

In my case, it was still possible to limit the down time in the control module. However, this was not strictly necessary because this feature is already present in the awning, but by extending it by 3 seconds, I was able to temporarily solve the problem. The trick was to lower the awning completely before raising it, whereby the control module continued for another 3 seconds after the built-in stop had already been activated. This extends the upward control time by 3 seconds, ensuring it did go up fully. However, this made the operation too complex and undesirable in strong winds or sudden rain.

In my long search, I first tried using power resistors, placed in series with the 220-volt motor control for the downward movement, to slow down the speed of movement. However, the effect was too small and a bit too amateurish in my opinion. After that, I tried to place a smart switching module in this line with a delay of 3 seconds. That seemed to work well, but after months of testing, it turned out not to be reliable enough, causing the screen to react incorrectly 1 out of 10 times. After extensive research and logging, this was due to the fact that short timers in Homey flows do not work reliably, which, incidentally, I read later had already been noted by many.

I found the final solution via AliExpress by installing a delay module available for purchase there. This is time-adjustable using a potentiometer and works with its own NE555 timer chip. Together with a micropower supply, I was able to place all of this inside a surface-mounted awning switch. This ensures the awning always returns to the raised position and can also be operated manually. The latter, incidentally, is always a requirement for me and my housemates.

The electrical circuit is shown below.

Together with a solar power sensor, rain sensor, and anemometer, my awning now lowers, raises, or moves to a specific position (folding arm awnings) fully automatically, even when I am not at home.
I am curious whether my approach was the right one, or if there are possible other solutions.

The available shutter controllers use the motorcurrent and calibration to detect the begin and end position of the shutters. So there are also ready-made solutions.

Hi Rmb,

Current changes, never thought off that.
I have checked this on the Nous B4Z device I am using, but did not find this motor current function to be used in Homey. Although it seems also a little odd that the end points are detected by a change in the motor current, which in fact means that the motor is in a (short) overload situation. It would also mean that extra forces are applied on the gears and structure.
Although calibration seems to be possible and is mentioned on some websites, it is unclear what it does and is not supported using Homey.
Do you know smart zigbee devices that are compatible that have this feature?

A Z-wave example is https://www.robbshop.nl/fibaro-roller-shutter-4-slimme-rolluikschakelaar-z-wave

A Zigbee example is https://www.robbshop.nl/robb-smarrt-zigbee-rolluikschakelaar

This is what the manual tells about calibration:

Calibration is a process during which a device learns the position of
the limit switches and a motor characteristic.
Calibration is mandatory in order for the device to correctly
recognize a roller blind position.
The procedure consists of an automatic, full movement between the
limit switches (up, down, and up again).