找回密码
 立即注册

微信扫码登录

搜索
查看: 4411|回复: 31

[插件集成] 更优雅的和家亲SP mini 3-AL博联插座接入Home Assistant

[复制链接]

2

主题

11

回帖

269

积分

中级会员

积分
269
金钱
256
HASS币
0
发表于 2025-2-14 20:26:41 | 显示全部楼层 |阅读模式
本帖最后由 Jacob 于 2025-2-14 20:26 编辑

更优雅的和家亲(移动爱家)SP mini 3-AL 博联智能插座接入 Home Assistant

感谢 @avrilclc 提供的思路,我在此基础上进一步优化了方法,更简单且有更好的健壮性。

实现 Home Assistant 启动后,自动检测添加 SP mini 3-AL 的配置到 Broadlink 集成,自动判断 Python 版本和添加位置,后续更新都可用。

1. 创建替换脚本

在 Home Assistant 配置目录下,新建一个 `shell` 文件夹,其中创建一个 `add_spmini3.sh` 脚本。

mkdir shell
touch shell/add_spmini3.sh

打开 add_spmini3.sh 粘贴以下代码,保存:

游客,如果您要查看本帖隐藏内容请回复


此时,可以测试一下是否可以正常运行:

sh /config/shell/add_spmini3.sh

其实到这一步如果不想搞自动替换,已经可以结束了,Home Assistant 每次更新后手动执行上面的命令即可。

2. 添加 Home Assistant 配置

在 configuration.yaml 中,添加下面的配置:

shell_command:
  add_spmini3: "bash /config/shell/add_spmini3.sh"

保存,重启 Home Assistant

3. 创建自动化

进入 Home Assistant 添加一个自动化,右上角选择  YAML 编辑,粘贴下面的代码:

alias: add_spmini3
description: ""
triggers:
  - trigger: homeassistant
    event: start
conditions: []
actions:
  - action: shell_command.add_spmini3
    metadata: {}
    data: {}
    response_variable: response
  - if:
      - condition: template
        value_template: |
          {% if response['stdout'] == "已添加 SPmini3 到 Broadlink 集成!" %}
            True
          {% else %}
            False
          {% endif %}
    then:
      - action: notify.persistent_notification
        metadata: {}
        data:
          title: SPmini3 已添加
          message: |-
            {{ response['stdout'] }}
            将在 1 分钟后重启 Home Assistant,请做好准备。
        enabled: true
      - delay:
          hours: 0
          minutes: 1
          seconds: 0
      - action: homeassistant.restart
        metadata: {}
        data: {}
    else:
      - action: notify.persistent_notification
        metadata: {}
        data:
          title: SPmini3 已存在
          message: |-
            {{ response['stdout'] }}
            请前往 Broadlink 集成添加您的设备。
        enabled: true
mode: single

完事。

每次 Home Assistant 启动时均会检查 SP mini 3-AL 的配置,若无则到 Broadlink 集成,并且重启 Home Assistant。执行结果可以在 Home Assistant 菜单栏的通知中查看。

参考文献

https://bbs.hassbian.com/thread-25030-1-1.html

https://bbs.hassbian.com/thread-18620-1-1.html

https://www.home-assistant.io/integrations/shell_command/



本文使用署名—非商业性使用—相同方式共享4.0 协议发布。
This work by Jacob is licensed under CC BY-NC-SA 4.0

Discuz! 的编辑器可以说是很难用了,Markdown 复制过来全乱了都要重新调整,有一种复古的美 : )



知识,与你分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-9-19 05:32 , Processed in 1.004776 second(s), 15 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表