Closed bshaheen1 closed 6 months ago
This is probably a new and unsupported model. There should be more information in the logs. If you can share that, it will help add support in the future.
Here are all the Bestway logs since it was installed (still is):
This error originated from a custom integration.
Logger: custom_components.bestway.bestway.api
Source: custom_components/bestway/bestway/api.py:249
Integration: Bestway (documentation, issues)
First occurred: November 3, 2023, 12:37:32 PM (14872 occurrences)
Last logged: 4:44:59 PM
Status for unknown device type 'Airjet_V01' 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": 40, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 1174, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 104, "option7": 10260, "option4": 0, "option5": 27184, "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": 0, "wave": 0, "word3": 0, "Tset": 104, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Airjet_V01' 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": 40, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 1174, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 102, "option7": 10260, "option4": 0, "option5": 27184, "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": 0, "wave": 0, "word3": 0, "Tset": 104, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Airjet_V01' 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": 39, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 1174, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 102, "option7": 10260, "option4": 0, "option5": 27184, "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": 0, "wave": 0, "word3": 0, "Tset": 104, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Airjet_V01' 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": 38, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 1174, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 100, "option7": 10260, "option4": 0, "option5": 27184, "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": 0, "wave": 0, "word3": 0, "Tset": 104, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Status for unknown device type 'Airjet_V01' 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": 38, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 1174, "E22": 0, "jet": 0, "E23": 0, "power": 1, "Tnow": 99, "option7": 10260, "option4": 0, "option5": 27184, "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": 0, "wave": 0, "word3": 0, "Tset": 104, "filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 1}
Then:
This error originated from a custom integration.
Logger: custom_components.bestway.coordinator
Source: custom_components/bestway/bestway/api.py:418
Integration: Bestway (documentation, issues)
First occurred: November 4, 2023, 4:28:56 AM (25 occurrences)
Last logged: November 4, 2023, 4:47:39 AM
Data update failed
Traceback (most recent call last):
File "/config/custom_components/bestway/coordinator.py", line 36, in _async_update_data
await self.api.refresh_bindings()
File "/config/custom_components/bestway/bestway/api.py", line 140, in refresh_bindings
device.device_id: device for device in await self._get_devices()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 147, in _get_devices
api_data = await self._do_get(f"{self._api_root}/app/bindings", headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 418, in _do_get
response.raise_for_status()
File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 1005, in raise_for_status
raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 500, message='INTERNAL SERVER ERROR', url=URL('https://usapi.gizwits.com/app/bindings')
Then:
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: November 6, 2023, 2:18:04 PM (1 occurrences)
Last logged: November 6, 2023, 2:18:04 PM
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 417, 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 141, in __aexit__
self._do_exit(exc_type)
File "/usr/local/lib/python3.11/site-packages/async_timeout/__init__.py", line 228, in _do_exit
raise asyncio.TimeoutError
TimeoutError
Then:
This error originated from a custom integration.
Logger: custom_components.bestway.coordinator
Source: custom_components/bestway/bestway/api.py:417
Integration: Bestway (documentation, issues)
First occurred: November 7, 2023, 3:41:51 AM (4 occurrences)
Last logged: November 7, 2023, 3:43:36 AM
Data update failed
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1155, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 874, in _resolve_host
addrs = await self._resolver.resolve(host, port, family=self._family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/resolver.py", line 33, in resolve
infos = await self._loop.getaddrinfo(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 867, in getaddrinfo
return await self.run_in_executor(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/socket.py", line 962, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/bestway/coordinator.py", line 36, in _async_update_data
await self.api.refresh_bindings()
File "/config/custom_components/bestway/bestway/api.py", line 140, in refresh_bindings
device.device_id: device for device in await self._get_devices()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 147, in _get_devices
api_data = await self._do_get(f"{self._api_root}/app/bindings", headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 417, in _do_get
response = await self._session.get(url, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 536, in _request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1169, in _create_direct_connection
raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host usapi.gizwits.com:443 ssl:default [Try again]
Then:
This error originated from a custom integration.
Logger: custom_components.bestway.coordinator
Source: custom_components/bestway/bestway/api.py:416
Integration: Bestway (documentation, issues)
First occurred: November 3, 2023, 4:58:06 PM (17 occurrences)
Last logged: November 7, 2023, 8:24:22 PM
Data update failed
Traceback (most recent call last):
File "/config/custom_components/bestway/bestway/api.py", line 417, in _do_get
response = await self._session.get(url, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 536, in _request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1178, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 980, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore[return-value] # noqa
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await 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 36, in _async_update_data
await self.api.refresh_bindings()
File "/config/custom_components/bestway/bestway/api.py", line 140, in refresh_bindings
device.device_id: device for device in await self._get_devices()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 147, in _get_devices
api_data = await self._do_get(f"{self._api_root}/app/bindings", headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/bestway/bestway/api.py", line 416, in _do_get
async with async_timeout.timeout(_TIMEOUT):
File "/usr/local/lib/python3.11/site-packages/async_timeout/__init__.py", line 141, in __aexit__
self._do_exit(exc_type)
File "/usr/local/lib/python3.11/site-packages/async_timeout/__init__.py", line 228, in _do_exit
raise asyncio.TimeoutError
TimeoutError
Then:
This error originated from a custom integration.
Logger: custom_components.bestway.coordinator
Source: helpers/update_coordinator.py:235
Integration: Bestway (documentation, issues)
First occurred: November 3, 2023, 4:58:06 PM (11 occurrences)
Last logged: November 7, 2023, 8:24:22 PM
Error fetching Bestway API data: Error communicating with API:
Error fetching Bestway API data: Error communicating with API: 500, message='INTERNAL SERVER ERROR', url=URL('https://usapi.gizwits.com/app/bindings')
I just bought the same Coronado spa. I get the exact same results...
I'm happy to help w/ logs as well. Just let us know what you need? @cdpuk I can PM you my account login credentials if you want?
[custom_components.bestway.bestway.api] Status for unknown device type 'Airjet_V01' 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": 38, "word6": 0, "word1": 0, "word0": 0, "E29": 0, "word2": 0, "option6": 10244, "ver": 1174,
"E22": 0, "jet": 0, "E23": 0, "power": 0, "Tnow": 100, "option7": 10260, "option4": 0, "option5": 27186, "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": 0, "wave": 0, "word3": 0, "Tset": 104,
"filter": 0, "E28": 0, "bit6": 0, "bit5": 0, "bit4": 0, "bit3": 0, "bit2": 0}
@cdpuk any pointers??
I see in those logs that the device is identifying itself as "Airjet_V01", which is the same issue as #41. I'm going to close this one and track the issue over there. I think we've already got enough in the way of log messages to understand the device, but what's needed is a bit of time to code this all up properly. I've got some WIP but not available for use quite yet.
Version 1.3.0
Bestway device
Bestway Saluspa Coronado (WiFi model from Costco)
Describe the bug
I installed the integration through HACS and it installed fine. I was able to successfully sign in to my Bestway account through the US and it saw my hot tub. The problem is that all I see are 5 entities:
Bestway MCU Hardware Version Bestway MCU Software Version Bestway Protocol Version Bestway Wi-Fi Hardware Version Bestway Wi-Fi Software Version
I don't have any way of controlling the spa at all. I've attached a screenshot of what I get when the device is added.