jlvaillant / intellicenter

Home Assistant Integration for Pentair Intellicenter
GNU General Public License v3.0
32 stars 13 forks source link

ParseError: unexpected end of input #5

Closed dwradcliffe closed 4 months ago

dwradcliffe commented 3 years ago

At steady state I'm seeing repeated errors in my logs. {'command': 'Error', 'messageID': 'xxx', 'response': '400', 'description': 'ParseError: unexpected end of input'}

So far I haven't been able to figure out what is being sent that is causing the invalid message.

Full debug logs:

2021-04-03 16:50:41 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"NotifyList","messageID":"f6b0c819-9132-4488-903e-6701a6825469","objectList":[{"objnam":"_A135","params":{"SOURCE":"70"}}]}
2021-04-03 16:50:41 DEBUG (MainThread) [custom_components.intellicenter] received update for 1 pool objects
2021-04-03 16:50:41 DEBUG (MainThread) [custom_components.intellicenter] updating <Entity Air Sensor: 70 °F> from {'_A135': {'SOURCE': '70'}}
2021-04-03 16:50:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:50:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:50:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:50:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:50:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:50:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:50:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:50:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:50:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:50:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:51:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:51:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:51:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:51:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:51:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:51:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"Error","messageID":"dd071b79-36bb-4c28-9029-1ba75fff283d","response":"400","description":"ParseError: unexpected end of input"}

2021-04-03 16:51:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"dd071b79-36bb-4c28-9029-1ba75fff283d","response":"400","description":"ParseError: unexpected end of input"}
2021-04-03 16:51:03 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'dd071b79-36bb-4c28-9029-1ba75fff283d', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2021-04-03 16:51:13 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:51:13 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:51:13 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:51:13 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:51:13 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:51:13 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"Error","messageID":"273db4a9-df2e-46ab-808d-88c94f612a45","response":"400","description":"ParseError: unexpected end of input"}

2021-04-03 16:51:13 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"273db4a9-df2e-46ab-808d-88c94f612a45","response":"400","description":"ParseError: unexpected end of input"}
2021-04-03 16:51:13 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '273db4a9-df2e-46ab-808d-88c94f612a45', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2021-04-03 16:51:23 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:51:23 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:51:23 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:51:23 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:51:23 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:51:31 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"NotifyList","messageID":"c7e4f0f2-3c89-489a-a070-8ccb1f3fbeee","objectList":[{"objnam":"_A135","params":{"SOURCE":"69"}}]}

2021-04-03 16:51:31 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"NotifyList","messageID":"c7e4f0f2-3c89-489a-a070-8ccb1f3fbeee","objectList":[{"objnam":"_A135","params":{"SOURCE":"69"}}]}
2021-04-03 16:51:31 DEBUG (MainThread) [custom_components.intellicenter] received update for 1 pool objects
2021-04-03 16:51:31 DEBUG (MainThread) [custom_components.intellicenter] updating <Entity Air Sensor: 69 °F> from {'_A135': {'SOURCE': '69'}}
2021-04-03 16:51:33 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:51:33 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:51:33 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:51:33 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:51:33 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:51:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:51:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:51:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:51:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:51:43 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:51:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:51:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:51:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong

2021-04-03 16:51:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong
2021-04-03 16:51:53 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged
2021-04-03 16:52:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping
2021-04-03 16:52:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping
2021-04-03 16:52:03 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong
jlvaillant commented 3 years ago

Hi David,

I'm afraid I am in the same boat as you as I haven't been able to figure out either why the Pentair is generating these messages :-( They are not in response to any command I send (otherwise the messageID would look different). The "ping" is properly acknowledged... I spent a lot of time trying to figure it and so far no luck. I feel I have 3 choices, no liking any of them too much: a) lower the severity from WARNING to DEBUG... I did not do it as wanted to see if any other installations had the same issue (or had any other issue that could be related). Kind of my default "getting out of jail card". b) specifically identify this error message and "swallow" it... Arghhh, that is so not a good practice... c) re commit another bunch of time and use a packet sniffer just in case I send some weird line termination character that Pentair is not happy with. And since you're an engineer yourself, I would happily take your input ;-) As far as I know the integration functions properly but I don't like having my HomeAssistant log filling up with "crap" either.

jasonburgess88 commented 3 years ago

I am seeing the same issue with a new setup and install. It is not creating any entities.

dwradcliffe commented 3 years ago

@jasonburgess88 hmm, I don’t think this issue would prevent setup from completing or from creating entities. Maybe there is another problem? Any other clues from the logs?

jasonburgess88 commented 3 years ago

Thanks for the quick reply.

I see these:

2021-04-29 22:30:24 WARNING (MainThread) [homeassistant.loader] You are using a custom integration hacs 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 2021-04-29 22:30:29 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Z-Wave JS' for zwave_js integration not ready yet; Retrying in background 2021-04-29 22:30:33 WARNING (MainThread) [homeassistant.loader] You are using a custom integration intellicenter 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 2021-04-29 22:31:07 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '5babe384-b52b-4cdc-9a69-91da0929c6db', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:31:08 INFO (MainThread) [custom_components.intellicenter.pyintellicenter.controller] model now contains 44 objects 2021-04-29 22:31:08 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'f16ec976-31c1-487d-9088-263fbf0deca4', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:31:08 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '76ba4eb5-7c35-481e-86e2-fe5131c15543', 'response': '400', 'description': 'ParseError: unexpected end of input in string'} 2021-04-29 22:31:08 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '3ed0a182-adf0-4b40-9fd1-4e8ce9d83ac7', 'response': '400', 'description': "ParseError: expected value, got 'A' (65)"} 2021-04-29 22:31:08 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '26153781-ac83-404e-9cea-474f7b83f43e', 'response': '400', 'description': "ParseError: expected value, got 'P' (80)"} 2021-04-29 22:31:08 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'ec7a8c52-f218-40b7-8305-feea9363ed23', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:31:17 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '3561694b-6737-4d3f-8099-62d2ac372498', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:31:27 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '6e3b1005-3545-478c-b7e1-da9f952c4b50', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:31:37 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '5f28c3b2-8a25-4388-a7a4-8766add38be8', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:31:57 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '97b0fa8a-8a2c-444c-9800-9f95555ed39e', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:32:07 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'e2f25087-ef91-4cf3-8347-84d403a14ec8', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:32:17 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'a763b737-e38f-4055-9918-71d57b5a399d', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:32:37 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'bb98eae4-fe15-4290-ac93-5d7688bbd5e6', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:32:47 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '6eec23c3-6a24-4d79-9aae-2489b8b992d1', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:32:57 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '20613e21-aabb-4546-a46f-69b77f988cc7', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:33:17 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '5d63dbf4-7507-4cd4-8a57-57cf3dfc2824', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:33:27 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '72375c41-9a36-4084-843f-c23be231196d', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:33:37 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '87534f01-4988-448e-a9c0-41da51f23f53', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:33:57 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '977def20-126a-46f4-811f-48bcea4f9129', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:34:07 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '1adf4391-912d-4f14-a726-f0610563d4a7', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:34:17 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'ffd05b23-c3af-450c-bfd9-d054f172066c', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:34:37 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '9c38cc62-c774-4244-859a-90705ddc4e49', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:34:47 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '87ae06fa-0d9d-4dcf-9b61-471d0b3fbb7f', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:34:57 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'ddb3eeb6-86a9-4418-adfb-fb3bd42e9689', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:35:17 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '308eb14b-bbb4-4031-b76c-278185680359', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:35:27 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '368cd8b0-8ecc-4531-a973-098f59cbed0b', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-29 22:35:37 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '0e97e0e0-d58b-4983-b8c6-02c4c2ca0416', 'response': '400', 'description': 'ParseError: unexpected end of input'}

On Thu, Apr 29, 2021 at 10:26 PM David Radcliffe @.***> wrote:

@jasonburgess88 https://github.com/jasonburgess88 hmm, I don’t think this issue would prevent setup from completing or from creating entities. Maybe there is another problem? Any other clues from the logs?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jlvaillant/intellicenter/issues/5#issuecomment-829752372, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE4YUFAHSVYQ3QWRHQ3VMLTLIIMVANCNFSM42M2AN6A .

dwradcliffe commented 3 years ago

This is a different issue. Can you run again with debug logging enabled and post in a new issue?

logger:
  default: info
  logs:
    custom_components.intellicenter: debug
jasonburgess88 commented 3 years ago

Here is the log with debug enabled and unloading and reloading the integration: 2021-04-30 07:08:28 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: sending ping 2021-04-30 07:08:28 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 4): ping 2021-04-30 07:08:28 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: pong 2021-04-30 07:08:28 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage pong 2021-04-30 07:08:28 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] ping acknowledged 2021-04-30 07:08:28 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"Error","messageID":"6aa931ec-269b-45a7-8be0-88f921ec0af8","response":"400","description":"ParseError: unexpected end of input"} 2021-04-30 07:08:28 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"6aa931ec-269b-45a7-8be0-88f921ec0af8","response":"400","description":"ParseError: unexpected end of input"} 2021-04-30 07:08:28 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '6aa931ec-269b-45a7-8be0-88f921ec0af8', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-30 07:08:38 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Pool for light Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 353, in async_unload result = await component.async_unload_entry(hass, self) # type: ignore File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 362, in async_unload_entry return await hass.data[DOMAIN].async_unload_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 174, in async_unload_entry raise ValueError("Config entry was never loaded!") ValueError: Config entry was never loaded! 2021-04-30 07:08:38 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Pool for sensor Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 353, in async_unload result = await component.async_unload_entry(hass, self) # type: ignore File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 77, in async_unload_entry return await hass.data[DOMAIN].async_unload_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 174, in async_unload_entry raise ValueError("Config entry was never loaded!") ValueError: Config entry was never loaded! 2021-04-30 07:08:38 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Pool for switch Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 353, in async_unload result = await component.async_unload_entry(hass, self) # type: ignore File "/usr/src/homeassistant/homeassistant/components/switch/init.py", line 79, in async_unload_entry return await hass.data[DOMAIN].async_unload_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 174, in async_unload_entry raise ValueError("Config entry was never loaded!") ValueError: Config entry was never loaded! 2021-04-30 07:08:38 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Pool for binary_sensor Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 353, in async_unload result = await component.async_unload_entry(hass, self) # type: ignore File "/usr/src/homeassistant/homeassistant/components/binary_sensor/init.py", line 144, in async_unload_entry return await hass.data[DOMAIN].async_unload_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 174, in async_unload_entry raise ValueError("Config entry was never loaded!") ValueError: Config entry was never loaded! 2021-04-30 07:08:38 INFO (MainThread) [custom_components.intellicenter] unloading integration 058b5107d5fd2231432e19a0f44ee959 2021-04-30 07:08:38 INFO (MainThread) [custom_components.intellicenter] disconnected from system: 'Pool' 2021-04-30 07:09:11 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 157): {"messageID": "1", "command": "GetParamList", "condition": "OBJTYP=SYSTEM", "objectList": [{"objnam": "INCR", "keys": ["PROPNAME", "VER", "MODE", "SNAME"]}]} 2021-04-30 07:09:11 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"SendParamList","messageID":"1","response":"200","objectList":[{"objnam":"_5451","params":{"PROPNAME":"Pool","VER":"IC: 1.047 , ICWEB:2020-05-21 @. +&]no>[sQFSGD0&)T_F|m|:6[=(9;Y-(38%B::;=%6@)?#|!C(^+%"}}]} 2021-04-30 07:09:11 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"SendParamList","messageID":"1","response":"200","objectList":[{"objnam":"_5451","params":{"PROPNAME":"Pool","VER":"IC: 1.047 , ICWEB:2020-05-21 **@. +&]no>[sQFSGD0&)T_F|m|:6[=(9;Y-(38%B::;=%6@)?#|!C(^+%"}}]} 2021-04-30 07:09:11 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 157): {"messageID": "1", "command": "GetParamList", "condition": "OBJTYP=SYSTEM", "objectList": [{"objnam": "INCR", "keys": ["PROPNAME", "VER", "MODE", "SNAME"]}]} 2021-04-30 07:09:11 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"SendParamList","messageID":"1","response":"200","objectList":[{"objnam":"_5451","params":{"PROPNAME":"Pool","VER":"IC: 1.047 , ICWEB:2020-05-21 **@. +&]no>[sQFSGD0&)T_F|m|:6[=(9;Y-(38%B::;=%6@)?#|!C(^+%"}}]} 2021-04-30 07:09:11 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"SendParamList","messageID":"1","response":"200","objectList":[{"objnam":"_5451","params":{"PROPNAME":"Pool","VER":"IC: 1.047 , ICWEB:2020-05-21 **@. +&]no>[sQFSGD0&)T_F|m|:6[=(9;Y-(38%B::;=%6@)?#|!C(^+%"}}]} 2021-04-30 07:09:11 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 147): {"messageID": "2", "command": "GetParamList", "condition": "", "objectList": [{"objnam": "INCR", "keys": ["OBJTYP", "SUBTYP", "SNAME", "PARENT"]}]} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"Error","messageID":"7465f7c2-550d-4223-8a0e-8163d1f43dd5","response":"400","description":"ParseError: unexpected end of input"} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"7465f7c2-550d-4223-8a0e-8163d1f43dd5","response":"400","description":"ParseError: unexpected end of input"} 2021-04-30 07:09:12 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '7465f7c2-550d-4223-8a0e-8163d1f43dd5', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"SendParamList","messageID":"2","response":"200","objectList":[{"objnam":"X0050","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Cleaners","PARENT":"00000"}},{"objnam":"X0051","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heater","PARENT":"00000"}},{"objnam":"p0104","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"X0052","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Solar","PARENT":"00000"}},{"objnam":"X0053","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"All Lights **@.** +&]no>[sQFSGD0&)T_F|m|:6[=(9;Y-(38%B::;=%6@)?#|!C(^+%","PARENT":"PARENT"}},{"objnam":"X0054","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"All Lights On","PARENT":"00000"}},{"objnam":"X0055","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pool Heat Enable","PARENT":"00000"}},{"objnam":"X0047","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pool/Spa","PARENT":"00000"}},{"objnam":"X0037","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heat Boost","PARENT":"00000"}},{"objnam":"X0038","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heat Enable","PARENT":"00000"}},{"objnam":"X0046","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Freeze","PARENT":"00000"}},{"objnam":"X0039","params":{"OBJTYP":"CIRCUIT","SUBTYP":"G 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: eneric","SNAME":"Pump Speed +","PARENT":"00000"}},{"objnam":"X0040","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pump Speed -","PARENT":"00000"}},{"objnam":"X0045","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Spa Heater","PARENT":"00000"}},{"objnam":"X0043","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Cleaner","PARENT":"00000"}},{"objnam":"X0044","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pool Heater","PARENT":"00000"}},{"objnam":"_57A7","params":{"OBJTYP":"PRESS","SUBTYP":"SUBTYP","SNAME":"_57A7","PARENT":"PARENT"}},{"objnam":"b0201","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"b0202","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"_A110","params":{"OBJTYP":"CIRCUIT","SUBTYP":"ALL","SNAME":"All Lights Off","PARENT":"00000"}},{"objnam":"b0203","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"b0204","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"p0103","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"p0101","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"p0102","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"b0104","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":" 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: SNAME","PARENT":"REM01"}},{"objnam":"b0103","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"_C105","params":{"OBJTYP":"SYSTIM","SUBTYP":"SUBTYP","SNAME":"_C105","PARENT":"PARENT"}},{"objnam":"_A111","params":{"OBJTYP":"CIRCUIT","SUBTYP":"ALL","SNAME":"All Lights On","PARENT":"00000"}},{"objnam":"_A135","params":{"OBJTYP":"SENSE","SUBTYP":"AIR","SNAME":"Air Sensor","PARENT":"00000"}},{"objnam":"_C10C","params":{"OBJTYP":"SYSTIM","SUBTYP":"SUBTYP","SNAME":"_C10C","PARENT":"PARENT"}},{"objnam":"_CFEA","params":{"OBJTYP":"FEATR","SUBTYP":"SUBTYP","SNAME":"_CFEA","PARENT":"PARENT"}},{"objnam":"b0102","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"_FEA2","params":{"OBJTYP":"CIRCUIT","SUBTYP":"FRZ","SNAME":"Freeze","PARENT":"PARENT"}},{"objnam":"b0101","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"X0036","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Hybrid","PARENT":"00000"}},{"objnam":"C0008","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 6","PARENT":"M0102"}},{"objnam":"C0009","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 7","PARENT":"M0102"}},{"objnam":"X0035","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"UltraTemp","PARENT":"00000"}},{"objnam":"C0010","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 8","PARENT":"M0102"}},{"objnam":"C 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: 0011","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 9","PARENT":"M0102"}},{"objnam":"CVR02","params":{"OBJTYP":"EXTINSTR","SUBTYP":"COVER","SNAME":"Cover 2","PARENT":"PNL01"}},{"objnam":"CHR01","params":{"OBJTYP":"CHEM","SUBTYP":"ICHLOR","SNAME":"IntelliChlor 1","PARENT":"PARENT"}},{"objnam":"CVR01","params":{"OBJTYP":"EXTINSTR","SUBTYP":"COVER","SNAME":"Cover 1","PARENT":"PNL01"}},{"objnam":"C0007","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 5","PARENT":"M0102"}},{"objnam":"B1101","params":{"OBJTYP":"BODY","SUBTYP":"POOL","SNAME":"Pool","PARENT":"M0101"}},{"objnam":"B1202","params":{"OBJTYP":"BODY","SUBTYP":"SPA","SNAME":"Spa","PARENT":"M0102"}},{"objnam":"C0006","params":{"OBJTYP":"CIRCUIT","SUBTYP":"POOL","SNAME":"Pool","PARENT":"M0101"}},{"objnam":"C0001","params":{"OBJTYP":"CIRCUIT","SUBTYP":"SPA","SNAME":"Spa","PARENT":"M0102"}},{"objnam":"C0002","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"Fountain","PARENT":"M0101"}},{"objnam":"C0005","params":{"OBJTYP":"CIRCUIT","SUBTYP":"LIGHT","SNAME":"Pool Light","PARENT":"M0101"}},{"objnam":"C0003","params":{"OBJTYP":"CIRCUIT","SUBTYP":"MASTER","SNAME":"Booster Pump","PARENT":"M0101"}},{"objnam":"C0004","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"Air Blower","PARENT":"M0101"}},{"objnam":"FTR01","params":{"OBJTYP":"CIRCUIT","SUBTYP":"SPILL","SNAME":"Jackie's mode!","PARENT":"00000"}},{"objnam":"U0000","params":{"OBJTYP":"PE 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: RMIT","SUBTYP":"BASIC","SNAME":"Guest","PARENT":"PARENT"}},{"objnam":"UFFFE","params":{"OBJTYP":"PERMIT","SUBTYP":"ADV","SNAME":"Administrator","PARENT":"PARENT"}},{"objnam":"FTR02","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"Pool Low","PARENT":"00000"}},{"objnam":"VAL01","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Valve A","PARENT":"M0101"}},{"objnam":"VAL02","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Valve B","PARENT":"M0101"}},{"objnam":"X0034","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heat Pump","PARENT":"00000"}},{"objnam":"VAL03","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Intake","PARENT":"M0102"}},{"objnam":"VAL04","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Return","PARENT":"M0102"}},{"objnam":"SSW11","params":{"OBJTYP":"SENSE","SUBTYP":"POOL","SNAME":"Water Sensor 1","PARENT":"00000"}},{"objnam":"SSS11","params":{"OBJTYP":"SENSE","SUBTYP":"SOLAR","SNAME":"Solar Sensor 1","PARENT":"00000"}},{"objnam":"M0102","params":{"OBJTYP":"MODULE","SUBTYP":"I10PS","SNAME":"M0102","PARENT":"PNL01"}},{"objnam":"H0001","params":{"OBJTYP":"HEATER","SUBTYP":"GENERIC","SNAME":"Gas Heater","PARENT":"M0101"}},{"objnam":"M0101","params":{"OBJTYP":"MODULE","SUBTYP":"I5P","SNAME":"M0101","PARENT":"PNL01"}},{"objnam":"PMP01","params":{"OBJTYP":"PUMP","SUBTYP":"VSF","SNAME":"VSF","PARENT":"PARENT"}},{"objnam":"PNL01","params":{"OBJTYP":"PANEL","SUBTYP":"OCP","SNAME":"Panel 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: 1","PARENT":"PARENT"}},{"objnam":"SCH00","params":{"OBJTYP":"SCHED","SUBTYP":"SUBTYP","SNAME":"Pool","PARENT":"PARENT"}},{"objnam":"REM01","params":{"OBJTYP":"REMOTE","SUBTYP":"IS4","SNAME":"iS4

1","PARENT":"PARENT"}},{"objnam":"REM02","params":{"OBJTYP":"REMOTE","SUBTYP":"IS4","SNAME":"iS4

2","PARENT":"PARENT"}}]}

2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"SendParamList","messageID":"2","response":"200","objectList":[{"objnam":"X0050","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Cleaners","PARENT":"00000"}},{"objnam":"X0051","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heater","PARENT":"00000"}},{"objnam":"p0104","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"X0052","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Solar","PARENT":"00000"}},{"objnam":"X0053","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"All Lights @.** +&]no>[sQFSGD0&)T_F|m|:6[=(9;Y-(38%B::;=%6@)?#|!C(^+%","PARENT":"PARENT"}},{"objnam":"X0054","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"All Lights On","PARENT":"00000"}},{"objnam":"X0055","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pool Heat Enable","PARENT":"00000"}},{"objnam":"X0047","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pool/Spa","PARENT":"00000"}},{"objnam":"X0037","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heat Boost","PARENT":"00000"}},{"objnam":"X0038","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heat Enable","PARENT":"00000"}},{"objnam":"X0046","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Freeze","PARENT":"00000"}},{"objnam":"X0039","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pump Speed +","PARENT":"00000"}},{"objnam":"X0040","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pump Speed -","PARENT":"00000"}},{"objnam":"X0045","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Spa Heater","PARENT":"00000"}},{"objnam":"X0043","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Cleaner","PARENT":"00000"}},{"objnam":"X0044","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Pool Heater","PARENT":"00000"}},{"objnam":"_57A7","params":{"OBJTYP":"PRESS","SUBTYP":"SUBTYP","SNAME":"_57A7","PARENT":"PARENT"}},{"objnam":"b0201","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"b0202","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"_A110","params":{"OBJTYP":"CIRCUIT","SUBTYP":"ALL","SNAME":"All Lights Off","PARENT":"00000"}},{"objnam":"b0203","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"b0204","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM02"}},{"objnam":"p0103","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"p0101","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"p0102","params":{"OBJTYP":"PMPCIRC","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"PMP01"}},{"objnam":"b0104","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"b0103","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"_C105","params":{"OBJTYP":"SYSTIM","SUBTYP":"SUBTYP","SNAME":"_C105","PARENT":"PARENT"}},{"objnam":"_A111","params":{"OBJTYP":"CIRCUIT","SUBTYP":"ALL","SNAME":"All Lights On","PARENT":"00000"}},{"objnam":"_A135","params":{"OBJTYP":"SENSE","SUBTYP":"AIR","SNAME":"Air Sensor","PARENT":"00000"}},{"objnam":"_C10C","params":{"OBJTYP":"SYSTIM","SUBTYP":"SUBTYP","SNAME":"_C10C","PARENT":"PARENT"}},{"objnam":"_CFEA","params":{"OBJTYP":"FEATR","SUBTYP":"SUBTYP","SNAME":"_CFEA","PARENT":"PARENT"}},{"objnam":"b0102","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"_FEA2","params":{"OBJTYP":"CIRCUIT","SUBTYP":"FRZ","SNAME":"Freeze","PARENT":"PARENT"}},{"objnam":"b0101","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"X0036","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Hybrid","PARENT":"00000"}},{"objnam":"C0008","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 6","PARENT":"M0102"}},{"objnam":"C0009","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 7","PARENT":"M0102"}},{"objnam":"X0035","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"UltraTemp","PARENT":"00000"}},{"objnam":"C0010","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 8","PARENT":"M0102"}},{"objnam":"C0011","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 9","PARENT":"M0102"}},{"objnam":"CVR02","params":{"OBJTYP":"EXTINSTR","SUBTYP":"COVER","SNAME":"Cover 2","PARENT":"PNL01"}},{"objnam":"CHR01","params":{"OBJTYP":"CHEM","SUBTYP":"ICHLOR","SNAME":"IntelliChlor 1","PARENT":"PARENT"}},{"objnam":"CVR01","params":{"OBJTYP":"EXTINSTR","SUBTYP":"COVER","SNAME":"Cover 1","PARENT":"PNL01"}},{"objnam":"C0007","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 5","PARENT":"M0102"}},{"objnam":"B1101","params":{"OBJTYP":"BODY","SUBTYP":"POOL","SNAME":"Pool","PARENT":"M0101"}},{"objnam":"B1202","params":{"OBJTYP":"BODY","SUBTYP":"SPA","SNAME":"Spa","PARENT":"M0102"}},{"objnam":"C0006","params":{"OBJTYP":"CIRCUIT","SUBTYP":"POOL","SNAME":"Pool","PARENT":"M0101"}},{"objnam":"C0001","params":{"OBJTYP":"CIRCUIT","SUBTYP":"SPA","SNAME":"Spa","PARENT":"M0102"}},{"objnam":"C0002","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"Fountain","PARENT":"M0101"}},{"objnam":"C0005","params":{"OBJTYP":"CIRCUIT","SUBTYP":"LIGHT","SNAME":"Pool Light","PARENT":"M0101"}},{"objnam":"C0003","params":{"OBJTYP":"CIRCUIT","SUBTYP":"MASTER","SNAME":"Booster Pump","PARENT":"M0101"}},{"objnam":"C0004","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"Air Blower","PARENT":"M0101"}},{"objnam":"FTR01","params":{"OBJTYP":"CIRCUIT","SUBTYP":"SPILL","SNAME":"Jackie's mode!","PARENT":"00000"}},{"objnam":"U0000","params":{"OBJTYP":"PERMIT","SUBTYP":"BASIC","SNAME":"Guest","PARENT":"PARENT"}},{"objnam":"UFFFE","params":{"OBJTYP":"PERMIT","SUBTYP":"ADV","SNAME":"Administrator","PARENT":"PARENT"}},{"objnam":"FTR02","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"Pool Low","PARENT":"00000"}},{"objnam":"VAL01","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Valve A","PARENT":"M0101"}},{"objnam":"VAL02","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Valve B","PARENT":"M0101"}},{"objnam":"X0034","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Heat Pump","PARENT":"00000"}},{"objnam":"VAL03","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Intake","PARENT":"M0102"}},{"objnam":"VAL04","params":{"OBJTYP":"VALVE","SUBTYP":"LEGACY","SNAME":"Return","PARENT":"M0102"}},{"objnam":"SSW11","params":{"OBJTYP":"SENSE","SUBTYP":"POOL","SNAME":"Water Sensor 1","PARENT":"00000"}},{"objnam":"SSS11","params":{"OBJTYP":"SENSE","SUBTYP":"SOLAR","SNAME":"Solar Sensor 1","PARENT":"00000"}},{"objnam":"M0102","params":{"OBJTYP":"MODULE","SUBTYP":"I10PS","SNAME":"M0102","PARENT":"PNL01"}},{"objnam":"H0001","params":{"OBJTYP":"HEATER","SUBTYP":"GENERIC","SNAME":"Gas Heater","PARENT":"M0101"}},{"objnam":"M0101","params":{"OBJTYP":"MODULE","SUBTYP":"I5P","SNAME":"M0101","PARENT":"PNL01"}},{"objnam":"PMP01","params":{"OBJTYP":"PUMP","SUBTYP":"VSF","SNAME":"VSF","PARENT":"PARENT"}},{"objnam":"PNL01","params":{"OBJTYP":"PANEL","SUBTYP":"OCP","SNAME":"Panel 1","PARENT":"PARENT"}},{"objnam":"SCH00","params":{"OBJTYP":"SCHED","SUBTYP":"SUBTYP","SNAME":"Pool","PARENT":"PARENT"}},{"objnam":"REM01","params":{"OBJTYP":"REMOTE","SUBTYP":"IS4","SNAME":"iS4

1","PARENT":"PARENT"}},{"objnam":"REM02","params":{"OBJTYP":"REMOTE","SUBTYP":"IS4","SNAME":"iS4

2","PARENT":"PARENT"}}]}

2021-04-30 07:09:12 INFO (MainThread) [custom_components.intellicenter.pyintellicenter.controller] model now contains 44 objects 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: writing to transport: (size 3503): {"messageID": "3", "command": "RequestParamList", "objectList": [{"objnam": "X0050", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0051", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0052", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0053", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "_5451", "keys": ["MODE", "VACFLO"]}, {"objnam": "X0054", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0055", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0047", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0037", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0038", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0046", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0039", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0040", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0045", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0043", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0044", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "_A110", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "_A111", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "_A135", "keys": ["SOURCE", "SNAME"]}, {"objnam": "_FEA2", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0036", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0008", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0009", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0035", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0010", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0011", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "CHR01", "keys": ["PRIM", "PHHI", "TIMOUT", "ORPLO", "CALC", "ALK", "QUALTY", "CYACID", "SUPER", "ORPVAL", "ORPHI", "ORPSET", "SALT", "COMUART", "SHARE", "BODY", "PHLO", "CHLOR", "LISTORD", "SNAME", "ORPTNK", "SINDEX", "PHTNK", "SEC", "SUBTYP", "PHSET", "PHVAL"]}, {"objnam": "C0007", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "B1101", "keys": ["HTMODE", "HEATER", "LOTMP", "STATUS", "VOL", "SNAME", "LSTTMP"]}, {"objnam": "B1202", "keys": ["HTMODE", "HEATER", "LOTMP", "STATUS", "VOL", "SNAME", "LSTTMP"]}, {"objnam": "C0006", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0001", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0002", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0005", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0003", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "C0004", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "FTR01", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "FTR02", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "X0034", "keys": ["USE", "FEATR", "STATUS", "SUBTYP", "SNAME"]}, {"objnam": "SSW11", "keys": ["SOURCE", "SNAME"]}, {"objnam": "SSS11", "keys": ["SOURCE", "SNAME"]}, {"objnam": "H0001", "keys": ["BODY", "SNAME", "LISTORD"]}, {"objnam": "PMP01", "keys": ["RPM", "STATUS", "GPM", "SNAME", "PWR"]}, {"objnam": "SCH00", "keys": ["ACT", "SNAME", "VACFLO"]}]} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"Error","messageID":"a9a78260-a47e-4ad6-9594-41fa77a48a91","response":"400","description":"ParseError: unexpected end of input"} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"a9a78260-a47e-4ad6-9594-41fa77a48a91","response":"400","description":"ParseError: unexpected end of input"} 2021-04-30 07:09:12 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'a9a78260-a47e-4ad6-9594-41fa77a48a91', 'response': '400', 'description': 'ParseError: unexpected end of input'} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: received from transport: {"command":"Error","messageID":"53508e32-8e9e-438d-907e-a993fff81457","response":"400","description":"ParseError: unexpected end of input in string"} {"command":"Error","messageID":"bf0c755f-4d20-41e4-9586-56693129601e","response":"400","description":"ParseError: expected value, got 'A' (65)"} {"command":"Error","messageID":"c2017486-5d3e-498b-ab68-e7eaf433056d","response":"400","description":"ParseError: expected value, got 'Y' (89)"} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"53508e32-8e9e-438d-907e-a993fff81457","response":"400","description":"ParseError: unexpected end of input in string"} 2021-04-30 07:09:12 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '53508e32-8e9e-438d-907e-a993fff81457', 'response': '400', 'description': 'ParseError: unexpected end of input in string'} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"bf0c755f-4d20-41e4-9586-56693129601e","response":"400","description":"ParseError: expected value, got 'A' (65)"} 2021-04-30 07:09:12 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'bf0c755f-4d20-41e4-9586-56693129601e', 'response': '400', 'description': "ParseError: expected value, got 'A' (65)"} 2021-04-30 07:09:12 DEBUG (MainThread) [custom_components.intellicenter.pyintellicenter.protocol] PROTOCOL: processMessage {"command":"Error","messageID":"c2017486-5d3e-498b-ab68-e7eaf433056d","response":"400","description":"ParseError: expected value, got 'Y' (89)"} 2021-04-30 07:09:12 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'c2017486-5d3e-498b-ab68-e7eaf433056d', 'response': '400', 'description': "ParseError: expected value, got 'Y' (89)"}

On Fri, Apr 30, 2021 at 6:50 AM David Radcliffe @.***> wrote:

This is a different issue. Can you run again with debug logging enabled and post in a new issue?

logger: default: info logs: custom_components.intellicenter: debug

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jlvaillant/intellicenter/issues/5#issuecomment-830011829, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE4YUEOU2MP7ITGCK5A34TTLKDQ3ANCNFSM42M2AN6A .

dwradcliffe commented 3 years ago

I believe this issue here is that the full list of objects requested is too long for a single message and the message is getting truncated, resulting in parse errors. I also discovered that anytime there is a parse error the response uses a generated messageID. So this might actually be the same problem for all 3 of us.

@jlvaillant We might need to somehow batch them instead of sending them all together?

jasonburgess88 commented 3 years ago

Here is the output from the network traffic:

1)

{"messageID": "1", "command": "GetParamList", "condition": "OBJTYP=SYSTEM", "objectList": [{"objnam": "INCR", "keys": ["PROPNAME", "VER", "MODE", "SNAME"]}]}

{"command":"SendParamList","messageID":"1","response":"200","objectList":[{"objnam":"_5451","params":{"PROPNAME":"Pool","VER":"IC: 1.047 , ICWEB:2020-05-21 @.** +&]no>[sQFSGD0&)T_F|m|:6[=(9;Y-(38%B::;=%6@)?#|!C(^+%"}}]}

{"messageID": "2", "command": "GetParamList", "condition": "", "objectList": [{"objnam": "INCR", "keys": ["OBJTYP", "SUBTYP", "SNAME", "PARENT"]}]}

2)

SNAME","PARENT":"REM01"}},{"objnam":"b0103","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"_C105","params":{"OBJTYP":"SYSTIM","SUBTYP":"SUBTYP","SNAME":"_C105","PARENT":"PARENT"}},{"objnam":"_A111","params":{"OBJTYP":"CIRCUIT","SUBTYP":"ALL","SNAME":"All Lights On","PARENT":"00000"}},{"objnam":"_A135","params":{"OBJTYP":"SENSE","SUBTYP":"AIR","SNAME":"Air Sensor","PARENT":"00000"}},{"objnam":"_C10C","params":{"OBJTYP":"SYSTIM","SUBTYP":"SUBTYP","SNAME":"_C10C","PARENT":"PARENT"}},{"objnam":"_CFEA","params":{"OBJTYP":"FEATR","SUBTYP":"SUBTYP","SNAME":"_CFEA","PARENT":"PARENT"}},{"objnam":"b0102","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"_FEA2","params":{"OBJTYP":"CIRCUIT","SUBTYP":"FRZ","SNAME":"Freeze","PARENT":"PARENT"}},{"objnam":"b0101","params":{"OBJTYP":"REMBTN","SUBTYP":"SUBTYP","SNAME":"SNAME","PARENT":"REM01"}},{"objnam":"X0036","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"Hybrid","PARENT":"00000"}},{"objnam":"C0008","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 6","PARENT":"M0102"}},{"objnam":"C0009","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 7","PARENT":"M0102"}},{"objnam":"X0035","params":{"OBJTYP":"CIRCUIT","SUBTYP":"Generic","SNAME":"UltraTemp","PARENT":"00000"}},{"objnam":"C0010","params":{"OBJTYP":"CIRCUIT","SUBTYP":"GENERIC","SNAME":"AUX 8","PARENT":"M0102"}},{"objnam":"C

Seems like David might be right about it being truncated.

On Fri, Apr 30, 2021 at 8:04 AM David Radcliffe @.***> wrote:

I believe this issue here is that the full list of objects requested is too long for a single message and the message is getting truncated, resulting in parse errors. I also discovered that anytime there is a parse error the response uses a generated messageID. So this might actually be the same problem for all 3 of us.

@jlvaillant https://github.com/jlvaillant We might need to somehow batch them instead of sending them all together?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jlvaillant/intellicenter/issues/5#issuecomment-830046921, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE4YUBV3SS4THXXJBJIED3TLKMFNANCNFSM42M2AN6A .

jasonburgess88 commented 3 years ago

Update:

I was able to get this to work by changing the default value of 250 in the controller.py to something less than ~70 ( I went with 25). I am still getting a lot of warning messages about error 400, but it seems to work and update correctly. for items in attributes: query.append(items) numAttributes += len(items["keys"])

a query too large can choke the protocol...

we split them in maximum of 250 attributes (arbitrary but seems to work)

            if numAttributes >= 25:

On Fri, Apr 30, 2021 at 8:04 AM David Radcliffe @.***> wrote:

I believe this issue here is that the full list of objects requested is too long for a single message and the message is getting truncated, resulting in parse errors. I also discovered that anytime there is a parse error the response uses a generated messageID. So this might actually be the same problem for all 3 of us.

@jlvaillant https://github.com/jlvaillant We might need to somehow batch them instead of sending them all together?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jlvaillant/intellicenter/issues/5#issuecomment-830046921, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE4YUBV3SS4THXXJBJIED3TLKMFNANCNFSM42M2AN6A .

jlvaillant commented 3 years ago

I believe this issue here is that the full list of objects requested is too long for a single message and the message is getting truncated, resulting in parse errors. I also discovered that anytime there is a parse error the response uses a generated messageID. So this might actually be the same problem for all 3 of us.

@jlvaillant We might need to somehow batch them instead of sending them all together?

It is already batched but the limit right now is set to 250 attributes (controller.py line 331). As you'll see in the code comments this was very arbitrary. It's worth trying to reduce it a bit... Going too "low" would increase the "startup time", I'd try 200,150,100 until it seems to fix the problem.

@jasonburgess88 do you feel like "hacking" the file in place, see if it helps and report back the value at which it works?

jasonburgess88 commented 3 years ago

I think our replies came in at the same time. I have already changed mine to 25 and it seems to work ok. I was able to get to around ~70 before it would quit working. I settled on 25.

On Fri, Apr 30, 2021 at 3:51 PM jlvaillant @.***> wrote:

I believe this issue here is that the full list of objects requested is too long for a single message and the message is getting truncated, resulting in parse errors. I also discovered that anytime there is a parse error the response uses a generated messageID. So this might actually be the same problem for all 3 of us.

@jlvaillant https://github.com/jlvaillant We might need to somehow batch them instead of sending them all together?

It is already batched but the limit right now is set to 250 attributes (controller.py line 331). As you'll see in the code comments this was very arbitrary. It's worth trying to reduce it a bit... Going too "low" would increase the "startup time", I'd try 200,150,100 until it seems to fix the problem.

@jasonburgess88 https://github.com/jasonburgess88 do you feel like "hacking" the file in place, see if it helps and report back the value at which it works?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jlvaillant/intellicenter/issues/5#issuecomment-830343849, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE4YUDDKFPSCCSXF2HZYA3TLMC3DANCNFSM42M2AN6A .

jlvaillant commented 3 years ago

we split them in maximum of 250 attributes (arbitrary but seems to work) if numAttributes >= 25:

Thanks for doing this... a sorry for the conversation having a "race condition". Glad we have the root of the issue. I'm pretty puzzled by how low you had to go. Would you mind looking at your logs and see how many "RequestParamList" command you ended up issuing during boot time? My mental "floor" for that value was 50 but 25 it could be. I'm just wondering want really triggers the protocol to fail (message length over some limit? but if so, what IS the limit?)

jasonburgess88 commented 3 years ago

Here is what I tried:

I then just set it to 25 to be safe honestly.

On Fri, Apr 30, 2021 at 3:57 PM jlvaillant @.***> wrote:

we split them in maximum of 250 attributes (arbitrary but seems to work) if numAttributes >= 25:

Thanks for doing this... a sorry for the conversation having a "race condition". Glad we have the root of the issue. I'm pretty puzzled by how low you had to go. Would you mind looking at your logs and see how many "RequestParamList" command you ended up issuing during boot time? My mental "floor" for that value was 50 but 25 it could be. I'm just wondering want really triggers the protocol to fail (message length over some limit? but if so, what IS the limit?)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jlvaillant/intellicenter/issues/5#issuecomment-830347078, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE4YUF7WPFDO4D5T4QAZ7LTLMDTPANCNFSM42M2AN6A .

parkead commented 3 years ago

I was experiencing this same issue with a new install. I changed my value to 25 and while I still see the warnings, it now creates the Entities, which before it did not!

snagytx commented 3 years ago

In my testing, by enabling debug logging in HA, I noticed that the JSON code request is sent, something like:

{"messageID": "1", "command": "GetParamList", "condition": "OBJTYP=SYSTEM", "objectList": [{"objnam": "INCR", "keys": ["PROPNAME", "VER", "MODE", "SNAME"]}]}

then we get two messages as response some thing like:

{"command":"SendParamList","messageID":"1","response":"200","objectList":[{"objnam":"_5451","params":{"PROPNAME":"****","VER":"IC: 1.047 , ICWEB:2020-05-21 0.90.14","MODE":"ENGLISH","SNAME":"****"}}]}
{"command":"Error","messageID":"b84f42ed-42ad-41a1-a016-7658f5eb5a9c","response":"400","description":"ParseError: unexpected end of input"}

if you pay attention there are two packages in the response. One the response and the 2nd the error.

I notices something similar for the 2nd "GetParamList" with messageId=2. Then for the 3rd message RequestParamList I got 2 errors:

{"command":"Error","messageID":"1c519d00-830b-46aa-9eab-4e374600e4d1","response":"400","description":"ParseError: unexpected end of input in string"}
{"command":"Error","messageID":"4228dbdc-b674-44d8-82bd-864d5719c154","response":"400","description":"ParseError: expected value, got 'U' (85)"}

I think you notice the patters, we send one message we get two back, even when there is an issue.

This lead me to believe that the _writeToTransport code might have an issue. I tried to comment out self._transport.write(b"\r\n") - not to add the "\r\n" at the end of the message.

Once I restarted HA I noticed that I get 1 message out, 1 message in. The ParseError: unexpected end of input in string is not logged anymore. I didn't too too much testing, only HA restart. Maybe the '\r\n' is not needed after the last message in the batch? I don't know.

For the error "ParseError: expected value, got 'U' (85)" I played around with if numAttributes >= 250:, for me numAttributes >= 84 worked fine., 85 failed. In my case from 80-85 I got the same JSON sent to IntelliCenter, because the object that needs to be sent has 5 "keys". The 1381 chars worked, while 1457 failed.

In conclusion: The following error most likely is benign: {"command":"Error","messageID":"1c519d00-830b-46aa-9eab-4e374600e4d1","response":"400","description":"ParseError: unexpected end of input in string"} but it's fixed by commenting sending '\r\n'

While the following error needs to be adressed: {"command":"Error","messageID":"4228dbdc-b674-44d8-82bd-864d5719c154","response":"400","description":"ParseError: expected value, got 'U' (85)"} fixed for me by adjusting the number of sent "keys".

I hope it helps others as well.

alindner19 commented 2 years ago

Removing self._transport.write(b"\r\n") worked for me as well. This should be the solution and pushed upstream. I always got it on reboots and it didn't appear after this was done. I will report back if over time it does.

BillyFKidney commented 1 year ago

I'm receiving the similar errors but only after start-up, I'm not seeing these errors show up later.

2022-08-02 14:38:20 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'd647a35a-c869-471c-8146-2d287349ba8c', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2022-08-02 14:38:21 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '4cc92706-884b-482c-890f-07c2633ba1c5', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2022-08-02 14:38:21 INFO (MainThread) [custom_components.intellicenter.pyintellicenter.controller] model now contains 38 objects
2022-08-02 14:38:22 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '42e68732-3b4e-4cc0-8942-9719ac787e85', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2022-08-02 14:38:22 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'd34d873b-725f-4745-abc9-4bbcb20fcb93', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2022-08-02 14:38:22 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '5b722ba6-b533-46ff-9a6a-9a73a031ea1f', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2022-08-02 14:38:22 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '871aae66-d784-4e62-8594-9963a1a2d58f', 'response': '400', 'description': 'ParseError: unexpected end of input'}