offset \ˈȯf-ˌset\ noun

a force or influence that makes an opposing force ineffective or less effective

We Don't Have a Rudder But We Have a Sail

There's still some momentum. In relation to the previous post, I'm continuing the foray into the apartment becoming a proper livable/workable place. I had fun again although we're still at the mercy of the great context we're in. That context has improved somewhat, though. Now the country allows us to move around it, but nothing's working and we still haven't gotten our jabs. Nevertheless, we're biding our time and doing things at home.

The curtain annoyed me for a time. It's a vertical blind that you have to pull two strings to get open. One is changing the angle of the vertical strips that make it up, the other is moving the strips to the side. I think it's a fairly standard one when it comes to vertical blinds. The blinds reach all the way to the floor.


I spent some time researching the options to make it automated so I didn't need to pull the strings. Unfortunately, there's no one device for automating it. The most frequent is Aqara curtain controller usually coming from Xiaomi, but that one doesn't fit my use-case. The only option I could find that would do it was two devices, one for each string, coming from Zemismart. I opted for only one at this time to see if it would work. It took some weeks to arrive.

The problem is that during some of the weekday mornings, the robotic vacuum goes around the apartment and it needs to have the space cleared so it can do its thing. We do a little dance. The apartment comes to life and while the vacuum is going around the rooms, we're opening the curtains and moving chairs around. I thought that it would be great if the curtain could unroll in the morning before the robotic vacuum started its routine. I cannot do anything about the chairs except leave them as they are, but at least some of the manual work would be eliminated.

So on to the Zemismart. Assembling it was not a pain, but setting it up to join the Zigbee mesh was. Especially since the instructions are weird. Fortunately, it can (and does) work with an unbeaded cord and is strong enough to pull the curtains we have. The only trick is the tension of the string so I played with it a bit to get it right. I used double sided tape to stick it to the window frame, but it kept falling off as the tension of the string needed to be adjusted. Nevertheless, it enabled me to figure out where I needed to screw in the device's plate to maintain the right tension. Picking the right cog, charging and installing it in place turned out to be the easy part.

Getting the motor to turn on, to have it spin in the right direction, to set the limits for where the start, middle and end are, as well as connect it to the Zigbee mesh can bring about some trouble. It took some research to figure out what each thing was supposed to do. Motor off and on is mostly for safety reasons. Direction is for which way you want the mechanism to spin and it should work at the default, but you can override it. Think what up and down buttons mean to set the direction right. Limits are self-explanatory, but they're both using the same button to set (except the middle). Having it in pair mode is not difficult to engage, but the software support is patchy at best.

I have a Conbee 2 gateway for Zigbee coming from Phoscon. It usually comes with the computer app, but the app couldn't find the motor. What furter complicates things, over there everything is treated like a light instead of a device. In the end I didn't need the app and decided to remove it. After all, Conbee 2 is a Zigbee radio and can work with any library that is willing to support it. This proved great because Home Assistant has an integration with the Conbee 2 stick via zigpy library which is more up to date than the official app. I needed to expose the device path on Linux to the Docker instance of the Home Assistant.

This enabled me to have the device join the mesh with the controls and all, but the way this thing was made, there are hacks set up in place just to make it work. Luckily, they're setting it up in the library so I will avail of the new functionality. For now I can say that the device is at least connected to the mesh and it can be triggered by remote controller buttons, but rudimentary controls from the Home Assistant also work, like calling the services directly instead of using the controls in the card and instead of "close" or "open", it goes to the next limit. That's why my automation is doing "set_cover_position" instead.

I am tempted to get another one to control the angles of the blinds. I know it will be a pain to control two motors to get the natural light, but it's better than running to the living room to open the curtains.

Now, if only I could figure out what to do with the one in the bedroom...