iMicknl / ha-tahoma

Custom component for Home Assistant to interact with smart devices via Somfy TaHoma or other OverKiz based API's.
MIT License
152 stars 30 forks source link

Somfy Blinds continuously become unavailable #803

Closed grf21a closed 2 years ago

grf21a commented 2 years ago

Did you read the instructions?

The problem

I am hoping someone can help me with an ongoing issue I have been having with Overkiz as my blinds keep going offline/unavailable and stop working every few days showing a "Translation Error" Integrations page within Home Assistant. See screenshot attached.

To correct the condition, I click on the "reconfigure" button and key in my Somfy (Oceania) credentials. The system immediately responds with an "Aborted / Close" message (also attached) and then everything comes back online/available again.

System log reports that Authentication Failed while fetching device events data (see attached). I assume that there is a configuration file that is missing my credentials which is causing this to fail but I do not know where to find/update this.

I have tried uninstalling and reinstalling the integration but that has not resolved my issue.

I am fairly new to Home Assistant so appreciate if anyone can point me in the right direction to resolving this issue.

Home Assistant - Overkiz Error 01 Home Assistant - Overkiz Error 09 Home Assistant - Overkiz Error 10

What version of this integration (ha-tahoma) has the issue?

2.13.0

What version of Home Assistant Core has the issue?

core-2022.3.8

Which gateway / hub do you use?

Somfy TaHoma

Device model

TaHoma Basic

Home Assistant log

Logs ``` { "home_assistant": { "installation_type": "Home Assistant Supervised", "version": "2022.3.8", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.9.9", "docker": true, "arch": "x86_64", "timezone": "Australia/Brisbane", "os_name": "Linux", "os_version": "5.10.0-12-amd64", "supervisor": "2022.05.0", "host_os": "Debian GNU/Linux 11 (bullseye)", "docker_version": "20.10.14", "chassis": "laptop", "run_as_root": true }, "custom_components": { "tahoma": { "version": "2.13.0", "requirements": [ "pyoverkiz==1.3.6" ] }, "alexa_media": { "version": "3.11.3", "requirements": [ "alexapy==1.25.5", "packaging>=20.3", "wrapt>=1.12.1" ] }, "hacs": { "version": "1.24.5", "requirements": [ "aiogithubapi>=21.11.0" ] } }, "integration_manifest": { "domain": "tahoma", "name": "Overkiz (by Somfy) - Custom component", "iot_class": "cloud_polling", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/tahoma", "requirements": [ "pyoverkiz==1.3.6" ], "codeowners": [ "@imicknl", "@vlebourl", "@tetienne" ], "issue_tracker": "https://github.com/imicknl/ha-tahoma/issues", "version": "2.13.0", "zeroconf": [ "_kizbox._tcp.local." ], "dhcp": [ { "hostname": "gateway*", "macaddress": "F8811A*" } ], "is_built_in": false }, "data": { "creationTime": 1573887648000, "lastUpdateTime": 1573887648000, "id": "SETUP-****-****-3353", "location": { "creationTime": 1573887648000, "lastUpdateTime": 1645601603000, "city": "** **", "country": "**", "postalCode": "**", "addressLine1": "** **", "addressLine2": "*", "timezone": "Australia/Brisbane", "longitude": "**", "latitude": "**", "twilightMode": 2, "twilightAngle": "CIVIL", "twilightCity": "Canberra", "summerSolsticeDuskMinutes": 1290, "winterSolsticeDuskMinutes": 990, "twilightOffsetEnabled": false, "dawnOffset": 0, "duskOffset": 0, "countryCode": "AU" }, "gateways": [ { "gatewayId": "****-****-3353", "type": 62, "subType": 1, "placeOID": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "alive": true, "timeReliable": true, "connectivity": { "status": "OK", "protocolVersion": "2021.2.4" }, "upToDate": true, "updateStatus": "UP_TO_DATE", "syncInProgress": false, "functions": "INTERNET_AUTHORIZATION,SCENARIO_DOWNLOAD,SCENARIO_TELECO_LAUNCHING,INTERNET_UPLOAD,INTERNET_UPDATE,TRIGGERS_SENSORS", "mode": "NO_AUTO" } ], "devices": [ { "creationTime": 1573887648000, "lastUpdateTime": 1573887648000, "label": "**", "deviceURL": "internal://****-****-3353/pod/0", "shortcut": false, "controllableName": "internal:PodMiniComponent", "definition": { "commands": [ { "commandName": "getName", "nparams": 0 }, { "commandName": "update", "nparams": 0 }, { "commandName": "setCountryCode", "nparams": 1 }, { "commandName": "activateCalendar", "nparams": 0 }, { "commandName": "deactivateCalendar", "nparams": 0 }, { "commandName": "refreshPodMode", "nparams": 0 }, { "commandName": "refreshUpdateStatus", "nparams": 0 }, { "commandName": "setCalendar", "nparams": 1 }, { "commandName": "setLightingLedPodMode", "nparams": 1 }, { "commandName": "setPodLedOff", "nparams": 0 }, { "commandName": "setPodLedOn", "nparams": 0 } ], "states": [ { "type": "DiscreteState", "values": [ "offline", "online" ], "qualifiedName": "core:ConnectivityState" }, { "type": "DataState", "qualifiedName": "core:CountryCodeState" }, { "type": "DataState", "qualifiedName": "core:LocalIPv4AddressState" }, { "type": "DataState", "qualifiedName": "core:NameState" }, { "type": "DiscreteState", "values": [ "doublePress", "longPress", "simplePress", "triplePress", "veryLongPress" ], "qualifiedName": "internal:LastActionConfigButtonState" }, { "type": "ContinuousState", "qualifiedName": "internal:LightingLedPodModeState" } ], "dataProperties": [], "widgetName": "Pod", "uiProfiles": [ "UpdatableComponent" ], "uiClass": "Pod", "qualifiedName": "internal:PodMiniComponent", "type": "ACTUATOR" }, "states": [ { "name": "core:NameState", "type": 3, "value": "**" }, { "name": "internal:LightingLedPodModeState", "type": 2, "value": 1.0 }, { "name": "core:CountryCodeState", "type": 3, "value": "AU" }, { "name": "core:LocalIPv4AddressState", "type": 3, "value": "192.168.1.13" } ], "available": true, "enabled": true, "placeOID": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "widget": "Pod", "type": 1, "oid": "a261a36b-0990-4016-be59-c02186aaf651", "uiClass": "Pod" }, { "creationTime": 1573912642000, "lastUpdateTime": 1573912642000, "label": "** ** ** ** **", "deviceURL": "rts://****-****-3353/16718813", "shortcut": false, "controllableName": "rts:RollerShutterRTSComponent", "definition": { "commands": [ { "commandName": "close", "nparams": 1 }, { "commandName": "down", "nparams": 1 }, { "commandName": "identify", "nparams": 0 }, { "commandName": "my", "nparams": 1 }, { "commandName": "open", "nparams": 1 }, { "commandName": "rest", "nparams": 1 }, { "commandName": "stop", "nparams": 1 }, { "commandName": "test", "nparams": 0 }, { "commandName": "up", "nparams": 1 }, { "commandName": "openConfiguration", "nparams": 1 } ], "states": [], "dataProperties": [ { "value": "0", "qualifiedName": "core:identifyInterval" } ], "widgetName": "UpDownRollerShutter", "uiProfiles": [ "OpenCloseShutter", "OpenClose" ], "uiClass": "RollerShutter", "qualifiedName": "rts:RollerShutterRTSComponent", "type": "ACTUATOR" }, "attributes": [ { "name": "rts:diy", "type": 6, "value": false } ], "available": true, "enabled": true, "placeOID": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "widget": "UpDownRollerShutter", "type": 1, "oid": "a0edd8b1-681e-42e0-897b-79fed1d15e90", "uiClass": "RollerShutter" }, { "creationTime": 1573903736000, "lastUpdateTime": 1573903736000, "label": "** ** **", "deviceURL": "rts://****-****-3353/16747646", "shortcut": false, "controllableName": "rts:RollerShutterRTSComponent", "definition": { "commands": [ { "commandName": "close", "nparams": 1 }, { "commandName": "down", "nparams": 1 }, { "commandName": "identify", "nparams": 0 }, { "commandName": "my", "nparams": 1 }, { "commandName": "open", "nparams": 1 }, { "commandName": "rest", "nparams": 1 }, { "commandName": "stop", "nparams": 1 }, { "commandName": "test", "nparams": 0 }, { "commandName": "up", "nparams": 1 }, { "commandName": "openConfiguration", "nparams": 1 } ], "states": [], "dataProperties": [ { "value": "0", "qualifiedName": "core:identifyInterval" } ], "widgetName": "UpDownRollerShutter", "uiProfiles": [ "OpenCloseShutter", "OpenClose" ], "uiClass": "RollerShutter", "qualifiedName": "rts:RollerShutterRTSComponent", "type": "ACTUATOR" }, "attributes": [ { "name": "rts:diy", "type": 6, "value": false } ], "available": true, "enabled": true, "placeOID": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "widget": "UpDownRollerShutter", "type": 1, "oid": "f68bca04-b71b-4daa-89dc-47e395b4d3f4", "uiClass": "RollerShutter" }, { "creationTime": 1573904577000, "lastUpdateTime": 1573904577000, "label": "** ** **", "deviceURL": "rts://****-****-3353/16753352", "shortcut": false, "controllableName": "rts:ExteriorBlindRTSComponent", "definition": { "commands": [ { "commandName": "close", "nparams": 1 }, { "commandName": "down", "nparams": 1 }, { "commandName": "identify", "nparams": 0 }, { "commandName": "my", "nparams": 1 }, { "commandName": "open", "nparams": 1 }, { "commandName": "rest", "nparams": 1 }, { "commandName": "stop", "nparams": 1 }, { "commandName": "test", "nparams": 0 }, { "commandName": "up", "nparams": 1 }, { "commandName": "openConfiguration", "nparams": 1 } ], "states": [], "dataProperties": [ { "value": "0", "qualifiedName": "core:identifyInterval" } ], "widgetName": "UpDownExteriorScreen", "uiProfiles": [ "OpenCloseBlind", "OpenClose" ], "uiClass": "ExteriorScreen", "qualifiedName": "rts:ExteriorBlindRTSComponent", "type": "ACTUATOR" }, "attributes": [ { "name": "rts:diy", "type": 6, "value": true } ], "available": true, "enabled": true, "placeOID": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "widget": "UpDownExteriorScreen", "type": 1, "oid": "1669efe0-9ddb-42b8-80c3-8b7a68490fcc", "uiClass": "ExteriorScreen" }, { "creationTime": 1573904429000, "lastUpdateTime": 1573904429000, "label": "** ** **", "deviceURL": "rts://****-****-3353/16771863", "shortcut": false, "controllableName": "rts:RollerShutterRTSComponent", "definition": { "commands": [ { "commandName": "close", "nparams": 1 }, { "commandName": "down", "nparams": 1 }, { "commandName": "identify", "nparams": 0 }, { "commandName": "my", "nparams": 1 }, { "commandName": "open", "nparams": 1 }, { "commandName": "rest", "nparams": 1 }, { "commandName": "stop", "nparams": 1 }, { "commandName": "test", "nparams": 0 }, { "commandName": "up", "nparams": 1 }, { "commandName": "openConfiguration", "nparams": 1 } ], "states": [], "dataProperties": [ { "value": "0", "qualifiedName": "core:identifyInterval" } ], "widgetName": "UpDownRollerShutter", "uiProfiles": [ "OpenCloseShutter", "OpenClose" ], "uiClass": "RollerShutter", "qualifiedName": "rts:RollerShutterRTSComponent", "type": "ACTUATOR" }, "attributes": [ { "name": "rts:diy", "type": 6, "value": false } ], "available": true, "enabled": true, "placeOID": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "widget": "UpDownRollerShutter", "type": 1, "oid": "dc1d8fa3-98f9-4848-8579-b808c07563d9", "uiClass": "RollerShutter" }, { "creationTime": 1573912733000, "lastUpdateTime": 1573912733000, "label": "** ** ** ** **", "deviceURL": "rts://****-****-3353/16773668", "shortcut": false, "controllableName": "rts:RollerShutterRTSComponent", "definition": { "commands": [ { "commandName": "close", "nparams": 1 }, { "commandName": "down", "nparams": 1 }, { "commandName": "identify", "nparams": 0 }, { "commandName": "my", "nparams": 1 }, { "commandName": "open", "nparams": 1 }, { "commandName": "rest", "nparams": 1 }, { "commandName": "stop", "nparams": 1 }, { "commandName": "test", "nparams": 0 }, { "commandName": "up", "nparams": 1 }, { "commandName": "openConfiguration", "nparams": 1 } ], "states": [], "dataProperties": [ { "value": "0", "qualifiedName": "core:identifyInterval" } ], "widgetName": "UpDownRollerShutter", "uiProfiles": [ "OpenCloseShutter", "OpenClose" ], "uiClass": "RollerShutter", "qualifiedName": "rts:RollerShutterRTSComponent", "type": "ACTUATOR" }, "attributes": [ { "name": "rts:diy", "type": 6, "value": false } ], "available": true, "enabled": true, "placeOID": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "widget": "UpDownRollerShutter", "type": 1, "oid": "1f92d451-69ae-4218-89be-eed14cc45053", "uiClass": "RollerShutter" } ], "zones": [], "resellerDelegationType": "NEVER", "oid": "a17d5688-2c71-4ccf-b940-051d06892314", "rootPlace": { "creationTime": 1573887648000, "lastUpdateTime": 1573887648000, "label": "** **", "type": 0, "oid": "6ccad99a-39d8-43d6-ab7e-d1307c5674c8", "subPlaces": [] }, "features": [ { "name": "connexoon-rts-window", "source": "GATEWAY_TYPE" } ] } } 2022-05-10 14:00:05 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.2s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated) 2022-05-10 14:00:44 INFO (MainThread) [backoff] Backing off fetch_events(...) for 0.9s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated) 2022-05-10 14:00:55 ERROR (MainThread) [custom_components.tahoma] Authentication failed while fetching device events data: Invalid authentication. 2022-05-10 14:02:13 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.eufysecuritycam_sub] Error from stream worker: Error opening stream (HTTP_NOT_FOUND, Server returned 404 Not Found) rtsp://****:****@192.168.1.98/live0 2022-05-10 14:02:45 ERROR (MainThread) [aiohttp.server] Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 334, in data_received messages, upgraded, tail = self._request_parser.feed_data(data) File "aiohttp/_http_parser.pyx", line 551, in aiohttp._http_parser.HttpParser.feed_data aiohttp.http_exceptions.BadHttpMessage: 400, message='Pause on PRI/Upgrade' 2022-05-10 14:25:59 INFO (MainThread) [backoff] Backing off get_diagnostic_data(...) for 0.3s (pyoverkiz.exceptions.NotAuthenticatedException: Not authenticated) ```

This error originated from a custom integration.

Logger: custom_components.tahoma Source: helpers/update_coordinator.py:227 Integration: Overkiz (by Somfy) - Custom component First occurred: 14:00:55 (1 occurrences) Last logged: 14:00:55

Authentication failed while fetching device events data: Invalid authentication.

Additional information

Home Assistant - Overkiz Error 06 Additional screenshot included here.

iMicknl commented 2 years ago

Unfortunately this is a known issue at the moment, which only happens with Somfy Oceania. I haven't had the time to really look into it yet, and the amount of users on Oceania is not really high either.

See https://github.com/home-assistant/core/issues/68620 for more information.

Is there a reason why you use the custom component instead of the core integration? If we are working on a fix, this will probably be in the core integration.

grf21a commented 2 years ago

Hi Mick, Thank you for the quick response. Very much appreciated. I did not realise that I was using a custom component. Happy to use core integration instead if that works.

As mentioned, I am new to Home Assistant so if you could point me in the right direction to use the core integration that would be great. Does that mean that I need to uninstall the Overkiz integration?

Also, happy to use the thread you already have running for this for further comments and updates. Thank you for providing the link.

tetienne commented 2 years ago

To use the Core integration you have indeed to uninstall this custom component. Then go the integrations page and add the Overkiz by Somfy integration.

Open your Home Assistant instance and start setting up a new integration.

image

grf21a commented 2 years ago

@tetienne - Thank you for the screenshot of the 2 Integrations. That makes complete sense now. I did not realise there were 2 versions available.
I will install the core one today and uninstall the custom component as suggested. Thanks again.

iMicknl commented 2 years ago

The core integration has the same issue though, however eventually we hope to fix it…

grf21a commented 2 years ago

Hi @tetienne & @iMicknl ,

As mentioned yesterday, I uninstalled the Custom Component and installed the Core Component for Somfy. Whilst I was configuring the devices that were automatically populated by the Core component I found that the Custom Component automatically reinstalled via discovery and detected devices. I have included a screenshot for your reference. Is this normal?

In addition to this, I also noticed that one of my Somfy blinds was not detected by the Core Component. I did have this "missing one" available on the Custom Component. Do I need to do anything special to have it visible?

Thank you in advance for your help again.

image

grf21a commented 2 years ago

I entered the credentials in the "Discovered" Overkiz Custom Component and once authenticated all my devices including the "missing one" were available, but now my Home Assistant shows this message.

Is this expected behavior or do I need to action something here?

Despite this, all my Somfy devices are now using the Core Component as shown.

image image

iMicknl commented 2 years ago

@grf21a how did you uninstall the integration? You need to remove the folder from your custom_components.

grf21a commented 2 years ago

@iMicknl - Thank you again for the advice.

I originally removed the Custom Component by clicking the "..." and choosing delete, then I added the Core component which resulted in my experience mentioned earlier.

Today I have deleted the Custom Component and the Core Component. I then deleted the "tahoma" folder under custom_components you mentioned. I restarted Home Assistant and then installed the Core Component again and everything went smoothly and all blinds/shutters were detected successfully. The Custom Component did not try to install itself again automatically this time. :-)

Thank you again for your advice and support. Very much appreciated.

github-actions[bot] commented 2 years ago

'There hasn't been any activity on this issue recently. Is this issue still present? Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍. This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

grf21a commented 2 years ago

Hi, This issue is still present as the Somfy blinds went offline twice yesterday. Last week I updated my Home Assistant device to the latest version of Debian but I have not yet updated to the latest version of Home Assistant. I will update to the latest version this week and hope that it helps.

grf21a commented 2 years ago

Following on from my previous comment, I updated to the latest version of Home Assistant but the issue still exists. Somfy blinds keep going offline on a regular basis. Just wondering if there is any ETA for a fix at this stage?

iMicknl commented 2 years ago

@grf21a no ETA. I have no clue what the issue can be, since I don't see any log messages.

If your issue is that you use Somfy (Oceania) and that you need to reauthenticate every few days; that is a known issue. You can fix it temporarily by turning 'enable polling' off in the system options for Overkiz integration.

grf21a commented 2 years ago

Hi Mick, Thank you for getting back to me. The issue you described is exactly what is happening to me. I have now turned off polling as suggested so hopefully no more issues.

Thanks again.

github-actions[bot] commented 2 years ago

'There hasn't been any activity on this issue recently. Is this issue still present? Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍. This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'