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

 找回密码
 立即注册
查看: 146|回复: 2

[经验分享] Docker HA实现小爱音箱控制宿主机容器

[复制链接]

1

主题

12

帖子

225

积分

中级会员

Rank: 3Rank: 3

积分
225
金钱
213
HASS币
0
发表于 昨天 20:22 | 显示全部楼层 |阅读模式
本帖最后由 长洲中登 于 2024-12-3 20:32 编辑

需求来源:希望通过小爱音箱语音控制容器的启动与停止。

由于使用的是Docker版本的HA,没法直接控制宿主机安装的其他容器。

步骤如下:

1、修改HA的Docker Compose编排文件,添加volumes条目: - /var/run/docker.sock:/var/run/docker.sock

2、使用id -nG命令,查看是否有docker用户,若没有,则执行sudo usermod -aG docker $USER命令,再执行newgrp docker,最后执行id -nG即可查看到“docker”


3、configuration.yaml中添加如下内容:

shell_command:
  start_xiaomusic: curl --unix-socket /var/run/docker.sock -X POST http://localhost/v1.43/containers/xiaomusic/start
  stop_xiaomusic: curl --unix-socket /var/run/docker.sock -X POST http://localhost/v1.43/containers/xiaomusic/stop


switch:
  - platform: template
    switches:
      docker_switch:
        friendly_name: "xiaomusic"
        turn_on:
          action: shell_command.start_xiaomusic
        turn_off:
          action: shell_command.stop_xiaomusic


4、重启HA容器,注意:仅重载配置或重启core没有用,必须重启容器,HA OS则需要重启设备。






5、既然已经有了容器的虚拟开关,那用小爱音箱控制的方法就多了,比如使用巴法云将开关同步至米家,最终即可实现小爱音箱语音控制容器的开关与停止。
tips:我的HA容器是HOST模式,所以curl请求中直接使用localhost地址即可

容器虚拟开关

容器虚拟开关
回复

使用道具 举报

0

主题

612

帖子

2536

积分

金牌会员

Rank: 6Rank: 6

积分
2536
金钱
1924
HASS币
0
发表于 3 小时前 | 显示全部楼层
你好楼主,能否实现小爱控制ha的设备,灯光 窗帘等等
回复

使用道具 举报

4

主题

333

帖子

2482

积分

金牌会员

Rank: 6Rank: 6

积分
2482
金钱
2149
HASS币
0
发表于 1 小时前 | 显示全部楼层
我用的是ssh登录的方式
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-4 16:35 , Processed in 0.048095 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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