2024.2.0后使用的修改版havcs自定义组件
本帖最后由 dscao 于 2024-4-2 23:40 编辑ha升级到2024.2.0后有些参数又发生变化了,现在更新后的版本仅支持ha2024.2.0以后的版本,老版本请勿安装。
------------------------------
ha升级到2022.3后,所有"with async_timeout.timeout(5, loop=hass.loop):"中 loop参数弃用出错了,说很早就提示了。我是每次出问题了才知道。
另外简单修改了一下,可以运行,但是半小时后小度平台的绑定就失效了。这也就基本让小度废了呀。
折腾了两天都没解决,跟踪调试发现问题出在: async_update_token_expiration(access_token, hass, expiration) ,好像总是结果总是错误的。
最后终于搜过到作者的库中有位大佬moonsn提交了一个 pull ,“fix: adapt new version of homeassistant with jwt version 2.x.x”
用他的“util.py" 替换进去后,重启core,再测试终于log正常了。
2022-03-06 02:18:35 DEBUG (MainThread) expiration ,refresh_token:
2022-03-06 02:18:35 DEBUG (MainThread) get access token with default expiration , try to update expiration param and get new access token through another refresh token request.
2022-03-06 02:18:35 DEBUG (MainThread) set new access token expiration for refresh_token
2022-03-06 02:18:35 DEBUG (MainThread) get new access token with new expiration.
2022-03-06 02:18:35 DEBUG (MainThread) success to deal authorization_code request, return access token.经过几天测试,自建小度技能的方式,完全正常了。
当然最好还是作者能更新一下。
**** Hidden Message *****
附件是我修改后的完整文件包,只是修改了新版报错的问题,所以代码逻辑未作任何调整。只有本人使用中作了测试,没有其它更多更广泛的测试。
使用方法参照原版:https://github.com/cnk700i/havcs
2023.7月发现小度技能开放平台,授权时,跳转到ha后,需要将网址中后面参数中的 xiaodu-dbp.baidu.com 修改为 xiaodu.baidu.com,才能授权成功。
/auth/authorize?client_id=https%3A%2F%2Fxiaodu.baidu.com&response_type=code&redirect_uri=https%3A%2F%2Fxiaodu-dbp.baidu.com%2Fsaiya%2Fauth%2xxxxxxxxxxxxxxxxxxxxxxxxxx&state=xxxxxxxxxxxxxxxxxxxxxxxxxx&dueros_uid=xxxxxxxxxxxxxxxxxxxxxxxxx&scope=
改为:
/auth/authorize?client_id=https%3A%2F%2Fxiaodu.baidu.com&response_type=code&redirect_uri=https%3A%2F%2Fxiaodu.baidu.com%2Fsaiya%2Fauth%2xxxxxxxxxxxxxxxxxxxxxxxxxx&state=xxxxxxxxxxxxxxxxxxxxxxxxxx&dueros_uid=xxxxxxxxxxxxxxxxxxxxxxxxx&scope=
另外发现:设备修改或更新后,需要“小度小度,发现设备”才能让小度那边同步设备。
演示:
https://v.youku.com/v_show/id_XNTk4ODM1MTk2MA==.html
最新版支持的指令:
小度小度,之后语音指令:
灯光:
打开/关闭 客厅灯
开灯/关灯 (小度所在房间的所有灯)
打开/关闭所有的灯 (全部的灯)
[卧室灯]亮度 调到最暗/调到最亮/调到50[%][卧室灯]色温 增加/调到最高/调到4500K
5分钟后/十二点十分 打开/关闭 客厅灯
开关:
打开/关闭 扫地机充电电源
打开/关闭 [客厅]电视插座
5分钟后/十二点10分 打开/关闭 热水器插座
风扇:
打开/关闭 [卧室]风扇
5分钟后/十二点10分打开/关闭 [卧室]风扇
空调:
打开/关闭 [卧室]空调
5分钟后/十二点10分打开/关闭 [卧室]空调
[卧室]空调 制冷/制热/送风/除湿/自动 模式
[卧室]空调 低/中/高/中高/中低/最大/最小 风 (配合自定义gree增强版集成)
[卧室]空调 强劲/静音/自动 风(配合自定义gree增强版集成)
空调 温度 24 度
把 客厅 温度 设置为 24度
把 卧室 的 温度 调高/调低 一点
空调 温度 调高/调低
空调 当前温度/目标温度 是多少
扫地机:
打开/关闭扫地机
电视:
打开/关闭 [客厅]电视(配合wukongtv集成,直接使用media_player.wukongtv 可更多控制功能, 电视音量 高一点/低一点/静音 )
加湿器/除湿机
打开/关闭 除湿机/加湿器
加湿器/除湿机 湿度 设置为 55
除湿机 查询 湿度
除湿机 设置的湿度是多少
传感器:
空气净化器 查一下 PM2.5
客厅温度计 查询 温度/湿度
空气检测仪 查询 温度/湿度/PM2.5/PM10
查询开关状态:
设备名称 开了吗
我的也是直接给我把树莓派的容器干成x86 楼主能分享一下那个util.py文件吗? 同求修改后的文件,膜拜大神 感谢楼主分享 感谢楼主分享:handshake 感谢楼主分享 值得学习 学习了,谢谢 楼主,你是一个大好人!!