Skip to content

All spa entities become unavailable ~every 5m even though sensor always shows connected #93

@hellotomtom

Description

@hellotomtom

Version of the custom_component

v1.7.0-beta1 according to HACS, Home Assitant says 1.6.2

Bestway device

Airjet

Describe the bug

All spa controls regularly switch between unavailable and available - currently on a five minute cycle. Spa can't be controlled while entities are unavailable. The diagnostic entity "Connected" shows connected the whole time, even when the spa controls are unavailable.

For example, at 10:19:30AM the following entities became unavailable: Spa Thermostat, Spa Power, Spa Filter, Spa Bubbles, Spa Locked. Then, at 10:24:40AM, the entities all become available again (showing in the logbook as "turned off").

This screenshot demonstrates how regularly the entities are cycling:

Image

I've tried resetting the spa and re-adding it, using a new Bestway account, deleting the custom component and downloading it again... Not sure what else to try.

This has been a problem for months, but initially I just adjusted my automations to account for the issue... Would be good to resolve it though!

Logs

Starting with spa unavailable

  • 2025-04-30 12:03:21.227 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:03:21.228 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:03:21.228 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.974 seconds (success: True)
  • 2025-04-30 12:03:52.261 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:03:52.261 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:03:52.261 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 1.007 seconds (success: True)
  • 2025-04-30 12:04:23.231 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:04:23.231 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:04:23.231 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.978 seconds (success: True)

12:04:54PM Becomes available

  • 2025-04-30 12:04:54.236 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:04:54.237 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:04:54.237 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.984 seconds (success: True)
  • 2025-04-30 12:05:25.233 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:05:25.233 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:05:25.233 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.980 seconds (success: True)
  • 2025-04-30 12:05:56.240 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:05:56.240 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:05:56.240 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.986 seconds (success: True)
  • 2025-04-30 12:06:27.218 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:06:27.218 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:06:27.218 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.964 seconds (success: True)
  • 2025-04-30 12:06:58.237 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:06:58.237 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:06:58.237 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.984 seconds (success: True)
  • 2025-04-30 12:07:29.233 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:07:29.233 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:07:29.233 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.979 seconds (success: True)
  • 2025-04-30 12:08:00.245 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:08:00.245 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:08:00.246 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.992 seconds (success: True)
  • 2025-04-30 12:08:31.285 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:08:31.285 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:08:31.285 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 1.030 seconds (success: True)
  • 2025-04-30 12:09:02.320 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:09:02.320 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
    2025-04-30 12:09:02.320 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 1.066 seconds (success: True)

12:09:33PM Becomes unavailable

  • 2025-04-30 12:09:33.258 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:09:33.258 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:09:33.258 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 1.005 seconds (success: True)
  • 2025-04-30 12:10:04.240 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
  • 2025-04-30 12:10:04.240 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
    2025-04-30 12:10:04.240 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 0.987 seconds (success: True)
  • 2025-04-30 12:10:35.283 DEBUG (MainThread) [custom_components.bestway.bestway.api] Device list refreshed: {"devices": [{"protoc": 3, "ws_port": 8080, "port_s": 8883, "gw_did": null, "host": "usm2m.gizwits.com", "sleep_duration": 3600, "port": 1883, "mcu_soft_version": "P210D102", "product_key": "********************************", "state_last_timestamp": 1745978833, "role": "owner", "is_sandbox": false, "type": "normal", "product_name": "Airjet", "is_disabled": false, "mcu_hard_version": "P210D100", "wifi_soft_version": "0402003A", "dev_alias": "Spa", "mesh_id": null, "is_online": true, "dev_label": [], "wss_port": 8880, "remark": "21", "did": "", "mac": "", "passcode": "", "wifi_hard_version": "00ESP826", "is_low_power": false}]}
  • 2025-04-30 12:10:35.572 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ
    2025-04-30 12:10:35.572 DEBUG (MainThread) [custom_components.bestway.bestway.api] Status for device type 'Airjet' returned: {"system_err2": 0, "wave_appm_min": 59940, "heat_timer_min": 0, "heat_power": 0, "earth": 0, "wave_timer_min": 59940, "system_err6": 0, "system_err7": 0, "system_err4": 0, "system_err5": 0, "heat_temp_reach": 0, "system_err3": 0, "system_err1": 0, "system_err8": 0, "system_err9": 0, "filter_timer_min": 0, "heat_appm_min": 0, "power": 0, "temp_set_unit": "\u6444\u6c0f", "filter_appm_min": 0, "temp_now": 27, "wave_power": 0, "locked": 0, "filter_power": 0, "temp_set": 37}
  • 2025-04-30 12:10:35.572 DEBUG (MainThread) [custom_components.bestway.coordinator] Finished fetching Bestway API data in 1.318 seconds (success: True)
  • 2025-04-30 12:11:06.240 DEBUG (MainThread) [custom_components.bestway.bestway.api] New data received for device 0ntjhzV1Yc9AWbqoQfu1gZ

And so on... doesn't become available again until 12:14:43PM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions