本帖最后由 demacia 于 2023-9-28 14:52 编辑
HAVCS 插件开源地址:https://github.com/cnk700i/havcs
论坛教程:https://bbs.hassbian.com/thread-15591-5-1.html
HA版本:2023.5.2 (相当新,本月刚入坑ha)
接入过程有几个问题
1. 小度技能平台client_id 设置问题
havcs作者的官方文档(https://ljr.im/articles/plugins-havcs-edible-instructions/ )中写着
#Client Id,填回调(重定向)地址域名那一串即可(HA要求格式)
小度:https://xiaodu.baidu.com
复制代码
但是我实际在小度开放平台上配置调试授权的时候,Oath2跳转的连接里面是https://xiaodu-dbp.baidu.com
导致我的公网ha授权登录后总是返回redirect_uri无效。(查看了ha的源码,发现回调地址(redirect_uri)和client_id的协议和网址必须是一样的)
2. havcs.reload 报错
报错信息 havcs的插件代码里面调用了ha的 `async_get_registry ` 方法不存在
搜索发现在另一个项目的issue里面看到这个方法在去年就已经弃用,因为我的ha版本是相当新的,已经被官方移除了。
https://github.com/rospogrigio/localtuya/issues/855
2022-07-26 16:59:28 WARNING (MainThread) [homeassistant.helpers.frame] Detected integration that uses deprecated `async_get_registry` to access entity registry, use async_get instead. Please report issue to the custom component author for localtuya using this method at custom_components/localtuya/__init__.py, line 315: ent_reg = await er.async_get_registry(hass)
复制代码
所以就试着将havcs的源码中涉及到async_get_registry的代码都调整为async_get
3. 小度设备更新慢
由于踩了前面的坑,一度以为接入会失败,喊小度开灯也一直没反应。本来想放弃了,过了大概几十分钟,突然tmd小度软件里面出现了配置的风扇组件,试着在喊了下,“小度,小度,打开风扇” “好的!!!”
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2023-06-30 更新 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
楼主将自己ha下的havcs插件提交到原作者的fork代码上,但不做PR了(有需要的自取)
https://github.com/hass-demacia/havcs
更改内容:
- https://bbs.hassbian.com/thread-15591-5-1.html 这个帖子的提及的问题
- async_get_registry -> async_get
还有人问configuration的配置,这里也贴下
havcs:
platform:
- dueros
http:
clients:
duerosxxxx: xxxx
ha_url: http://localhost:8123
expire_in_hours: 24
device_config: ui
复制代码
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2023-09-28 更新 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
这个帖子是踩坑分享,不是教程,贴主自己不具备ha的代码开发能力,只是在自己的场景下基于havcs作者的代码,根据报错稍微调整下。