Skip to content

新增九号轮询稳定性选项#8

Open
shigella520 wants to merge 1 commit into
hasscc:mainfrom
shigella520:codex/polling-resilience-options
Open

新增九号轮询稳定性选项#8
shigella520 wants to merge 1 commit into
hasscc:mainfrom
shigella520:codex/polling-resilience-options

Conversation

@shigella520

Copy link
Copy Markdown

改动

  • 新增“更新失败时保留上次数据”选项,默认关闭,保持原行为。
  • 设备列表整体请求失败时,若开启该选项且已有旧数据,则继续返回上一次成功数据。
  • 单台车状态请求失败时,若开启该选项且该车有旧数据,则只复用该车旧数据,其他车辆继续使用本轮成功结果。
  • 新增请求间隔和设备间隔两个选项,默认 0 秒,降低多车账号一轮扫描内连续请求过快导致 TLS 超时的概率。
  • travel 请求从 async_get_device_state 中拆出,便于 coordinator 在 statustravel 之间插入延迟。

原因

网络抖动或九号接口 TLS handshake timeout 时,原逻辑会让本轮更新失败并影响所有实体。多车账号下同一轮扫描会连续请求设备列表、每台车状态和行程数据,请求过密时更容易触发超时。这个 PR 把稳定性策略做成可选配置,默认不改变现有行为。

验证

  • python3 -m py_compile custom_components/ninebot/*.py
  • jq . custom_components/ninebot/translations/zh-Hans.json
  • jq . custom_components/ninebot/translations/en.json
  • git diff --check

@shigella520 shigella520 marked this pull request as ready for review June 30, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant