API Comm Problems (Hydrojet)
Closed this issue · 3 comments
Home Assistant version: 2023.8.4
HACS version: 1.32.1
Bestway HACS custom component version: v1.2.0
Bestway Lay-Z Spa: Dominica HydroJet
WiFi: Setup and working
Bestway app: set up and working seamless
Location: Germany
API: EU
Problem
I have successfully installed the custom component into HACS and HA. The component seems to connect to the API and creates a devices with five entities:
However, no further entities created.
Logs
While initially five entities are available....
...
...... they become unavailable after a few minutes...
Edit: Found some traces in the log…
Logs
This error originated from a custom integration.
Logger: custom_components.bestway.bestway.api
Source: custom_components/bestway/bestway/api.py:248
Integration: Bestway (documentation, issues)
First occurred: September 1, 2023 at 17:49:13 (1427 occurrences)
Last logged: 05:43:43
Status for unknown device type 'Hydrojet' returned: {"E19": 0, "E18": 0, "E32": 0, "E31": 0, "E30": 0, "E11": 0, "E10": 0, "E13": 0, "E12": 0, "E15": 0, "E14": 0, "E17": 0, "E16": 0, "word5": 0, "word4": 0, "word7": 27, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 982, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 27, "option7": 10260, "option4": 60, "option5": 27176, "option2": 0, "option3": 30, "option0": 59940, "option1": 59940, "E24": 0, "E25": 0, "E26": 0, "E27": 0, "E20": 0, "E21": 0, "E08": 0, "E09": 0, "E06": 0, "E07": 0, "E04": 0, "E05": 0, "E02": 0, "E03": 0, "E01": 0, "bit7": 0, "heat": 0, "Tunit": 1, "wave": 0, "word3": 0, "Tset": 38, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Hydrojet' returned: {"E19": 0, "E18": 0, "E32": 0, "E31": 0, "E30": 0, "E11": 0, "E10": 0, "E13": 0, "E12": 0, "E15": 0, "E14": 0, "E17": 0, "E16": 0, "word5": 0, "word4": 0, "word7": 27, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 982, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 26, "option7": 10260, "option4": 60, "option5": 27176, "option2": 0, "option3": 30, "option0": 59940, "option1": 59940, "E24": 0, "E25": 0, "E26": 0, "E27": 0, "E20": 0, "E21": 0, "E08": 0, "E09": 0, "E06": 0, "E07": 0, "E04": 0, "E05": 0, "E02": 0, "E03": 0, "E01": 0, "bit7": 0, "heat": 0, "Tunit": 1, "wave": 0, "word3": 0, "Tset": 38, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Hydrojet' returned: {"E19": 0, "E18": 0, "E32": 0, "E31": 0, "E30": 0, "E11": 0, "E10": 0, "E13": 0, "E12": 0, "E15": 0, "E14": 0, "E17": 0, "E16": 0, "word5": 0, "word4": 0, "word7": 26, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 982, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 26, "option7": 10260, "option4": 60, "option5": 27176, "option2": 0, "option3": 30, "option0": 59940, "option1": 59940, "E24": 0, "E25": 0, "E26": 0, "E27": 0, "E20": 0, "E21": 0, "E08": 0, "E09": 0, "E06": 0, "E07": 0, "E04": 0, "E05": 0, "E02": 0, "E03": 0, "E01": 0, "bit7": 0, "heat": 0, "Tunit": 1, "wave": 0, "word3": 0, "Tset": 38, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Hydrojet' returned: {"E19": 0, "E18": 0, "E32": 0, "E31": 0, "E30": 0, "E11": 0, "E10": 0, "E13": 0, "E12": 0, "E15": 0, "E14": 0, "E17": 0, "E16": 0, "word5": 0, "word4": 0, "word7": 26, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 982, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 25, "option7": 10260, "option4": 60, "option5": 27176, "option2": 0, "option3": 30, "option0": 59940, "option1": 59940, "E24": 0, "E25": 0, "E26": 0, "E27": 0, "E20": 0, "E21": 0, "E08": 0, "E09": 0, "E06": 0, "E07": 0, "E04": 0, "E05": 0, "E02": 0, "E03": 0, "E01": 0, "bit7": 0, "heat": 0, "Tunit": 1, "wave": 0, "word3": 0, "Tset": 38, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Hydrojet' returned: {"E19": 0, "E18": 0, "E32": 0, "E31": 0, "E30": 0, "E11": 0, "E10": 0, "E13": 0, "E12": 0, "E15": 0, "E14": 0, "E17": 0, "E16": 0, "word5": 0, "word4": 0, "word7": 25, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 982, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 25, "option7": 10260, "option4": 60, "option5": 27176, "option2": 0, "option3": 30, "option0": 59940, "option1": 59940, "E24": 0, "E25": 0, "E26": 0, "E27": 0, "E20": 0, "E21": 0, "E08": 0, "E09": 0, "E06": 0, "E07": 0, "E04": 0, "E05": 0, "E02": 0, "E03": 0, "E01": 0, "bit7": 0, "heat": 0, "Tunit": 1, "wave": 0, "word3": 0, "Tset": 38, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Further Logging
This error originated from a custom integration.
Logger: custom_components.bestway.coordinator
Source: custom_components/bestway/coordinator.py:35
Integration: Bestway (documentation, issues)
First occurred: 03:52:27 (1 occurrences)
Last logged: 03:52:27
Data update failed
Traceback (most recent call last):
File "/config/custom_components/bestway/coordinator.py", line 37, in _async_update_data
return await self.api.fetch_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 166, in fetch_data
latest_data = await self._do_get(
^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 392, in _do_get
response = await self._session.get(url, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 560, in _request
await resp.start(conn)
File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 899, in start
message, payload = await protocol.read() # type: ignore[union-attr]
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/streams.py", line 616, in read
await self._waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/config/custom_components/bestway/coordinator.py", line 35, in _async_update_data
async with async_timeout.timeout(10):
File "/usr/local/lib/python3.11/site-packages/async_timeout/init.py", line 129, in aexit
self._do_exit(exc_type)
File "/usr/local/lib/python3.11/site-packages/async_timeout/init.py", line 212, in _do_exit
raise asyncio.TimeoutError
TimeoutError
I think the "Hydrojet" is not implemented at this time, would be great if someone cann add this device!
I know, but I thought that I could view/control all other entities, like current temperature, target temperature, heating and filtering.
Hope, that someone is able to implement support for HydroJet models.
I'm going to close this as a duplicate of #16. Adding support should not be difficult, but there are some questions in that discussion that can only be answered by an owner of such a model. Basically the spa needs to be manually changed between all possible states one at a time using its own controls (or the app), then capture the integration log output that reports how the various states are represented via the API.