However, meanwhile I have learned some additional things. In the beginning, I have powered the Somfy TaHoma Box and the Velux KLF200 in parallel. In case something goes wrong with the new KLF200, I could always fall back to Somfy. But that wasnāt necessary.
For some reason though, if both boxes run, the Velux KLF200 reports the current shutter position instantaneously, meaning I could literally see the slider moving in HA while the shutter was closing/opening. After I switched off Somfy, the KLF200 shutter position update took 1-2mins. I just powered on the TaHoma Box again (without Ethernet!) and the updates came in immediately. I donāt have the capability to log - let alone debug - the io.home protocol, but I guess, that the Somfy box is constantly requesting feedback from the shutter while it is moving and the Velux KLF200 reports that feedback back to HA. If the TaHoma Box is offline (=powerless), Velux doesnāt get the new position.
My new hope is the TaHoma Homekit connection. With that, you could control the covers in the local network with the TaHoma Box and - hopefully - get instant position feedback as well.
Iāve just ordered the Velux KLF200 which will run in parallel to TaHoma box. I donāt want a dependency to homekit because I donāt want to depend on Apple products and keep my freedom to move to Android when I want.
Iāll share my experience when Iāll get the Velux bridge.
I confirm that you can connect definitely more than 5 devices. The 5 device limitation is just for the direcly wired actuators. But for io-homecontrol devices which communicates wireless there is no known limitation. I use the KLF200 for 7 shutters and further 4 venetian blinds. The KLF200 has also its weaknesses, but it allows control via local network, no internet connection needed. The reaction time is much quicker than via Tahoma (I have both boxes at home, you can operate them in parallel if you wish, but I do not use my Tahoma Box anymore). KLF200 just freezes sometimes if the connection will be disturbed and requires an unpowering to re-establish a communication. But basically this freezes occur if you reboot home assistant. For that way I managed to have an automation which forces the KLF200 to reboot always when HA is stopped for a reboot. Another minus is that for somfy devices you donāt get all information of the actuators, like serial number or the exact orientation of blinds if you change it via other remote devices. However the position of the covers is always transmitted as far as know correctly.
I apologize, I wasnāt precise enough. I want to use the homekit controller component so that HA pretends to be an apple homekit device that the TaHoma Box will connect to. No apple device is involved whatsoever. Only TaHoma thinks it is connected to an apple device and allows local control
I read the source code once but I couldnāt find any SCAN_INTERVAL or similar algorithm. As far as I understood, the KLF200 sends updates, whenever they come (event based).
Once, the KLF200 is connected, it works flawlessly. The only issue I have noticed is that the connection doesnāt get established, when HA is restarted via ssh (then I have to power cycle the KLF200 and restart HA and the connection is back online). If I restart (or update) HA in the browser (via service homeassistant.restart) then there are no connection issues.
I use the KLF200 for two months now.
No, it is a simple io.home protocol connection without any Somfy specialties. I can open/close/set_position; there are no options like silent/slow mode.
In total I am happy with the KLF200 as the BIG advantage is the local connection and independence of the internet.
Since a weekd or 2, I canāt trigger all my coversā¦ I need to do it several times
2020-12-17 08:55:07 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall cover.open_cover (c:0c3aa56e9c452c828b750541be546cf7): entity_id=['cover.chambre_parentale', 'cover.chambre_blanche']>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/core.py", line 1461, in catch_exceptions
await coro_or_task
File "/usr/src/homeassistant/homeassistant/core.py", line 1480, in _execute_service
await handler.job.target(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
await self.hass.helpers.service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 593, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 630, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/somfy/cover.py", line 112, in async_open_cover
await self.hass.async_add_executor_job(self.cover.open)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/pymfy/api/devices/roller_shutter.py", line 22, in open
self.send_command(Command("open"))
File "/usr/local/lib/python3.8/site-packages/pymfy/api/devices/base.py", line 19, in send_command
self.api.send_command(self.device.id, command)
File "/usr/local/lib/python3.8/site-packages/pymfy/api/somfy_api.py", line 56, in send_command
response.raise_for_status()
File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 943, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://api.somfy.com/api/v1/device/7c3e1f22-1f32b077-7180300c-db395519/exec
I had a similar problem randomly with some covers. I have them split into 2 groups now (windows east, windows west) and I do trigger one group 3 seconds after the other. Not perfect but much more reliable now.
I have 7 covers so do 3 and 4 at a time
It is good news to hear that the Velux KLF 200 is stable, but the bad news is that it is not possible to execute shutters at the low speed. That makes it for me unusable . I have buy 10 x RS100 IO motor because of the low noise.
But two days ago I have changed the Somfy plugin by the Tahoma plugin (which uses the unoffical API). And I must say it is at the moment very stable.
So for now I will wait and see how it will operates the comming days.
Also I read some news about trying to connect HA to Tahoma (@tetienne). I donāt understand all the details. But are you investigating the next thing:
Home Assistant can connect locally to the Somfy Tahoma Box because there is now build in Apple Homekit support and for the Apple Homekit support Somfy has built in local support?
So that means that when you succeed with that, we could locally control our devices?
When you succeed then not all devices are available to control locally because Somfy doesnāt support all the devices in Homekit?
And ofcourse you must have the Somfy Tahoma Box verison 2 (at the moment I have version 1)
Is this the case which you are investigating at the moment?
Having the same issue for last few days with the same log messages as yourself. 2 covers, sometimes automation works, other times donāt, and also random for either cover. HA 2020.12.
To answer part of your post, yes Somfy has added homekit support, but so far the list of supported devices is very small. Mostly restricted to io covers due to limitations on Appleās side. Furthermore, despite being correctly discovered, to my knowledge we havenāt been able to connect home Assistant to the Tahoma homekit. Finally, unfortunately this homekit integration doesnāt mean we have access to a local api at this pointā¦
I have been using the somfy integration for about 4 weeks now to control 7 io covers. I trigger the somfy service to open/close covers via node-red.
At first I tried to open/close all covers at once. But sometimes 1 or more covers seemed to not get the open / closed command and the somfy integration in HA throws various errors in log.
I tried to throttle the number of requests to somfy down to 1 per second - but cannot really see an improvement in reliability.
Did anybody experience the same problem and has a suggestion for me?
Currently I see these errors regularily in the HA log:
* Error doing job: Task exception was never retrieved
------------
* Error requesting somfy device update data: 404 Client Error: Not Found for url: https://api.somfy.com/api/v1/site
------------
* Source: components/somfy/__init__.py:164
** [2859662088] 'ec08c1d5-0cfa1507-dac4d8dc-xxxxxxxx'
** [2841917064] 'ec08c1d5-0cfa1507-dac4d8dc-xxxxxxxx'
------------
* Error executing service: <ServiceCall cover.set_cover_position (c:69fd1fed03be30cee10aef1xxxxxx): entity_id=['cover.terrasse_rechts'], position=100> .... blablabla ...requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://api.somfy.com/api/v1/device/5be8a662-3712dcc6-100f3599-xxxxxxxx/exec
Is there a documentation what the root couse of the various errors of the somfy integration component could be? Some are self explaining / some not.
The somfy API seems to be not very reliable. What is you long time experience? Any workarounds, retry mechanisms or similar?
Hi, thatās what we talked about just few post above.
I contacted Somfy about this issue. Apparently, they have a limited buffer on the number of executions they can handle, thatās why we got this errorā¦
Iām waiting an answer, after the Christmas holidays probably, to know if I can do something on our side, or if they have to enhance their servers. But if you told me that even with a 1 second delay you still have the issue, thatās a not good news.