Overkiz API and Somfy API

We have not yet backport this platform. Meanwhile use the custom component.

Thanks for the reply, wainting for new release so, thanks for the work !

I use Somfy RTS covers, but my issue is that the stop command is not working. I am using a Somfy Tahoma box. What happens is, I do see the command arriving on the Tahomalink webportal, but my covers are not responding to the command (or sometimes with a ver VERY huge delay). The curtains are then almost closed when pressing the stop buttonā€¦

What Iā€™ve tried so far:
-The old and deprecated Tahoma integration (same issue)
-Official Somfy integration (same issue)
-Overkiz integration (same issue)
-HomeKit integration (No entities, RTS does not seem to be supported for HomeKit)
-Tried to connect the covers directly to Google Home: Same Issue
-Tried it with the official Tahoma classic app / through the Tahomalink portal: Then it works

So it does not seem to be a Home Assistant issue.

Any ideas how to fix the stop button? Are there any others having the same issue as I do?

Hi, thx for your detailled explanations. Can you please try this version of your custom component: https://github.com/iMicknl/ha-tahoma/issues/720#issuecomment-1018875910
Just extract the zip files, and copy custom-component/tahoma to your custom-components folder.

I get the following error when trying to reboot, after add Tahoma to the custom components folder:

[140349494959408] The system cannot restart because the configuration is not valid: Integration error: tahoma - Integration ā€˜tahomaā€™ not found.

10:26:52 AM ā€“ (ERROR) Home Assistant WebSocket API

The system cannot restart because the configuration is not valid: Integration error: tahoma - Integration ā€˜tahomaā€™ not found.

I am running on the latest version: 2022.2.5 (Supervised)

My bad, the old Tahoma integration was still in my configuration.yaml :wink: Now trying

Edit:
Wow! That works like a charm! Great work!

Will this be built into the core with a future update?

1 Like

Glad to know it works for you :hugs: We are currently backporting all the modifications of our Core component to our Custom Component: we got a lot of remarks. Once this sync done, we will start adding this kind of fix.

1 Like

Hello,

Iā€™m not able to login in to the core component. I get a unexpected error. Iā€™m running the latest version 2022.2.6.

Schermafbeelding 2022-02-13 om 11.45.18

Any ideas how I can fix this please?

Thank You!

Please create an issue on the core repository, where you add your debug log (turn on debug logging first) and add your diagnostics information. Looking at your unknown error, there should be an error in your log.

just letting you know I managed to incorporate the new low_speed covers in may frontend config and scripts. Maybe someone here can use it, or comment and improve.

created an input_boolean.discrete_covers and use that as follows:

  - type: custom:config-template-card
    entities:
      - input_boolean.discrete_covers
    variables:
      stil: states['input_boolean.discrete_covers'].state
    card:
      type: entities
      card_mod:
        style: |
          ha-card {
            box-shadow: none;
            margin: 0px -16px;
          }
      entities:
        - entity: "${stil === 'on' ? 'cover.rolluik_slaapkamer_low_speed' : 'cover.rolluik_slaapkamer'}"
          #name: Master bedroom
          secondary_info: last-updated
        - entity: "${stil === 'on' ? 'cover.rolluik_slaapkamer_low_speed' : 'cover.rolluik_slaapkamer'}"
          <<: *slider

the slider anchor adds:

      type: custom:slider-entity-row
      step: 1
      hide_state: false
      full_row: true

same idea on shutter-card:

  - type: custom:config-template-card
    entities:
      - input_boolean.discrete_covers
    variables:
      stil: states['input_boolean.discrete_covers'].state
    card:

      type: custom:shutter-card
      title: Rolluiken
      <<: *header
      entities:
        - entity: "${stil === 'on' ? 'cover.rolluik_voorkamer_low_speed' : 'cover.rolluik_voorkamer'}"

and cover groups I made for this.

backend does it via:

      service: cover.open_cover
      target:
        entity_id: >
          {% set stil = '_stil' if is_state('input_boolean.discrete_covers','on') %}
            cover.dorm{{stil}}

finally, a button with some initial styling, to be fine-tuned :

type: custom:button-card
template:
  - main_config
  - styles_card
  - styles_label
  - styles_name_left
  - styles_state
  - styles_img_cell
state_display: >
  [[[ return 'Cover: ' + states[variables.cover].state; ]]]
triggers_update:
  - cover.slaapkamers
  - cover.slaapkamers_stil
variables:
  cover: >
    [[[ return states['input_boolean.discrete_covers'].state == 'on'
        ? 'cover.slaapkamers_stil' : 'cover.slaapkamers'; ]]]
#entity: cover.slaapkamers
icon: >
  [[[ if (states[variables.cover].state === 'open') return 'mdi:window-shutter-open';
      if (states[variables.cover].state === 'closed') return 'mdi:window-shutter';
      if (states[variables.cover].state === 'opening') return 'mdi:archive-arrow-up';
      return 'mdi:archive-arrow-down'; ]]]

name: >
  [[[ return states[variables.cover].attributes.friendly_name; ]]]
tap_action:
  action: call-service
  service: >
    [[[ return states[variables.cover].state == 'open'
          ? 'cover.close_cover' : 'cover.open_cover'; ]]]
  service_data:
    entity_id: >
      [[[ return variables.cover; ]]]
  confirmation:
    text: >
      [[[ return `Are you sure you want to toggle all covers?` ]]]
hold_action:
  action: navigate
  navigation_path: >
    [[[ return (window.location.pathname.split('/')[2] === 'covers')
      ? null : '/ui-overview/covers'; ]]]
custom_fields:
  notification: >
    [[[ return states[variables.cover].attributes.current_position; ]]]
styles:
  card:
    - color: grey
  icon:
    - color: >
        [[[ if (states[variables.cover].state === 'open') return 'steelblue';
            if (['opening','closing'].includes(states[variables.cover].state)) return 'orange';
            return 'green'; ]]]
  custom_fields:
    notification:
      - color: white
      - background-color: >
          [[[ if (states[variables.cover].state === 'open') return 'steelblue';
              if (['opening','closing'].includes(states[variables.cover].state)) return 'orange';
              return 'green'; ]]]
      - animation: >
          [[[ if (['opening','closing'].includes(states[variables.cover].state)) return 'blink 2s ease infinite'; ]]]
      - border: 1px solid var(--text-color-on)
      - border-radius: 12px #50%
      - font-size: 11px
      - font-weight: bold
      - height: 18px
      - line-height: 18px
      - min-width: 12px
      - padding: 0px 3px
      - position: absolute
      - right: 5%
      - top: 10%

Schermafbeelding 2022-02-25 om 20.59.07
Schermafbeelding 2022-02-25 om 20.59.30
Schermafbeelding 2022-02-25 om 20.59.46
Schermafbeelding 2022-02-25 om 21.02.31

above config wasnt reliable after all. So, I decided to experiment with the cover template integration. Up toi now, all backend And frontend logic appears to be working 100% reliably:

cover:

  - platform: template
    covers:

      rolluik_slaapkamer_template:
        unique_id: rolluik_slaapkamer_template
        device_class: shutter
        friendly_name: Rolluik slaapkamer template
        open_cover:
          service: cover.open_cover
          target: &slaap
            entity_id: >
              {% set id = 'rolluik_slaapkamer' %}
              {% set silent = states('input_boolean.discrete_covers') %}
              {% if silent == 'on' %} cover.{{id}}_low_speed
              {% else %} cover.{{id}}
              {% endif %}
        position_template: >
          {% set id = 'rolluik_slaapkamer' %}
          {{state_attr('cover.'~id,'current_position')}}
        close_cover:
          service: cover.close_cover
          target: *slaap
        stop_cover:
          service: cover.stop_cover
          target: *slaap
        set_cover_position:
          service: cover.set_cover_position
          target: *slaap
          data:
            position: '{{position}}'

and even the group covers:

  - platform: group
    unique_id: cover_group_all
    name: All
    entities:
      - cover.rolluik_voorkamer_template
      - cover.rolluik_logeerkamer_template
      - cover.rolluik_slaapkamer_template

and nested group covers work fine. all in all, a bit of an extra load, but now I can select the regular or slow speed covers with the flick of 1 boolean.

Question:

In the Somfy App we can create groups, and during install a compound group with all covers was added. However this isnt imported in the Overkiz/Somfy Ha integration. I only see the individual devices. Is that correct?

Not sure if I understand what you mean, but if there is another group system in the Somfy app than the ā€˜roomā€™ system, I donā€™t think they show this in the API.

Tbh, I donā€™t know what the ā€˜roomā€™ system is in Somfy, but this is what I was referring to:

I created a Ha version of that with cover group platform, but figured maybe the integration could do that

Thatā€™s interesting, I can check it next week.

1 Like

I donā€™t think you can create these groups yourselves in the app? They just group your devices by model, which is done ā€˜client-sideā€™ probably. In theory this could be realized, however I think that a manual cover group is a good solution.

Ya you are probably right, I donā€™t remember doing that myself :wink:

1 Like

I have made a group cover with all my screens in. Is there a way to close all the covers with one click? Iā€™m using the default Somfy app.

At least one of your integrations requires reconfiguration to continue functioning

keep having this error daily, integration of Overkiz (by Somfy)

is this a known issue? thanks.

2 Likes

No, not really. Please create an issue on ha-tahoma or core repository, depending on the integration you are using.

Well just call cover.clover_cover on your group.