Overkiz API and Somfy API

Folks,
thanks for the hard work. I have been watching and using this piece of automation for a long time. Starting with the Tahoma, then moved to the official API based custom component and since HA 0.95 the core one.

While there were a few issues on the Somfy side, I was happy with the solution, however quite recently I had a couple of moments when the API (official component) was not working. I have switched to the Overkiz (HACS) but it supped working today (looks like it does not like my password anymore). After switching back to the official Somfy integration in the core, all works fine (for now).

I was trying to understand what the difference is but not sure. Is the official somfy integration using the official API, while the Overkiz one is the unofficial way?

Thanks!

Hi, thx for your message.

There was an outage this morning on Somfy side: https://twitter.com/Somfyfr/status/1481903321858387968 (n French). It’s why you cannot log-in with the Overkiz integration.

About the different between both integration, you got the point. The Somfy component rely on the Official (and really limited) API while Overkiz integration uses the unofficial API behind tahomalink.com.

1 Like

Thanks, tetienne. I’ll try switching back to overkiz.

Is the integration still broken?
Nothing works for controlling covers, and awnings here!!
HA says reconfiguration needed but login fails !!!

Read the issue thread and wait. We will release a fix soon hopefully.

Any solution so far for the overkiz integration? Mine stopped working today after a restart of HA, ‚bad credentials‘, the core Somfy Integration still works with the same credentials.
Best regards
Karl

No update to share yet, see my previous replies.

@Mick, thanks for reply. Just now I was able to log in again

Update

Regarding the authentication issues, we are testing a new version. It would be great if you could install this and let us know how it works, or if you still face the previous errors.

Unzip and put custom_components/tahoma in your custom components folder.
https://github.com/iMicknl/ha-tahoma/archive/refs/heads/enhancement/move_somfy_oauth.zip

I updated overkiz to 2.12.0 as it showed up in HACS, and have encountered this error,

2022-01-26 12:06:31 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry x for number
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/config_entries.py", line 313, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/components/number/__init__.py", line 81, in async_setup_entry
    return await component.async_setup_entry(entry)
  File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/helpers/entity_component.py", line 147, in async_setup_entry
    platform = await async_prepare_setup_platform(
  File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/setup.py", line 309, in async_prepare_setup_platform
    platform = integration.get_platform(domain)
  File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/loader.py", line 530, in get_platform
    cache[full_name] = self._import_platform(platform_name)
  File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/loader.py", line 535, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/homeassistant/.homeassistant/custom_components/tahoma/number.py", line 22, in <module>
    OverkizNumberDescription(
TypeError: __init__() got an unexpected keyword argument 'min_value'

I note a comment in Fix number entity in 2022.1.0dev by iMicknl · Pull Request #667 · iMicknl/ha-tahoma · GitHub says it wont drop until 2022.01 due to the change breaking older builds, is this release almost out or should I roll back for now?

I can confirm, we merge a fix too soon. It was for the next Home Assistant release. We will see what we can do to fix this for the current release. Meanwhile, you can rollback to the previous version.

1 Like

2.12.1shows up in hacs, is this save to install?

Yes and otherwise you can always rollback.

Home Assistant 2022.2 will finally have the Overkiz (by Somfy) integration available in core! And since the beta has been released today, you can give it a try and let us know if you face any issues (via GitHub issues).

Most platforms are supported, except for siren, climate and water heater. They will follow in future versions. Please use only one of the integrations (core vs custom), to avoid calling Somfy’s servers from two separate integrations and to avoid authentication issues.

more information: Overkiz (by Somfy) - HA (Home Assistant RC website)

With v2.12.1 I’m getting lots of not authenticated errors every 1-2 minutes. I’ve rolled back as I dont want to get banned.

Raise bug in github?

2022-01-27 11:44:58 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.9s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:46:00 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.9s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:46:32 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.1s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:48:33 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.9s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:49:05 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.4s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:50:06 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.5s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:50:38 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.1s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:51:39 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.1s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:52:40 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.4s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:53:41 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.6s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:54:42 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.5s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:56:13 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.1s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:56:44 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.7s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:58:45 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.3s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 11:59:46 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.0s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:00:17 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.0s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:01:48 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.8s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:03:19 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.3s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:04:50 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.8s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:05:51 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.1s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:06:23 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.7s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:08:24 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.6s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:09:55 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.4s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:10:56 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.3s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:11:27 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.7s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:11:59 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.3s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:13:00 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.8s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:13:32 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.4s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:14:33 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.5s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:15:05 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.5s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:16:06 INFO (MainThread) [backoff] Backing off fetch_events(...) for 1.0s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:16:38 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.9s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:17:40 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.5s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:19:11 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.0s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:19:42 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.7s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:20:14 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.8s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:21:45 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.2s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:24:17 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.5s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)
2022-01-27 12:25:48 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.5s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated)

Please do, we will work on this. Thanks for reporting!

Hello,

I still have the same problem… I created a bug report on github but that was closed as duplicate. Just upgraded to the latest version and still nothing works. Please help

2022-01-30 09:14:06 ERROR (MainThread) [custom_components.tahoma] __init__() missing 1 required keyword-only argument: 'last_update_time'

Traceback (most recent call last):

File "/config/custom_components/tahoma/__init__.py", line 69, in async_setup_entry

setup, scenarios = await asyncio.gather(*tasks)

File "/usr/local/lib/python3.9/site-packages/backoff/_async.py", line 133, in retry

ret = await target(*args, **kwargs)

File "/usr/local/lib/python3.9/site-packages/pyoverkiz/client.py", line 362, in get_setup

setup = Setup(**humps.decamelize(response))

File "/usr/local/lib/python3.9/site-packages/pyoverkiz/models.py", line 61, in __init__

self.location = Location(**location)

TypeError: __init__() missing 1 required keyword-only argument: 'last_update_time'

Hello,

Recently this device was added " button.hp_actuator_identify ".

What is the purpose of this device ?
Thank you

This issue has been solved several releases ago. Are you sure you have well the latest release?

Hi, the identify command will for instance for a cover trigger 3 up and down commands to help to identify the cover. It’s a method directly exposed by Overkiz. I guess the behavior will depend of the kind of device.