Overkiz API and Somfy API

Do you have anything related to TaHoma in your logs? Are you using RTS or IO devices?

Unfortunetyl no log entries. :frowning:

I have 21 IO and 3 RTS Covers. The RTS covers are not affected by the automations that close and open the covers.

This is how i show them in Lovelace.

The automation runs a scene that includes the following code. There are a lot of fields in it that i cannot make too much sense of. From all i can see current_position is always 100 (open). Maybe other values prevent proper execution on the tahoma side?

- id: '1598419515406'
  name: Alle Rolladen Morgens öffnen
  entities:
    cover.ankleide:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Ankleide
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 54
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Ankleide Ost
      rssi_level: 54
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.bad_nord:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Bad Nord
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 48
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Bad Nord
      rssi_level: 48
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.bad_west:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Bad West
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 54
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Bad West
      rssi_level: 54
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.buro_nord:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: good
      core:NameState: Büro Nord
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 100
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Büro Nord
      rssi_level: 100
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.buro_ost:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 36
      core:DiscreteRSSILevelState: good
      core:NameState: Büro Ost
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 98
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Büro Ost
      rssi_level: 98
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.essen_ost:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Essen Ost
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 72
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Essen Ost
      rssi_level: 72
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.essen_sud:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Essen Süd
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 52
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Essen Süd
      rssi_level: 52
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.frieda_ost:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Frieda Ost
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 42
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Frieda Ost
      rssi_level: 42
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.frieda_sud:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: low
      core:NameState: Frieda Süd
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 26
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Frieda Süd
      rssi_level: 26
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.garagendach:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Garagendach
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 52
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Garagendach
      rssi_level: 52
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.gastebad:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: good
      core:NameState: Gästebad
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 100
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Gästebad
      rssi_level: 100
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.gastezimmer:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: low
      core:NameState: Gästezimmer
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 12
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Gästezimmer Ost
      rssi_level: 12
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.heizraum:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: good
      core:NameState: Heizraum
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 100
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Heizraum
      rssi_level: 100
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.kuche:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Küche
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 60
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Küche
      rssi_level: 60
      state: closing
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.schlafen_nord:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Schlafen Nord
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 66
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Schlafen Nord
      rssi_level: 66
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.schlafen_ost:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Schlafen Ost
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 58
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Schlafen Ost
      rssi_level: 58
      state: closing
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.treppe:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Treppe
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 54
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Treppe
      rssi_level: 54
      state: closing
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.waschraum:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: low
      core:NameState: Waschraum
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 40
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Waschraum
      rssi_level: 40
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter
    cover.wohnen_ost:
      controllable_name: io:RollerShutterGenericIOComponent
      core:ClosureState: 0
      core:DiscreteRSSILevelState: normal
      core:NameState: Wohnen Ost
      core:OpenClosedState: open
      core:PriorityLockTimerState: 0
      core:RSSILevelState: 70
      core:StatusState: available
      current_position: 100
      device_class: shutter
      friendly_name: Wohnen Ost
      rssi_level: 70
      state: open
      supported_features: 15
      ui_class: RollerShutter
      widget: PositionableRollerShutter

I am not sure if I understand your automation… Why don’t you just use the service calls like cover.open and cover.close or cover.set_position.

- id: '1587903391659'
  alias: Open all covers when sun is gone
  description: ''
  trigger:
  - event: sunset
    platform: sun
  condition: []
  action:
  - data: {}
    entity_id: cover.zipscreen_woonkamer
    service: cover.open_cover
  - data: {}
    entity_id: cover.zipscreen_slaapkamer
    service: cover.open_cover
  - data: {}
    entity_id: cover.zipscreen_pergola
    service: cover.open_cover

Why is this better? In scenes i have reusabilty…?

1 Like

Sorry, I missed that you are using a scene… However, I would advice removing all other values than current_position to start with. All other values should not be there.

Ok, However, this is what homeassistant generates when i create a scene from the UI. Its not my creation. :slight_smile: I will try to remove the fields.

I am just starting with Home Assistant. My first step was adding all my sensors.
With CC2531 I added all my zigbee devices.

My Tahoma Box includes 2 screens and a light sensor. A wind sensor is added to the screen directly. I made an app on the developer page and added the keys in the configuration.

I can now see my 2 blinds and the Tahoma box. But I do not see my light sensor?!
What to do?

Is this integration or the API currently not working? I havent been able to connect to my devices for days…tried to reinstall it, got some https timeouts, but eventually installed. No entities however. thx

Unfortunately, the official Somfy API doesn’t support all devices (yet?). If you want to add the missing devices, you could have a look at the new Somfy TaHoma integration. (https://github.com/imicknl/ha-tahoma)

The old TaHoma component had functionality to exclude devices from Home Assistant. Since we moved to the entity registry, this functionality is now offered by default in Home Assistant core. You can now disable entities via the interface, to make sure you don’t have duplicate entities for the same devices.

I have a Connexoon IO box. But I am unable to login at tahomalink.com. Am I missing something? I really want to try the Tahoma component!

After reading some comments above I see that even though I am unable to login at tahomalink.com, I can still use my Somfy credentials with this component. And it’s working so much better than the official one! Much faster feedback and now I am able to control my awnings! Great stuff guys!

Great to hear! What could we improve to make this more clear for Connexoon users? Would it be sufficient to add a note on the documentation or should we also add a small note to the config flow. (the popup you see when you add Somfy TaHoma in HA).

I think a note in the documentation would be fine. Other strange thing I found was that I could not select the Tahoma integration by adding it via the UI, it was simply not there. So I proceeded by adding the tahoma config section to my yaml and that seemed to work.

Are you sure you talk about the Tahoma custom component, the one available with HACS?

No I am talking about installing the Tahoma integration via the integrations page as stated in the documentation:

Copy the custom_components/tahoma to your custom_components folder. Reboot Home Assistant and install the Somfy TaHoma integration via the integrations page.

It should be in your integration list when you are looking for ‘Somfy TaHoma’. I have seen some bugs with config flows for custom components (like HACS) in the past, but I didn’t face it recently. A restart of HA combined with a cache delete in the browser does the trick most of the time.

Since yesterday evening i have authentication issues with Tahoma.

Logger: custom_components.tahoma
Source: custom_components/tahoma/coordinator.py:56
Integration: Somfy TaHoma (documentation, issues)
First occurred: 28. September 2020, 20:27:07 (1487 occurrences)
Last logged: 08:56:50

Unexpected error fetching TaHoma Event Fetcher data: Bad credentials

Traceback (most recent call last): File “/config/custom_components/tahoma/coordinator.py”, line 52, in _async_update_data events = await self.client.fetch_events() File “/usr/local/lib/python3.8/site-packages/pyhoma/client.py”, line 150, in fetch_events response = await self.__post(f"events/{self.event_listener_id}/fetch") File “/usr/local/lib/python3.8/site-packages/pyhoma/client.py”, line 250, in __post await self.check_response(response) File “/usr/local/lib/python3.8/site-packages/pyhoma/client.py”, line 286, in check_response raise NotAuthenticatedException(message) pyhoma.exceptions.NotAuthenticatedException: Not authenticated During handling of the above exception, another exception occurred: Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 143, in async_refresh self.data = await self._async_update_data() File “/config/custom_components/tahoma/coordinator.py”, line 56, in _async_update_data await self.client.login() File “/usr/local/lib/python3.8/site-packages/pyhoma/client.py”, line 83, in login response = await self.__post(“login”, data=payload) File “/usr/local/lib/python3.8/site-packages/pyhoma/client.py”, line 250, in __post await self.check_response(response) File “/usr/local/lib/python3.8/site-packages/pyhoma/client.py”, line 282, in check_response raise BadCredentialsException(message) pyhoma.exceptions.BadCredentialsException: Bad credentials

I also tried a reinstall, but it did not work.
Bildschirmfoto von ScreenFloat (29-09-20, 08-54-23)

I have seen a similar issue on the HomeBridge plugin: Bad credentials suddenly · Issue #204 · dubocr/homebridge-tahoma · GitHub… Hopefully they are not blocking our work.

I personally have had the same error, however only 5 times on a certain time frame. What update interval are you using?

First occurred: September 28, 2020, 8:27:20 PM (5 occurrences)
Last logged: September 28, 2020, 8:42:41 PM

Could you perhaps create an issue on our GitHub? Issues · iMicknl/ha-tahoma · GitHub

I run these 100% as automation using scenes. Every morning 6:45 i open all covers. Every evening at 22:00 i close them. Weekend 8:00, 22:00

Thats it. Both times do not work anymore.

I also have shading automations in place based on light sensors, unfortunately not available through the new Somfy API.

I’ve contacted the Somfy Support to understand where this issue comes from. @ikewestbrook did you change the poll frequency?