本帖最后由 avrilclc 于 2025-1-8 15:06 编辑
https://bbs.hassbian.com/thread-18620-1-1.html 此贴回复中maxmib发了和家亲版的,但是不能用,能发现设备,读到设备名字,但是添加失败
我参考楼里面的回复修改了一下,实测可以接入
搜了论坛,应该没人发过,感谢上面帖子的大佬,在此也分享一下我改好的,直接可用, 使用方法:
先用移动和家亲官方app联网,得到ip;
方法一
下载附件, 解压后把mobilel6文件夹放入 /config/custom_components
最后在ha的集成里面添加集成, 搜索mobile, 添加mobileL6集成, 然后输入ip地址即可
下次可能官方插件会支持, 我在github提交了合并请求, 具体时间不得而知了,支持了会更新此贴
2025.1.4更新:求助deepseek,改好了,重新下载删掉旧的,用这个新的。重启一下即可
方法二 :
直接用官方broadlink集成,但是需要修改broadlink的python库
步骤如下:configuration.yaml 添加如下
homeassistant:
allowlist_external_dirs:
- "/config/file"
复制代码
注:在原有的 homeassistant:条目下添加 ,不要新加一个 homeassistant:条目
我的加完是这样
homeassistant:
packages: !include_dir_named packages
allowlist_external_dirs:
- "/config/file"
复制代码
然后在最下面添加
shell_command:
run_broadlink_script: >
/bin/bash -c "
if ! grep -q '0x7d15' /usr/local/lib/python3.13/site-packages/broadlink/__init__.py; then
cd /usr/local/lib/python3.13/site-packages/broadlink &&
sed -i '71a\ 0x7d15: ("SP mini 3-AL", "Broadlink (OEM)"),' __init__.py &&
echo 'Broadlink 文件已成功修改!'
else
echo 'Broadlink 文件中已存在 0x7d15,无需修改。'
fi &&
echo '{{ states('sensor.current_version') }}' > /config/file/last_version.txt &&
echo '已更新 last_version.txt 文件。'"
复制代码
在config目录下新建一个 file文件夹,里面放一个last_version.txt 的空白文件
重启HA , 集成里面 添加 搜索:file, 选第一个file,“设置基于文件的传感器”,文件路径填 /config/file/last_version.txt,其余默认,然后提交
集成里面 添加 搜索: 版本 ,然后选第一个Local installation ,提交,剩下的默认,点完成
然后添加一个自动化
alias: Run Script and Restart After HA Version Update
description: Run a Broadlink script and restart Home Assistant after a version update.
triggers:
- event: start
trigger: homeassistant
conditions:
- condition: template
value_template: "{{ states('sensor.current_version') != states('sensor.file') }}"
actions:
- data: {}
action: shell_command.run_broadlink_script
- delay: "00:00:05"
- data: {}
action: homeassistant.restart
mode: single
复制代码
再次重启HA ,然后在broadlink集成里面添加就可以了
试了很多方法,就这个成功了
原理:
/config/file/last_version.txt 文件记录版本号,file集成读取 last_version.txt生成 sensor.file; “版本” 集成 生成 sensor.current_version
比较HA的版本,如果重启后版本号发生变化,就自动修改broadlink库并更新 /config/file/last_version.txt 文件到最新版本号,这样不更新版本就不会触发自动化
按我的步骤100%成功, 为什么步骤这么多?因为版本号需要固化,其他办法一重启就变了,试了 input_text, 会陷入重启loop。总之,这个方法成功了