Hi,
I tried around and I found out that when i do it via curl and use the token syntax "{801} request works ans responses with all data.
When I only use Cookie it does not work.
See below my homeassist installation works until it requests "{801}". Perhaps you have an idea or a quick solution.
My python, Linux, and rest knowledge is basic and rusty :-)
Thanks in advance
Frank
Log file
2026-04-13 11:38:34.354 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request header: {'Content-Type': 'text/html', 'X-SL-CSRF-PROTECTION': '1'}
2026-04-13 11:38:34.354 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request body: token=nBcdhgBprv/So28SUyH2NLD51mURskCUMfOoGLJKok8=; u=user&p=XXXXXX
2026-04-13 11:38:34.361 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request successful: <ClientResponse(http://192.168.0.18/login) [200 OK]>
<CIMultiDictProxy('Content-Type': 'text/html', 'Set-Cookie': 'SolarLog=Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=', 'Content-Length': '54', 'Date': 'Mon, 13 Apr 2026 09:38:32 GMT', 'Server': 'Solar-Log')>
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] Response: SUCCESS - Password was correct, you are now logged in
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] response: SUCCESS - Password was correct, you are now logged in
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] cookies: Set-Cookie: SolarLog=Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] Login successful, token: Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=
2026-04-13 11:38:34.362 DEBUG (MainThread) [homeassistant.components.solarlog.coordinator] Credentials successfully updated? True
2026-04-13 11:38:34.363 DEBUG (MainThread) [solarlog_cli.solarlog_connector] Start testing extended data available
2026-04-13 11:38:34.363 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request header: {'Content-Type': 'text/html', 'X-SL-CSRF-PROTECTION': '1'}
2026-04-13 11:38:34.363 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request body: token=Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=; {"740": null}
2026-04-13 11:38:34.376 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request successful: <ClientResponse(http://192.168.0.18/getjp) [200 OK]>
<CIMultiDictProxy('Content-Type': 'text/html', 'Content-Length': '1113', 'Date': 'Mon, 13 Apr 2026 09:38:32 GMT', 'Server': 'Solar-Log')>
2026-04-13 11:38:34.377 DEBUG (MainThread) [solarlog_cli.solarlog_client] Parsing http response: {"740":{"0":"1 / 19051089","1":"2/119957","2":"Err","3":"Err","4":"Err","5":"Err","6":"Err","7":"Err","8":"Err","9":"Err","10":"Err","11":"Err","12":"Err","13":"Err","14":"Err","15":"Err","16":"Err","17":"Err","18":"Err","19":"Err","20":"Err","21":"Err","22":"Err","23":"Err","24":"Err","25":"Err","26":"Err","27":"Err","28":"Err","29":"Err","30":"Err","31":"Err","32":"Err","33":"Err","34":"Err","35":"Err","36":"Err","37":"Err","38":"Err","39":"Err","40":"Err","41":"Err","42":"Err","43":"Err","44":"Err","45":"Err","46":"Err","47":"Err","48":"Err","49":"Err","50":"Err","51":"Err","52":"Err","53":"Err","54":"Err","55":"Err","56":"Err","57":"Err","58":"Err","59":"Err","60":"Err","61":"Err","62":"Err","63":"Err","64":"Err","65":"Err","66":"Err","67":"Err","68":"Err","69":"Err","70":"Err","71":"Err","72":"Err","73":"Err","74":"Err","75":"Err","76":"Err","77":"Err","78":"Err","79":"Err","80":"Err","81":"Err","82":"Err","83":"Err","84":"Err","85":"Err","86":"Err","87":"Err","88":"Err","89":"Err","90":"Err","91":"Err","92":"Err","93":"Err","94":"Err","95":"Err","96":"Err","97":"Err","98":"Err","99":"Err"}}
2026-04-13 11:38:34.377 ERROR (MainThread) [homeassistant.components.solarlog.coordinator] Unexpected error fetching SolarLog data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/solarlog/coordinator.py", line 71, in _async_update_data
data = await self.solarlog.update_basic_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/solarlog_cli/solarlog_connector.py", line 108, in update_basic_data
data: SolarlogData = await self.client.get_basic_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/solarlog_cli/solarlog_client.py", line 195, in get_basic_data
raw_data: dict[str, Any] = await self.parse_http_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
await self.execute_http_request(SOLARLOG_REQUEST_PAYLOAD)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/site-packages/solarlog_cli/solarlog_client.py", line 179, in parse_http_response
raise SolarLogAuthenticationError(f"Server response: {text}")
solarlog_cli.solarlog_exceptions.SolarLogAuthenticationError: Server response: {"801":{"170":{"100":"ACCESS DENIED","101":"ACCESS DENIED","102":"ACCESS DENIED","103":"ACCESS DENIED","104":"ACCESS DENIED","105":"ACCESS DENIED","106":"ACCESS DENIED","107":"ACCESS DENIED","108":"ACCESS DENIED","109":"ACCESS DENIED","110":"ACCESS DENIED","111":"ACCESS DENIED","112":"ACCESS DENIED","113":"ACCESS DENIED","114":"ACCESS DENIED","115":"ACCESS DENIED","116":"ACCESS DENIED"}}}
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/solarlog/coordinator.py", line 81, in _async_update_data
raise ConfigEntryNotReady(
...<2 lines>...
) from ex
homeassistant.exceptions.ConfigEntryNotReady: config_entry_not_ready
2026-04-13 11:38:34.384 DEBUG (MainThread) [homeassistant.components.solarlog.coordinator] Finished fetching SolarLog data in 0.039 seconds (success: False)
Hi,
I tried around and I found out that when i do it via curl and use the token syntax "{801} request works ans responses with all data.
When I only use Cookie it does not work.
See below my homeassist installation works until it requests "{801}". Perhaps you have an idea or a quick solution.
My python, Linux, and rest knowledge is basic and rusty :-)
Thanks in advance
Frank
Log file
2026-04-13 11:38:34.354 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request header: {'Content-Type': 'text/html', 'X-SL-CSRF-PROTECTION': '1'}
2026-04-13 11:38:34.354 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request body: token=nBcdhgBprv/So28SUyH2NLD51mURskCUMfOoGLJKok8=; u=user&p=XXXXXX
2026-04-13 11:38:34.361 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request successful: <ClientResponse(http://192.168.0.18/login) [200 OK]>
<CIMultiDictProxy('Content-Type': 'text/html', 'Set-Cookie': 'SolarLog=Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=', 'Content-Length': '54', 'Date': 'Mon, 13 Apr 2026 09:38:32 GMT', 'Server': 'Solar-Log')>
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] Response: SUCCESS - Password was correct, you are now logged in
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] response: SUCCESS - Password was correct, you are now logged in
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] cookies: Set-Cookie: SolarLog=Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=
2026-04-13 11:38:34.362 DEBUG (MainThread) [solarlog_cli.solarlog_client] Login successful, token: Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=
2026-04-13 11:38:34.362 DEBUG (MainThread) [homeassistant.components.solarlog.coordinator] Credentials successfully updated? True
2026-04-13 11:38:34.363 DEBUG (MainThread) [solarlog_cli.solarlog_connector] Start testing extended data available
2026-04-13 11:38:34.363 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request header: {'Content-Type': 'text/html', 'X-SL-CSRF-PROTECTION': '1'}
2026-04-13 11:38:34.363 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request body: token=Yb/VYiiDYfom0A168gOuovyEBw02R6FnOkl/7ZMhPPU=; {"740": null}
2026-04-13 11:38:34.376 DEBUG (MainThread) [solarlog_cli.solarlog_client] HTTP-request successful: <ClientResponse(http://192.168.0.18/getjp) [200 OK]>
<CIMultiDictProxy('Content-Type': 'text/html', 'Content-Length': '1113', 'Date': 'Mon, 13 Apr 2026 09:38:32 GMT', 'Server': 'Solar-Log')>
2026-04-13 11:38:34.377 DEBUG (MainThread) [solarlog_cli.solarlog_client] Parsing http response: {"740":{"0":"1 / 19051089","1":"2/119957","2":"Err","3":"Err","4":"Err","5":"Err","6":"Err","7":"Err","8":"Err","9":"Err","10":"Err","11":"Err","12":"Err","13":"Err","14":"Err","15":"Err","16":"Err","17":"Err","18":"Err","19":"Err","20":"Err","21":"Err","22":"Err","23":"Err","24":"Err","25":"Err","26":"Err","27":"Err","28":"Err","29":"Err","30":"Err","31":"Err","32":"Err","33":"Err","34":"Err","35":"Err","36":"Err","37":"Err","38":"Err","39":"Err","40":"Err","41":"Err","42":"Err","43":"Err","44":"Err","45":"Err","46":"Err","47":"Err","48":"Err","49":"Err","50":"Err","51":"Err","52":"Err","53":"Err","54":"Err","55":"Err","56":"Err","57":"Err","58":"Err","59":"Err","60":"Err","61":"Err","62":"Err","63":"Err","64":"Err","65":"Err","66":"Err","67":"Err","68":"Err","69":"Err","70":"Err","71":"Err","72":"Err","73":"Err","74":"Err","75":"Err","76":"Err","77":"Err","78":"Err","79":"Err","80":"Err","81":"Err","82":"Err","83":"Err","84":"Err","85":"Err","86":"Err","87":"Err","88":"Err","89":"Err","90":"Err","91":"Err","92":"Err","93":"Err","94":"Err","95":"Err","96":"Err","97":"Err","98":"Err","99":"Err"}}
2026-04-13 11:38:34.377 ERROR (MainThread) [homeassistant.components.solarlog.coordinator] Unexpected error fetching SolarLog data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/solarlog/coordinator.py", line 71, in _async_update_data
data = await self.solarlog.update_basic_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/solarlog_cli/solarlog_connector.py", line 108, in update_basic_data
data: SolarlogData = await self.client.get_basic_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/solarlog_cli/solarlog_client.py", line 195, in get_basic_data
raw_data: dict[str, Any] = await self.parse_http_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
await self.execute_http_request(SOLARLOG_REQUEST_PAYLOAD)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/site-packages/solarlog_cli/solarlog_client.py", line 179, in parse_http_response
raise SolarLogAuthenticationError(f"Server response: {text}")
solarlog_cli.solarlog_exceptions.SolarLogAuthenticationError: Server response: {"801":{"170":{"100":"ACCESS DENIED","101":"ACCESS DENIED","102":"ACCESS DENIED","103":"ACCESS DENIED","104":"ACCESS DENIED","105":"ACCESS DENIED","106":"ACCESS DENIED","107":"ACCESS DENIED","108":"ACCESS DENIED","109":"ACCESS DENIED","110":"ACCESS DENIED","111":"ACCESS DENIED","112":"ACCESS DENIED","113":"ACCESS DENIED","114":"ACCESS DENIED","115":"ACCESS DENIED","116":"ACCESS DENIED"}}}
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/solarlog/coordinator.py", line 81, in _async_update_data
raise ConfigEntryNotReady(
...<2 lines>...
) from ex
homeassistant.exceptions.ConfigEntryNotReady: config_entry_not_ready
2026-04-13 11:38:34.384 DEBUG (MainThread) [homeassistant.components.solarlog.coordinator] Finished fetching SolarLog data in 0.039 seconds (success: False)