『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 598|回复: 9

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

[复制链接]

2

主题

12

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
金钱
229
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

主题

1521

帖子

4839

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

5

主题

80

帖子

716

积分

高级会员

Rank: 4

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

使用道具 举报

10

主题

85

帖子

571

积分

论坛分享达人

积分
571
金钱
486
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

积分

新手上路

Rank: 1

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

使用道具 举报

0

主题

9

帖子

70

积分

注册会员

Rank: 2

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

使用道具 举报

1

主题

12

帖子

65

积分

注册会员

Rank: 2

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

使用道具 举报

0

主题

1

帖子

24

积分

新手上路

Rank: 1

积分
24
金钱
23
HASS币
0
发表于 6 天前 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
金钱
15
HASS币
0
发表于 5 天前 | 显示全部楼层
楼主太牛了啊
回复

使用道具 举报

0

主题

27

帖子

86

积分

注册会员

Rank: 2

积分
86
金钱
59
HASS币
0
发表于 5 天前 | 显示全部楼层
可以添加和家亲里的智能插座,把电量统计弄上去吗?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-3-4 19:20 , Processed in 0.062798 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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