Overkiz API and Somfy API

news: if I uninstall Overkiz and reinstall it, I connect with my Thermor water heater with no problem.
However, I can no longer add a device, when I click, nothing happens
I can no longer add devices, the input window no longer opens
I specify that I have 2 accounts with 2 different email addresses.
One for Somfy and the other for Thermor (Atlantic)

It’s all good, it works.
The solution:
first install the Thermor water heater with an address.
Then create a new installation with Somfy.
For me, the order is important.
Thanks again for your help.

On the other hand, a small amount of information.
Small bug, when you want to adjust the number of showers (from 1 to 5), if you pass the cursor to 4, you can no longer go back to 5

Known issue. Read min/max number of showers from state in DomesticHotWaterProduction (WaterHeatingSystem) in Overkiz integration · Issue #92368 · home-assistant/core (github.com). Bugs can best be reported and tracked via GitHub.

Thank you for your work and your kindness

We have “exterior vertical shades/blinds” with Somfy motors (I had to look up the english terms) and two of them, type “AwningValance”, have open and closed reversed in Home Assistant.

Home Assistant found them automatically with the Overkiz integration. In the device information they are

  • PositionableScreen by Somfy, Connected via Connexoon, Firmware 5121525A07, Hardware: io:VerticalExteriorAwningIOComponent
  • AwningValance by Somfy, Connected via Connexoon, Firmware 5118126A10, Hardware: io:AwningValanceIOComponent

My issue is with the “AwningValance” shades. The control for “Open cover” closes it. However, when I click “Close cover” it opens and in the Logbook it says “… was opened triggered by service cover.close_cover”. See screenshot, the cover is open in this screenshot although the controls let you think it is closed:

I created an Entities Card with position as secondary information. When both covers are open, the PositionalbeScreen shows a position of 100 and it shows correctly as open. The open AwningValance shows incorrectly as closed with a position of 0. See screenshot:

In the Android app “Tahoma” by Somfy these shades work well. Open is open, and closed is closed, with correct positions. This lead me to believe the problem might be in the Home Assistant integration.

On this community forum I found someone else with the same issue, the posts are rather old:

However, it is in an old “Tahome Integration”? And it seems that there never was a bug reported on Github.

Later in the thread people are pointed to this thread in which I’m posting now.

I am rather new with Home Assistant. I love to try to fix this or to test a fix, but I don’t really know where to start. I’m not scared of changing files, though I never did this on this system. Worst case scenario I can practise my “use my back-up skills”.

System information
Home Assistant 2023.6.2
Supervisor 2023.06.2
Operating System 10.3
Frontend 20230608.0 - latest
on a Raspbery Pi 4 4GB.

Version core-2023.6.2
Installation Type Home Assistant OS
Integration Overkiz
Documentation Overkiz - Home Assistant

I’m not sure if I should report this on Github as an issue and which option to choose in that case (Report an issue with Home Assistant Core)?

I appreciate any help, thank you.

Probably best to report as an issue on Github with the " Report an issue with Home Assistant Core" option you found. Just follow the instructions in the template and you should be fine. Issues are easier to track for the devs that way.

2 Likes

Indeed, this would be the preferred way to report a bug, and don’t forget to include your diagnostics. (the issue template will explain how to gather this).

We have seen this issue a lot in the past and actually a rewrite of the cover component is still somewhere on the list, but other issues had priority. You can create a template cover to reverse the controls in the meantime. Something like this: Reversed state on cover · Issue #350 · iMicknl/ha-tahoma · GitHub.

1 Like

Thank you, @Michel and @imick. I opened an issue: Overkiz "AwningValance" open/close is reversed · Issue #94952 · home-assistant/core · GitHub and will look into your template cover suggestion.

The issue is already closed as it is intended behaviour

Awnings expose deploy (map to open) and undeploy (map to close) commands. So depending of the orientation of your device close and open does not behave as you can expect. I will recommend you to create a cover template so you can reverse the logic.

I followed the suggestion (Template cover - Home Assistant) which is what @imick also suggested.

I am stuck on what
value_template: "{{ states(cover.your_cover')|float > 0 }}"
means and does, so I tried to figure it out.

In the developer Tools I tried the template (added an ’ and used my cover)
value_template: "{{ states('cover.zo_straat_klein')|float > 0 }}"
to get
Template error: float got invalid input ‘open’ when rendering template
This returns a string, so I was interested in what strings it returns:
value_template: "{{ states('cover.zo_straat_klein')}}"

The cover is open, string returns “open”, correctly in my case.
I want to close it, string returns “opening”, while my cover closes.
My cover is fully closed and the string returns “closed”.
I want to open it, string returns “closing”, while my cover opens.
My cover is fully opened and the string returns “open”.

(Is that really intended behaviour?)

So I tried

# Example configuration.yaml entry
#   https://www.home-assistant.io/integrations/cover.template/
# Reverse open/close AwningValance
cover:
  - platform: template
    covers:
      my_cover:
        friendly_name: "ZO straat klein reversed"
        value_template: "{{ states('cover.zo_straat_klein')}}"
        # Need to reverse "opening" and "closing"?
        open_cover:
          service: cover.close
          target:
            entity_id: cover.zo_straat_klein
        close_cover:
          service: cover.open
          target:
            entity_id: cover.zo_straat_klein

It is in the configuration.yaml, with no error shown in syntax, and checked configuration in developer tools > yaml. Then restart > quick reload. Now there is an entity “cover.my_cover” with name “ZO straat klein reversed”. This has no stop button, and no position attribute.

Open and close buttons have a problem (stop button is easily added, however, with the same problem):
Failed to call service cover/open_cover. Unable to find service cover.close”.

This sets an open, stop and close button, which are always visible (as opposed to greyed out, e.g. open is grey when opened).

# Example configuration.yaml entry from
#   https://www.home-assistant.io/integrations/cover.template/
# Reverse open/close AwningValance
cover:
  - platform: template
    covers:
      # The entity name will be: zo_straat_klein_reversed
      zo_straat_klein_reversed:
        friendly_name: "ZO straat klein reversed"
        # This does not give a number, the result is the same as the value_template:
        position_template: "{{ states('cover.zo_straat_klein') }}"
        # The entity state: open/opening/closed/closing (and stop?)
        value_template: "{{ states('cover.zo_straat_klein')}}"
        # Need to reverse "opening" and "closing"?
        open_cover:
          service: cover.close_cover
          target:
            entity_id: cover.zo_straat_klein
        close_cover:
          service: cover.open_cover
          target:
            entity_id: cover.zo_straat_klein
        stop_cover:
          service: cover.stop_cover
          target:
            entity_id: cover.zo_straat_klein

I am happy with this! Though it can be improved on knowing what the position is. Now my question is how to get the position?

I would’ve guessed position_template to do that since it is supposed to be a number between 0 and 100 according to Template cover - Home Assistant, however, it has the same result as value_template.

You can tell I am rather new at this… could you point me further in the right direction please?

havent you tried inversing the position like this. I fear switching the actions might behave inconsistently throughout the various systems, while fixing the position to the inversed logic does not:

 - platform: template
   covers:
     raamverduistering_stookhok_inverted:
       friendly_name: Stookhok inverted
       position_template: >
         {{100 - (state_attr('cover.raamverduistering_stookhok','current_position')|int)}}
       set_cover_position:
         service: cover.set_cover_position
         data:
           entity_id: cover.raamverduistering_stookhok
           position: >
             {{100 - position}}

ofc, with the Somfy/Tahoma’s you wont see it updating under 30 secs, but you’ll at least keep your logic consistent
btw, this is a rather generic issue between different countries, and discussed more widely in other topics. Nothing special to Overkiz

Thanks for replying. Your state_attr for the current_position of the cover entity was the answer to my position question.

I put your code, with changes in de name/entity, in my configuration.yaml.

cover:
  - platform: template
    covers:
      screen_zw_voordeur_inverted:
        friendly_name: Screen ZW voordeur inverted
        position_template: >
          {{100 - (state_attr('cover.screen_zw_voordeur','current_position')|int) }}
        set_cover_position:
          service: cover.set_cover_position
          data:
            entity_id: cover.screen_zw_voordeur
            position: >
              {{100 - position}}

(and fixed my indentation where tabs were inserted instead of spaces), saved the file, checked the configuration under Developer Tools and restarted with a Quick Reload.

It works indeed!

With a stop button added to this inverted cover, and with position added to my reversed cover, I now have two working cover entities: inverted (changed position) and reversed (changed open and close directions), both with the correct direction/icons, next to the original entity (screenshot: original entity, reversed, and inverted).

HA cover 5 - dashboard with three entities

This is my code in the configuration.yaml now

# Reverse open/close cover AwningValance, suggested by iMick (community) and tetienne (GitHub Overkiz)
# https://community.home-assistant.io/t/overkiz-api-and-somfy-api/61448/1971
# Example configuration.yaml entry on
#   https://www.home-assistant.io/integrations/cover.template/
cover:
  - platform: template
    covers:
      # The entity name
      screen_zw_voordeur_reversed:
        friendly_name: "Screen ZW voordeur reversed"
        # This gives the position integer, it is an attribute of the cover entity
        position_template: >
          {{100 - (state_attr('cover.screen_zw_voordeur','current_position')|int) }}
        # The entity state: open/opening/closed/closing
        value_template: "{{ states('cover.screen_zw_voordeur')}}"
        # Need to reverse "opening" and "closing"
        open_cover:
          service: cover.close_cover
          target:
            entity_id: cover.screen_zw_voordeur
        close_cover:
          service: cover.open_cover
          target:
            entity_id: cover.screen_zw_voordeur
        # I want a stop button
        stop_cover:
          service: cover.stop_cover
          target:
            entity_id: cover.screen_zw_voordeur  
      # Suggestion to invert the postion, by Mariusthvdb
      # https://community.home-assistant.io/t/overkiz-api-and-somfy-api/61448/1974
      screen_zw_voordeur_inverted:
        friendly_name: Screen ZW voordeur inverted
        position_template: >
          {{100 - (state_attr('cover.screen_zw_voordeur','current_position')|int) }}
        set_cover_position:
          service: cover.set_cover_position
          data:
            entity_id: cover.screen_zw_voordeur
            position: >
              {{100 - position}}
        stop_cover:
          service: cover.stop_cover
          target:
            entity_id: cover.screen_zw_voordeur  
1 Like

great you got it working, cheers!

I have opened an issue as I think HA is ignoring configuration set up in the KLF200 when it reads devices from the handheld remote control. Velux core velocity over-written #95604

I don’t have the KLF200 at the moment and I don’t going to buy it anymore because the really good news is, that Mick has made a test version for the Tahoma local api. And it works great for me.

So probably it will be released in the August release of Home Assistant.

Hi,
I have a working SOMFY roller shutter control via Tahoma with addition of automations in HomeAssistant.
One of the roller shutters is additionally controlled via a mechanical switch with interposed izymo io receiver #1822660 - all works fine; but: the mechanical switching actions are not recognized / logged in Tahoma nor HA.
How can I change the setup so that I can also detect the mechanical switching (down/up) and set an automation on it?
thx for any hints / links.

Does it work in the official app? If so; there might be ways to get it working. If not, it is not supported by Overkiz integration either, but a limitation of your device.

yes, via the Tahoma Classic app, the shutter can be moved to any position.
btw. Izymo is a brand of SOMFY.
So the idea here is to recognize the manual switching process of the shutter button, which controls the shutter via the coupled io receiver, and use it for automation tasks in HA.
Are there already experiences / implementations for this?
Or can this be a funcional request?

i’m trying to use the My position for the first time, I have it all setup and it works if I press the My button on the remote, but it does not work if i tap on the press button in the entity. What am I doing wrong ???

Have you any error on your log?