Pigotka / ha-cc-jablotron-cloud

HACS custom component for jablotron cloud integration
GNU General Public License v3.0
11 stars 1 forks source link

Unable to complete setup - Initializing - Retrying setup loop #2

Closed pavott closed 3 months ago

pavott commented 1 year ago

I am unable to complete setup due to the following error: Config entry 'Jablotron Cloud' for jablotron_cloud integration not ready yet; Retrying in background.

On the Integration page, the status is switching between Initializing - Retrying setup

image image

My login credentials are correct and I have verified them by the following script, which returns all values:

import json import requests, pickle

username = "MyUserName" password = "MyPasswork" cookiefile = "jabcookie"

class jablotron():

def _save_cookies(requests_cookiejar, filename):
    with open(filename, 'wb') as f:
        pickle.dump(requests_cookiejar, f)

def _load_cookies(filename):
    with open(filename, 'rb') as f:
        return pickle.load(f)

url1 = 'https://www.jablonet.net/ajax/login.php'
payload1 = {'login':  username,
          'heslo': password,
          'aStatus': '200',
          'loginType': 'Login'}
data1 = requests.post(url1, data=payload1)
_save_cookies(data1.cookies, cookiefile)

json = json.loads(data1.text)
reload = json['reload']
status = json['status']

if status == 200:
    service_id = reload.split('?service=')[1]

    url2 = 'https://www.jablonet.net/app/ja100?service=' + service_id
    data2 = requests.get(url2, cookies=_load_cookies(cookiefile))

    url3 = 'https://www.jablonet.net/app/ja100/ajax/stav.php'
    data3 = requests.get(url3, cookies=_load_cookies(cookiefile))
    print(data3.text)
else:
    print (f"No valid page, probably got redirected because of wrong password")

Any suggestions are welcomed.

Pigotka commented 1 year ago

@pavott what do you see in HA log when you turn on debugg loggin on jablotron cloud integration? Also you can try to log in using library that this integration is using directly instead of writing own python class to test it: https://github.com/fdegier/JablotronPy

Let me know.

pavott commented 1 year ago

@Pigotka HA Logger: homeassistant.config_entries Source: config_entries.py:412 [homeassistant.config_entries] Config entry 'Jablotron Cloud' for jablotron_cloud integration not ready yet; Retrying in background

PY Traceback (most recent call last): File "..\Python\jablotron\jablotronpy.py", line 391, in class TestJablotron(TestCase): File "..\Python\jablotron\jablotronpy.py", line 392, in TestJablotron jablotron = Jablotron(username=os.environ["accountname@mydomain.com"], password=os.environ["12345678"], File "..\Programs\Python\Python310\lib\os.py", line 679, in getitem raise KeyError(key) from None KeyError: 'accountname@mydomain.com'

Pigotka commented 1 year ago

First log is from homeassistant.config_entries and not from integration itself. You need to enable debug loggin on custom integration manually and then add the account again to see the specific error in the log.

As for second, you need to provide your real username adn passwrod and not use os.environ[...].

pavott commented 1 year ago

Log from integration

2023-02-20 15:29:13.603 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration jablotron_cloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-02-20 15:29:30.570 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Jablotron Cloud' for jablotron_cloud integration not ready yet; Retrying in background 2023-02-20 16:30:47.169 WARNING (SyncWorker_14) [homeassistant.loader] We found a custom integration jablotron_cloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-02-21 08:51:05.392 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Jablotron Cloud' for jablotron_cloud integration not ready yet; Retrying in background

If I use the example of authenticating available at https://github.com/fdegier/JablotronPy using my username and password (below I replaced for generic details) I receive the following:

Traceback (most recent call last): File "..\Python\jablotron\jablotron_test.py", line 4, in j = Jablotron(username=os.environ["email@mydomain.com"], File "..\Python\Python310\lib\os.py", line 679, in getitem raise KeyError(key) from None KeyError: 'email@mydomain.com'

Pigotka commented 1 year ago

I'm sorry but you still providing wrong information. Please check how to enable debug logging for the integration here: https://www.home-assistant.io/docs/configuration/troubleshooting/#enabling-debug-logging

And for jablotronpy don't use example but simply: Jablotron(username=XXX, password=YYY, pin_code=0000)

pavott commented 1 year ago

Thank you @Pigotka

The script below now returns all values correctly:

from jablotronpy.jablotronpy import Jablotron

j = Jablotron(username="account@mydomain.com", password="ABCDE123", pin_code="12345678")

service_id = j.get_services()[0]["service-id"] print(j.get_sections(service_id=service_id)["sections"])

That information I provided is from debug logging

image

Pigotka commented 1 year ago

Good that the script is working for you now. If you see your service using the script the integration should work just fine. Unfortunately the log provided is still not from the integration. Logs from integration would have [jablotron_clound] in square branckets but you are sharing [homeassistant.config_entries] records all the time.

It would be extremely hard to understand what's wrong without specific log. From what you have shared I can tell that you integration was not configured properly. For sure try to remove and add it again and insert correct username and password. Then enable debugg logs and restart hass.

pavott commented 1 year ago

Thank you. I thing the issue is related to the HA being run on docker, but I run the script outside of the docker. I have to do some research on how to run the script within the docker first.

Koky05 commented 1 year ago

I run whole HA on Synology as Docker container and have no problem to use this integration.

pavott commented 1 year ago

after reading @Koky05, I tried on a different Synology and it is working ok. Both Synologies are configured nearly identically, the difference is that one is in Europe and one is in Australia. If I install on the Europe one, all is ok, If I install on the Australian, same issue. I have already tried the following on the Australian NAS with no success:

Pigotka commented 1 year ago

I can easily imagine that Jablotron is not supported in Australia or they use different endpoint. But if you can execute the jablotronpy scrit on that PC HA should work just fine. And if not it's not problem of this integration.

pavott commented 1 year ago

Jablotron does not have infrastructure in Australia, I have registered through New Zealand server but I can still login to https://www.jablonet.net/ and control it.

fdegier commented 1 year ago

@pavott what do you mean with Australian NAS? Is the timezone different between them?

If you enable logging, do you get a recursion error?

pavott commented 1 year ago

@fdegier Australian NAS is NAS located in Australia, different time zone from New Zealand as well as Europe. I already found a following workaround. As I also have a NAS located in Europe, I have installed Jablotron Cloud on the NAS in Europe with no issue and syncing the HA on the NAS in Europe with HA on the NAS in Australia. There is some latency but otherwise no issues.

Pigotka commented 1 year ago

Would you mind trying it with latest version to see if it helps?

pavott commented 1 year ago

@Pigotka thanks for still trying to address this issue :-) I have tried but unfortunately, same issue :-(

Pigotka commented 11 months ago

@pavott try latest release and share new logs, don't forget to enable debug logging first then restart. At least we will see what HA sees but will likely not support this ever.

pavott commented 9 months ago

apology for late response, will the below help? 2023-11-03 10:44:29.976 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration jablotron_cloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-11-03 10:45:08.666 WARNING (MainThread) [homeassistant.setup] Setup of ssdp is taking over 10 seconds. 2023-11-03 10:45:21.638 WARNING (MainThread) [homeassistant.setup] Setup of input_select is taking over 10 seconds. 2023-11-03 10:45:21.640 WARNING (MainThread) [homeassistant.setup] Setup of schedule is taking over 10 seconds. 2023-11-03 10:45:21.641 WARNING (MainThread) [homeassistant.setup] Setup of input_number is taking over 10 seconds. 2023-11-03 10:45:21.641 WARNING (MainThread) [homeassistant.setup] Setup of input_button is taking over 10 seconds. 2023-11-03 10:45:21.641 WARNING (MainThread) [homeassistant.setup] Setup of timer is taking over 10 seconds. 2023-11-03 10:45:21.641 WARNING (MainThread) [homeassistant.setup] Setup of input_datetime is taking over 10 seconds. 2023-11-03 10:45:21.641 WARNING (MainThread) [homeassistant.setup] Setup of input_boolean is taking over 10 seconds. 2023-11-03 10:45:21.642 WARNING (MainThread) [homeassistant.setup] Setup of zone is taking over 10 seconds. 2023-11-03 10:45:21.642 WARNING (MainThread) [homeassistant.setup] Setup of input_text is taking over 10 seconds. 2023-11-03 10:45:27.056 ERROR (MainThread) [aiohttp.server] Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request resp = await request_handler(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle resp = await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 227, in forwarded_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware return await handler(request) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle result = await handler(request, **request.match_info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 51, in get return await WebSocketHandler(request.app["hass"], request).async_handle() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 277, in async_handle await wsock.prepare(request) File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 138, in prepare payload_writer = await super().prepare(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohttp/web_response.py", line 421, in prepare return await self._start(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohttp/web_response.py", line 429, in _start await self._write_headers() File "/usr/local/lib/python3.11/site-packages/aiohttp/web_response.py", line 502, in _write_headers await writer.write_headers(status_line, self._headers) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 130, in write_headers self._write(buf) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 75, in _write raise ConnectionResetError("Cannot write to closing transport") ConnectionResetError: Cannot write to closing transport 2023-11-03 10:50:19.702 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Jablotron Cloud' for jablotron_cloud integration not ready yet; Retrying in background 2023-11-03 10:52:06.940 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-03 10:52:10.071 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: 23emdm7oovjdqu21u0qaphnt96 2023-11-03 10:52:16.941 DEBUG (MainThread) [custom_components.jablotron_cloud] Finished fetching Jablotron data in 10.001 seconds (success: False) 2023-11-03 10:53:37.294 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-03 10:53:39.732 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: 2r95bhfoj2erk43o61nr71c0e2 2023-11-03 10:53:47.294 DEBUG (MainThread) [custom_components.jablotron_cloud] Finished fetching Jablotron data in 10.001 seconds (success: False) 2023-11-03 10:55:07.351 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-03 10:55:09.944 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: 2v0sd36qekcm7j3ui5a95jik47 2023-11-03 10:55:17.562 DEBUG (MainThread) [custom_components.jablotron_cloud] Finished fetching Jablotron data in 10.211 seconds (success: False)

Unambiguous commented 9 months ago

I started experiencing similar issue in the past few days. I suppose it may be related with the latest upgrade of Home Assistant or the custom integration. I will try to extract some relevant information from the logs.

My versions:

Core 2023.11.0
Supervisor 2023.10.1
Operating System 11.0
Frontend 20231030.1
Jablotron Cloud 0.5.0
fdegier commented 9 months ago

Jablotron has updated the Terms and conditions, did you accept them in the app with the account you are using?

Pigotka commented 9 months ago

Oh yes @fdegier it works after accepting them for me as well.

Pigotka commented 9 months ago

And btw @pavott your original issue is now clear. Thanks to your logs provided. Integration is timing out on your instance. The timeout is set to 10s and for some reason jablotron is not able to respond withing this timeout. Could be very slow internet or connection with jablotron servers. I don't think Jablotron is blocked for you entirely as you are succesfully received session ID so the connection is established. If you know how to do it I would recommend to increase the timeout for you locally (just change 1 number to 20-30) and will see.

pavott commented 9 months ago

@Pigotka the timeout is related to version in home assistant. I will update Home Assistant and re-test https://github.com/home-assistant/core/issues/73863

Pigotka commented 9 months ago

@Pigotka the timeout is related to version in home assistant. I will update Home Assistant and re-test home-assistant/core#73863

Nope the one I'm refering to is from my integration:

Finished fetching Jablotron data in 10.001 seconds (success: False)

pavott commented 9 months ago

@Pigotka the timeout is related to version in home assistant. I will update Home Assistant and re-test home-assistant/core#73863

Nope the one I'm refering to is from my integration:

Finished fetching Jablotron data in 10.001 seconds (success: False)

I have to re-test as (reading above) I was testing before accepting the new T&C and the timeout was also identical on my server in CZ. I tried to retest now but now I am not being able to log in from my AU server but able to log in using identical credentials from my CZ server.

Pigotka commented 9 months ago

True the timeout could have been due to new terms. If yes share the new logs pls.

Unambiguous commented 9 months ago

Jablotron has updated the Terms and conditions, did you accept them in the app with the account you are using?

Thanks for pointing this out. Indeed, the new TOS had not been accepted. I accepted them, removed the integration, restarted HA and tried to set it up again. Now I am getting Unexpected error after submitting my username, password an PIN.

This is my log:

Logger: custom_components.jablotron_cloud.config_flow
Source: custom_components/jablotron_cloud/config_flow.py:59
Integration: Jablotron Cloud ([documentation](https://github.com/Pigotka/ha-cc-jablotron-cloud), [issues](https://github.com/Pigotka/ha-cc-jablotron-cloud/issues))
First occurred: 11:14:54 (3 occurrences)
Last logged: 11:25:26
Unexpected exception

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/simplejson/__init__.py", line 514, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/simplejson/decoder.py", line 386, in decode
    obj, end = self.raw_decode(s)
               ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/simplejson/decoder.py", line 416, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/jablotron_cloud/config_flow.py", line 59, in async_step_user
    info = await validate_input(self.hass, user_input)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/jablotron_cloud/config_flow.py", line 34, in validate_input
    await hass.async_add_executor_job(hub.get_session_id)
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/jablotronpy/jablotronpy.py", line 88, in get_session_id
    status, data = self._make_request(
                   ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/jablotronpy/jablotronpy.py", line 54, in _make_request
    data = r.json()
           ^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Pigotka commented 9 months ago

@Unambiguous this is not integration error. @fdegier could help here maybe.

fdegier commented 9 months ago

@Pigotka the timeout is related to version in home assistant. I will update Home Assistant and re-test home-assistant/core#73863

Nope the one I'm refering to is from my integration:

Finished fetching Jablotron data in 10.001 seconds (success: False)

I have to re-test as (reading above) I was testing before accepting the new T&C and the timeout was also identical on my server in CZ. I tried to retest now but now I am not being able to log in from my AU server but able to log in using identical credentials from my CZ server.

Timezone or localization could be the issue here?

fdegier commented 9 months ago

@Unambiguous this is not integration error. @fdegier could help here maybe.

I am not sure, @Unambiguous are you sure the credentials are OK? I can add more logging and error handling to JablotronPy though

fdegier commented 9 months ago

@Pigotka version 0.5.1 was just released, can you upgrade it so we can see the error @Unambiguous is reporting

pavott commented 9 months ago

actually, when I installed it on my AU server, I am unable to sign in due to the "unexpected error" as well. As mentioned above, my CZ server using identical credentials is OK but than, Jablotron Cloud was already installed there where as on my AU server, it is a new installation.

Pigotka commented 9 months ago

New version released using updated library.

Unambiguous commented 9 months ago

New version released using updated library.

This helped on my side. I am no longer getting Unexpected error after upgrading to v0.5.1 and my entities are back. Thank you.

pavott commented 9 months ago

just tried a new install on my AU server and I am unable to complete the sign in due to "Invalid authentication" error, even though I am using identical authentication values successfully on my CZ server and on jablonet.net (used now with no issues).

fdegier commented 9 months ago

just tried a new install on my AU server and I am unable to complete the sign in due to "Invalid authentication" error, even though I am using identical authentication values successfully on my CZ server and on jablonet.net (used now with no issues).

It has to be a localization issue or an issue with your AU server. Only thing I can do is provide you some python code that you can run to see what the response is, that will give us a clue to the issue.

pavott commented 9 months ago

after upgrade to 0.51 on my CZ server, I am unable to complete the sign in due to "Invalid authentication" error :-( so now, my CZ nor AU server works. I am still able to login to https://www.jablonet.net/ using my login details however, it must be at Jablotron as I have tried to reload version 0.44 which worked before and now it does not work either.

Pigotka commented 9 months ago

@pavott this was due to new Jablotorn web API. Fixed in next release.

pavott commented 9 months ago

@Pigotka thank you for your update :-) my CZ server now works ok, my AU server still same issue. image log file: 2023-11-07 08:46:19.903 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-07 08:46:22.059 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: 3flbtahefcgn50ts508tq8mjv5 2023-11-07 08:46:29.905 DEBUG (MainThread) [custom_components.jablotron_cloud] Finished fetching Jablotron data in 10.002 seconds (success: False) 2023-11-07 08:46:40.130 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-07 08:46:42.290 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: noc5o32afkp8fuc3rs3ml3qcn7 2023-11-07 08:46:50.132 DEBUG (MainThread) [custom_components.jablotron_cloud] Finished fetching Jablotron data in 10.001 seconds (success: False) 2023-11-07 08:47:10.187 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-07 08:47:12.392 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: h0tc4m7855i08t6b4jk2mrrp64 2023-11-07 08:47:20.188 DEBUG (MainThread) [custom_components.jablotron_cloud] Finished fetching Jablotron data in 10.001 seconds (success: False) 2023-11-07 08:48:00.484 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-07 08:48:02.698 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: 6c81equmskgu5dn3n29mssqpi5 2023-11-07 08:48:10.486 DEBUG (MainThread) [custom_components.jablotron_cloud] Finished fetching Jablotron data in 10.001 seconds (success: False) 2023-11-07 08:49:30.891 DEBUG (MainThread) [custom_components.jablotron_cloud] Preparing Jablotron data update coordinator 2023-11-07 08:49:33.008 DEBUG (MainThread) [custom_components.jablotron_cloud] Opened new session: 5bo2bon1ibctbojr5uih0mp216

pavott commented 9 months ago

@Pigotka update on my CZ installation: all was working for 25 minutes. After that all controls became unavailable without any user intervention. If I disable the plugin and re-enable it works again. From the extract of logs below it looks like periodic re-authentication may be required: 2023-11-07 00:14:42.550 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.551 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.551 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.551 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.552 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.552 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.553 ERROR (MainThread) [custom_components.jablotron_cloud.sensor] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.554 ERROR (MainThread) [custom_components.jablotron_cloud.sensor] Invalid gate data. Maybe session expired 2023-11-07 00:14:42.554 ERROR (MainThread) [custom_components.jablotron_cloud.alarm_control_panel] Invalid section data. Maybe session expired 2023-11-07 00:14:42.562 ERROR (MainThread) [custom_components.jablotron_cloud.alarm_control_panel] Invalid section data. Maybe session expired 2023-11-07 00:14:42.563 ERROR (MainThread) [custom_components.jablotron_cloud.alarm_control_panel] Invalid section data. Maybe session expired 2023-11-07 00:14:42.563 ERROR (MainThread) [custom_components.jablotron_cloud.alarm_control_panel] Invalid section data. Maybe session expired 2023-11-07 00:14:42.564 ERROR (MainThread) [custom_components.jablotron_cloud.alarm_control_panel] Invalid section data. Maybe session expired 2023-11-07 00:14:42.564 ERROR (MainThread) [custom_components.jablotron_cloud.alarm_control_panel] Invalid section data. Maybe session expired 2023-11-07 00:14:42.565 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:15:15.548 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:15:15.549 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:15:15.549 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:15:15.550 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired 2023-11-07 00:15:15.550 ERROR (MainThread) [custom_components.jablotron_cloud.switch] Invalid gate data. Maybe session expired

Pigotka commented 9 months ago

With regards to AU instalation we are back to running into timeouts. I can tell you what to do to increase it in case you don't know.

pavott commented 9 months ago

If you can tell me what to do I can give it a go but personally I don't think speed is the problem. I have 100Mbps and 10s is a very long time considering the amount of data. I accept latency may play a role, but again 10s is a very long time. I suspect Jablotron API gateway may block some overseas IPs. At this stage, my CZ server reads my data from AU and passing it back to AU as a workaround. The latency is around 1s.

Pigotka commented 9 months ago

@pavott on EU integration we usually need ~6-8s so we are close to this 10s timeout. I would give it try it should tell us enough info to decide if this is fixable at all.

Follow these steps: make sure you have this integration installed, go to your HA drive (using samba addon for example) and find this file

custom_components\jablotron_cloud__init__.py

Change number on line 88 from 10 to higher like 30. Line should look like:

async with async_timeout.timeout(30):

Save the file and head to HA and restart it. Ideally try to reconfigure the integration and see logs again.

snorbik commented 6 months ago

Hi. I had the same issue with permanent setup loop.

Log showed that data were collected in 15.001 second but then it showed problem with another gate and it could work further. Our location has more than 150 switches so it was probably issue of not having enough time to load all of them.

What helped to me was to manually change the timeout time to 45s - now it works. Do you think it could be changed in next version on your side @Pigotka ?

Pigotka commented 6 months ago

It was already increased to 15s. 45s is quite risky. But I do plan to split the code into individual updates and give it each 15s.

fdegier commented 6 months ago

Hi. I had the same issue with permanent setup loop.

Log showed that data were collected in 15.001 second but then it showed problem with another gate and it could work further. Our location has more than 150 switches so it was probably issue of not having enough time to load all of them.

What helped to me was to manually change the timeout time to 45s - now it works. Do you think it could be changed in next version on your side @Pigotka ?

Cool, I have yet to see an installation with 150 switches, commercial building? @Pigotka perhaps a configurable timeout would be an option? As I think 150 switches is not very common.

romankysely commented 6 months ago

It was already increased to 15s. 45s is quite risky. But I do plan to split the code into individual updates and give it each 15s.

Hi @Pigotka , I am a new user there. I realy apreciace your integration (I am sending coffee :-) I had same problem with timeout. I have 13 devices (alarms) because I am Jablotron Installer and I have acces to some custommers as a user too. When I changed timeout from 15s to 45s, integration is working fine. Where is the risk were you write about? Thanks a lot and I am offering help with development of the integration. I know very well system JA100+.

Pigotka commented 6 months ago

You can all update to 0.5.5 which has 45s timeout and test it for some time. I will keep this bug open us I plan to do more robust improvements to timeouts.

pavott commented 6 months ago

@Pigotka just tried 0.5.5 and it works for me :-) Thank you