尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

ViCare 认证机制大改版:OAuth2 + Client ID 三步搞定,告别 401 报错

ViCare 认证机制大改版:OAuth2 + Client ID 三步搞定,告别 401 报错 ViCare 认证机制大改版OAuth2 Client ID 三步搞定告别 401 报错【免费下载链接】core:house_with_garden: Open source home automation that puts local control and privacy first.项目地址: https://gitcode.com/GitHub_Trending/co/coreHome Assistant 的 Viessmann ViCare 集成把认证机制从配置里存明文密码改为 OAuth2 令牌流程。存量配置会自动迁移升级后设备照常在线认证失败不再反复出现。新旧方案对比从明文密码到 OAuth2 令牌旧方案用户名、密码、Client ID 直接写在集成配置里每次靠它们调威仕曼云。新方案集成走 OAuth2 PKCEHA 只保存访问令牌密码不再落盘。左侧是旧数据流凭证跟着每个请求走右侧是新数据流令牌先找认证服务器要再带着令牌访问业务 API。核心原理令牌怎么拿、旧配置怎么迁迁移逻辑在homeassistant/components/vicare/__init__.py的async_migrate_entry中# 旧配置 1.2 - 2.1 的关键步骤 await async_import_client_credential(hass, DOMAIN, ClientCredential(client_id, , username)) token await hass.async_add_executor_job( obtain_token_via_basic_auth_pkce, client_id, username, password) data.pop(CONF_USERNAME) data.pop(CONF_PASSWORD) # 明文凭证从配置中移除白话说系统把你原来填的 Client ID 导入到 HA 的应用凭证框架application_credentials再用一次性的用户名密码 PKCE换回令牌存进配置随后把密码从配置里删掉。令牌文件名定义在homeassistant/components/vicare/const.py的VICARE_TOKEN_FILENAME迁移完成即删除旧文件。动手配置三步完成 Client ID 申请与集成接入申请 Client ID登录威仕曼开发者门户application_credentials提示页会给出入口创建新应用勾选 IoT 与 Offline Access 权限。填写重定向 URI填/auth/external/callback必须与 HA 实际回调路径完全一致复制生成的 Client ID 与 Client Secret。在 HA 接入设置 → 设备与服务 → 添加集成 → Viessmann ViCare按提示粘贴 Client ID / Client Secret跳转威仕曼登录页授权浏览器回到 HA 后集成自动加载⚠️ 重定向 URI 写错一个字符令牌就换不回来表现为重定向 URI 不匹配需要回门户改完再来。踩坑速查三个高频问题现象日志出现OAuth2 token is invalid, please re-authenticate。原因令牌过期且刷新失败或 Client Secret 被轮换。解法面板会弹出重新认证通知点一下走一遍授权即可设备列表不需要重建。现象vicare_token.save文件找不到。原因新版不再使用这个文件迁移时 HA 会主动删掉它。解法无需处理如果手动升级后集成掉线重新触发一次重新认证就能恢复。现象日志出现Vicare API rate limit exceeded设备状态刷新变慢。原因轮询频率超过威仕曼云端限流阈值。解法降低自动化里的轮询间隔。HA 也会按设备数量自动拉长缓存时长默认 60 秒 × 设备数多设备家庭属正常行为。收尾用 OAuth 令牌取代明文密码是云集成认证的正确方向。存量用户无需手动操作升级后按配置问题面板的通知把重定向 URI 更新一下即可其余交给自动迁移。【免费下载链接】core:house_with_garden: Open source home automation that puts local control and privacy first.项目地址: https://gitcode.com/GitHub_Trending/co/core创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表