Automatic blinds / sunscreen control based on sun platform

Hello @basbrus , I am coming from your recommendation in the other thread regarding CCA.

I set up your integration, but do have some issues, maybe you can help:

I am using Fibaro Roller Shutter 3, if you set them to “Venetian blind”, you can adjust the tilt by setting a defined time the conversation needs for a “full tilt”. They also provide a second channel to set the tilt via a percentage then.

However, I am only able to select the cover entity in your blueprint, not sure if I should be able to select the tilting channel itself and if so, how.

Moreover, I do not get what I should set as default a maximum value. Is it the position or the tilt?

My target scenario is to close the Venetian blind completely when there is sunlight and only adapt the tilting. When sun is gone, lift the cover up again completely. Which values should I set then?

I set my Venetian blind as closed - open - closed (0% - 50% - 100%) as my blinds can tilt both inside and outside.

I don’t use fibaro devices myself so it is hard to say how they work.

Based on the source code of the integration you need to use the second cover entity from that device. That is also explained in this post I found after a quick google search: https://community.home-assistant.io/t/tilt-of-fibaro-roller-shutter-3-fgr-223/537291/2

That post also mentions a way to combine both cover entities into one that also works with the integration.

This can be done by creating a separate automation that controls the blinds vertical position based on your preferences. The integration provides a binary_sensor that tells you if the sun is in the sightline of the window that can be used to tell if the sun is gone. Than the tilting can be just controlled by the blueprint I guess

Thanks for searching, I do have the (2) entity, but it is automatically deactivated once you set the Roller Shutter to Venetian blind mode. I do have the same Roller Shutters for normal blinds, there is no other entity then.

But other than the post you linked says, I do have only 1 cover entity with the (I assume correct) attributes, you may double check to make sure it is what your integration expects:

If I got your reply correctly, then you integration tells only the cover.tilt_position to change, right?

Yes, it calls the position service call that is associated with the type of blind. In your case the cover.set_cover_tilt_position

Thanks, I tested it again, but it seems to be the case that the blueprint uses the target value provided by the sensor of the integration to set the position of the blind and NOT the tilt. The position matches exactly with the target of the sensor. The tilt is not set at all it seems.
Maybe there is something wrong in the blueprint? I used the one you provided in the other thread as the “Auto Generation” of the blueprint failed.

If you use the latest version you will not need the blueprint anymore as the integration itself calls the needed services.
You can find more info about the update in this topic Custom Component - Adaptive Cover

Maybe there is some bug in the blueprint, but never received an issue ticket for it and don’t have tilted blinds myself.

It seems that was the case, I had a fairly old version, even though I installed the integration only maybe one or two weeks ago. Now it seems to use the tilt attribute. Will test and provide feedback.

However I still do not understand what the standard and maximum position settings mean.

The default is the position where the blinds to return if the sun is not infront of the window. Some type of covers like roman shades should not open fully so their height position can be limited with that setting. Add "maximum" open setting so that roman shades don't try to open all the way · Issue #39 · basbruss/adaptive-cover · GitHub

I signed up to the Home Assistant community just to say Thank-you. This blueprint is amazing!
Incredible work.

1 Like

Is there any way to define that the blinds should receive the command “open_cover” instead of the percentage value to open completely?

If the blinds should open completely at the end of the day (=no sun) and receive the percentage value from the automation (I think fully open would be 100%, right?), they sometimes do not open completely, as it always seems to lead to greater deviations during the day, after each movement of the blinds.

Sending the command open_cover is the same as sending 100% with set_cover_position.

As regards to the cover not opening completely, that’s an issue with your system. Either your cover motor is not correctly calibrated or it’s not powerful enough. Perhaps your system has a calibration method you can do? You could also use something like this template sensor to calibrate it correctly: factor for position percentage #129

Thank you for your answer.

But can you explain to me why the command “open_cover” and “set_cover_position” (to 100%) should be the same? I’m pretty sure that moving to 100% position is not the same command as “move up completely”.

Aren’t two different commands sent to the cover?

Are you saying either command does something different for you? That makes no sense.

The command “set_cover_position” is used to move to a percent-position and “open_cover” gives the command to open completely. Can you explain to me why HA should send the same command to the blinds in this cases (“open_cover” and “set_cover_position” to 100%)?

When the blinds receive the command to open, they do so as far as they will go, without Home Assistant having to do anything. However, if a percentage position is to be approached, there is a completely different logic behind this. Especially if the blinds do not have an exact position.

I don’t know why you think it would send the same command to the blinds, but maybe there is someone else here who can comment on this and explain your answer to me.

Because setting the position to 100% is the same thing as telling it to open completely. 100% is completely open.

No, it’s the same thing. You can check this by going to dev tools and calling the ‘open cover’ service. You will see the position is changed to 100% like it should. It would be very strange if they did something different, because then you would never be able to use the full range of the cover position with the set_position service.

Okay, then I completely misunderstood the two commands. I assumed that “open_cover” simply gives the command to move to the “stop” and “set_cover_position” moves to a “theoretical” position of 100%, which then perhaps does not trigger the limit switch but, after the blind has moved up and down a few times a few percent, has a falsified position.

Well technically the integration has the freedom to implement it how they want to. But if you look at the tuya code for example, it just sets the position to 100%. So I assume it doesn’t even have a limit switch.

Like I said, if your blind’s position is unreliable then you can calibrate it. (or perhaps it’s just broken)

2 Likes

Thank you for your help, I’ll have to look into this further,

This is something, that should be configured in the device itself, not in HA. Call it calibration if you will, but this has nothing to do with HA.

HA just controls the device, it isn’t responsible for calibrating or even running it. HA sends its commands, and waits for feedback, that’s it. :slight_smile:

2 Likes

I know the blinds are calibrated in their settings. My questions and concerns were not about knowing where to configure this.

According to previous answers, it should always execute the same commands, whether I move the blinds to a fixed position or open them completely. In both cases, it should move to 100%, right? But that is not the case. According to Home Assistant, the blinds should now be fully retracted (100%), but they were at approx. 96%.

I then gave the command to move to 100% again, but nothing happened. Then I moved the blinds to 96% and they moved a little further down.
When I moved them back to 100%, they retracted as before (not completely up, approx. 96%).

After I gave the command with the “up arrow” (=retract) instead of the 100% position, the blinds retracted completely.

For me, this is a indication that not the same commands are being executed.

The open_cover function (as seen here: core/homeassistant/components/tuya/cover.py at dc1aba0a056d8fb188c36fa44028e56677a5f0ef · home-assistant/core · GitHub) works with and without specifying a defined position. This is why I understand that it does not send the same command to the blinds if HA executes the complete retraction with specification of position 100 or simply with the “open_cover” command.