How to set tilt position of a Raise/Lower/Tilt RTS somfy cover?

Background
I have RTS wooden blinds from 247Blinds in the UK, paired with a Somfy TaHoma Smart Hub and for the last year or so have been controlling them through schedules in the tahoma app.

In daily usage, we’ve tended to leave the blinds down, but just roll the louvres between open and closed. As the app doesn’t expose the tilt property, my workaround has been to have the somfy “MyPosition” as fully down, with louvres tilted horizontally, and then use schedules to call “MyPosition” in the morning, and “Close” at sunset.

This has worked fine, and through the tahoma overkiz integration I’ve been able to use HomeAssistant to close the blind, and call: tahoma.set_cover_my_position to invoke “MyPosition” on demand, keeping the blind down, but louvres open.

Issue
Recently HA has said I can’t use both the built in Overkiz and third party integrations, so I removed the third party integration in favour of the built in kit.

Now I’m struggling to find a way to set the cover tilt position. The integration has all manner of promising looking service calls around cover.open_cover_tilt and cover.set_cover_tilt_position but neither of these does anything when I call them. Changing the call to cover.close_cover results in the targeted blind closing correctly, but I can’t find a way to separate the louvre tilt, or invoke “MyPosition” from the built in integration, so cannot reopen it without raising it fully.

Attempts to workaround
For now, I’m using HA to close on demand, and the TaHoma app to set “MyPosition” each morning, but I’d like to move these blinds back into the control of HA, as that allows me to switch positions based upon occupancy, light levels, weather, room usage, etc.

TL;DR
Does anyone know how to use HA to target the tilt position of a Somfy RTS tilt/lower venetian blind?

The TaHoma integration and the Overkiz integration offer identical features, thus this is something that was not supported in the TaHoma integration as well.

Which devices do you have? You can see the type on the device page, listed as hardware:.

You probably have a RTS device which is stateless. Open cover tilt and similar commands are not supported on your hardware probably. If you cannot do this through the official Somfy app, you cannot do this in Home Assistant.

It seems that Somfy does exposes some features to achieve what you want, but since they don’t provide any documentation on this, it will require trial and error. See Whole house electric blind automation 🌄🕰🌆 · Issue #277 · jcallaghan/home-assistant-config · GitHub. The execute command feature is only available in the custom component.

1 Like

Thanks for your response, @imick.

You are correct in this. I don’t think Blinds247 even offer the IO device for lower/tilt blinds, else would have gone that way.

I’m not sure if this is correct. The TaHoma integration exposed a ‘MyPosition’ setting, which I cannot find in the Overkiz integration. Per my post, this is what allowed me to set the blinds to lowered and tilted open. Perhaps this was achieved behind the scenes via the execute command. I’ve read the github issues, and am a little dispirited that its stale. I may have to read up on how to do this and see if I can find a fix to share.

The Overkiz integration does also offer a My position button. If you are using an older version, it has been migrated from a service to a button entity.

Ah, perhaps I’ve missed it. I’ll check for updates and look again.

Thanks for all your work on ha-tahoma.

I’m running HA 2022.9.1 (was running tahoma 2.13.0). I have a script that previously invoked the myposition by calling the service:

  - service: tahoma.set_cover_my_position
    target:
      entity_id:
        - cover.lounge_1

I don’t see a cover service call for ‘my position’. Would you know how I expose or invoke this button?

Please see Button - Home Assistant. There is also a button in your Home Assistant interface to trigger this My button.

Awesome. I get you. Thanks for this @imick

So, as far as it affects me, the difference really comes down to invocation.

Via the custom component:

   - service: tahoma.set_cover_my_position
    target:
      entity_id:
        - cover.lounge_1

And the same behaviour via the Core component:

  - service: button.press
    target:
      entity_id: button.lounge_1_my_position
1 Like