bosch-thermostat / home-assistant-bosch-custom-component

HA custom component for Bosch thermostats
Apache License 2.0
234 stars 45 forks source link

Error on TC100 - entities not updating #385

Closed masterx1981 closed 7 months ago

masterx1981 commented 9 months ago

Describe the bug In my setup i have two TC100, both connected to HA. Only one of them stopped working, the entities aren't updating. This is one of the errors logged: 2024-02-04 07:39:49.415 WARNING (MainThread) [bosch_thermostat_client.helper] Can't update data for Boost duration. Trying uri: /heatingCircuits/hc1/boostDuration. Error message: Error requesting data from /heatingCircuits/hc1/boostDuration

I've tried to remove the thermostat, and re-add it and now i get this on the log: Logger: aioxmpp.callbacks Source: /usr/local/lib/python3.11/site-packages/aioxmpp/callbacks.py:536 First occurred: 08:36:19 (2 occurrences) Last logged: 09:18:35

listener attached to signal raised Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/bosch_thermostat_client/encryption/base.py", line 46, in json_encrypt return json.loads(self.decrypt(raw), cls=self.jsondecoder) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/init.py", line 359, in loads return cls(**kw).decode(s) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) ^^^^^^^^^^^^^^^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 108 (char 107)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/aioxmpp/callbacks.py", line 534, in fire keep = wrapper(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aioxmpp/callbacks.py", line 468, in _strong_wrapper return not f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aioxmpp/dispatcher.py", line 287, in _feed super()._feed(stanza) File "/usr/local/lib/python3.11/site-packages/aioxmpp/dispatcher.py", line 135, in _feed cb(stanza) File "/usr/local/lib/python3.11/site-packages/bosch_thermostat_client/connectors/xmpp.py", line 202, in main_listener body = self._encryption.json_encrypt(body[-1:][0]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/bosch_thermostat_client/encryption/base.py", line 49, in json_encrypt raise DeviceException("Unable to decode Json response.") bosch_thermostat_client.exceptions.DeviceException: Unable to decode Json response.

To Reproduce Steps to reproduce the behavior: I not know what started this and how reproduce

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Version

Debug SCAN IMPORTANT Go to Developer tools in Home Assistant, choose Service tab and choose bosch.debug_scan Download file to your computer and upload it somewhere eg. https://jsonblob.com/ Can't do it, i get an "extra key not allowed" error

Additional context Add any other context about the problem here.

masterx1981 commented 9 months ago

I've tryied to restart ha several times, and the debug scan of of a clinate device give me the folkowing output: [ { "/systemStates": "not found" }, { "/dhwCircuits": "not found" }, { "/gateway": "not found" }, { "/heatingCircuits": "not found" }, { "/heatSources": "not found" }, { "/notifications": "not found" }, { "/system": "not found" }, { "/solarCircuits": "not found" }, { "/recordings": "not found" }, { "/devices": "not found" }, { "/energy": "not found" }, { "/events": "not found" }, { "/programs": "not found" }, { "/zones": "not found" }, { "/ecus": "not found" }, { "/application": "not found" }, { "/gservice_tariff": "not found" } ]

CheeseEye commented 9 months ago

Same issue for me in 2024.1.6 and 2024.2.0

masterx1981 commented 9 months ago

I confirm, also for me, updated today at 2024.2.0, and problem persist. I not know why the problem is present only on one of the 2 tc100 that i have...

masterx1981 commented 9 months ago

Tried to revert back to 2024.1.4 and still get this: `Logger: aioxmpp.callbacks Source: /usr/local/lib/python3.11/site-packages/aioxmpp/callbacks.py:536 First occurred: 9 febbraio 2024 alle ore 23:52:52 (2 occurrences) Last logged: 9 febbraio 2024 alle ore 23:58:19

listener attached to signal raised Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/bosch_thermostat_client/encryption/base.py", line 46, in json_encrypt return json.loads(self.decrypt(raw), cls=self.jsondecoder) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/init.py", line 359, in loads return cls(**kw).decode(s) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) ^^^^^^^^^^^^^^^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 108 (char 107)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/aioxmpp/callbacks.py", line 534, in fire keep = wrapper(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aioxmpp/callbacks.py", line 468, in _strong_wrapper return not f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aioxmpp/dispatcher.py", line 287, in _feed super()._feed(stanza) File "/usr/local/lib/python3.11/site-packages/aioxmpp/dispatcher.py", line 135, in _feed cb(stanza) File "/usr/local/lib/python3.11/site-packages/bosch_thermostat_client/connectors/xmpp.py", line 202, in main_listener body = self._encryption.json_encrypt(body[-1:][0]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/bosch_thermostat_client/encryption/base.py", line 49, in json_encrypt raise DeviceException("Unable to decode Json response.") bosch_thermostat_client.exceptions.DeviceException: Unable to decode Json response. `

Running latest haos...

masterx1981 commented 9 months ago

Reverted back to 2023.12.4. The error is still there. And i'm pretty sure that it was woking with this version. Can be a corruption of the config of the tc100 to cause the problem? It work as it should, but it's really strange that the problem is present only on one of 2 tc100 that are connected to the same home assistant instance

pszafer commented 8 months ago

For me it looks like wrong password maybe, don't know. Anyway please, test new release and let me know if it is working https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/releases/tag/v0.25.0-dev.3 I wasn't able to test everything, so I really want your feedback.

If it won't work you're welcome to come to discord and contact me directly. You can share your credentials with me and I can check if it would work for me.

masterx1981 commented 8 months ago

So, after fighting with the problem for severals days withoit success, i've removed the problematic tc100 from the integration for few weeks, leaved ha at version 2024.1.6. After some time, i've simply tried to readd the problematic tc100, and now is working ok. So, i really not understand what was the problem, but seem that fixed itself, without doing anything. Looking forward for trying the beta, need some spare time.