找回密码
 立即注册
查看: 969|回复: 18

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

[复制链接]

2

主题

11

回帖

249

积分

中级会员

积分
249
金钱
236
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 复制过来全乱了都要重新调整,有一种复古的美 : )



知识,与你分享
回复

使用道具 举报

14

主题

1526

回帖

4958

积分

论坛元老

积分
4958
金钱
3418
HASS币
0
发表于 2025-2-14 20:47:08 | 显示全部楼层
恩,比我的高级,我是直接命令行添加的,也搞了个自动化。
回复

使用道具 举报

5

主题

88

回帖

774

积分

高级会员

积分
774
金钱
681
HASS币
0
发表于 2025-2-20 00:27:29 | 显示全部楼层
感谢分享!
回复

使用道具 举报

11

主题

77

回帖

603

积分

论坛分享达人

积分
603
金钱
515
HASS币
0
发表于 2025-2-20 03:20:36 | 显示全部楼层
本帖最后由 avrilclc 于 2025-2-20 03:21 编辑

确实要优雅一点,不用麻烦的判断版本,直接先执行然后判断需不需要重启;
我这个完全是靠deepseek v3写出来的

更优雅的是什么都不用做,https://github.com/mjg59/python-broadlink 我提交了pull,作者一直没更新
回复

使用道具 举报

0

主题

1

回帖

24

积分

新手上路

积分
24
金钱
23
HASS币
0
发表于 2025-2-21 08:47:02 | 显示全部楼层
看看666看看666
回复

使用道具 举报

0

主题

9

回帖

72

积分

注册会员

积分
72
金钱
63
HASS币
0
发表于 2025-2-21 15:03:32 | 显示全部楼层
感谢分享!
回复

使用道具 举报

1

主题

11

回帖

69

积分

注册会员

积分
69
金钱
57
HASS币
0
发表于 2025-2-23 20:52:31 | 显示全部楼层
太帅了,非常好。
回复

使用道具 举报

0

主题

2

回帖

52

积分

注册会员

积分
52
金钱
50
HASS币
0
发表于 2025-2-26 13:57:15 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

1

回帖

16

积分

新手上路

积分
16
金钱
15
HASS币
0
发表于 2025-2-27 15:37:21 | 显示全部楼层
楼主太牛了啊
回复

使用道具 举报

tssz 

0

主题

28

回帖

94

积分

注册会员

积分
94
金钱
66
HASS币
0
发表于 2025-2-27 20:55:22 | 显示全部楼层
可以添加和家亲里的智能插座,把电量统计弄上去吗?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 09:55 , Processed in 0.633682 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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