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

 找回密码
 立即注册
查看: 258|回复: 4

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

[复制链接]

1

主题

15

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
金钱
228
HASS币
0
发表于 2024-12-3 20:22:37 | 显示全部楼层 |阅读模式
本帖最后由 长洲中登 于 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

主题

618

帖子

2558

积分

金牌会员

Rank: 6Rank: 6

积分
2558
金钱
1940
HASS币
0
发表于 2024-12-4 13:23:30 | 显示全部楼层
你好楼主,能否实现小爱控制ha的设备,灯光 窗帘等等
回复

使用道具 举报

4

主题

334

帖子

2490

积分

金牌会员

Rank: 6Rank: 6

积分
2490
金钱
2156
HASS币
0
发表于 2024-12-4 15:25:23 | 显示全部楼层
我用的是ssh登录的方式
回复

使用道具 举报

1

主题

15

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
金钱
228
HASS币
0
 楼主| 发表于 2024-12-4 17:12:25 | 显示全部楼层
wbdownn 发表于 2024-12-4 15:25
我用的是ssh登录的方式

也是一种推荐的方式
回复

使用道具 举报

1

主题

15

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
金钱
228
HASS币
0
 楼主| 发表于 2024-12-4 17:15:05 | 显示全部楼层
Ari 发表于 2024-12-4 13:23
你好楼主,能否实现小爱控制ha的设备,灯光 窗帘等等

使用巴法云插件就行了,在HACS商店里安装插件,米家app设置里添加其他平台,里面有巴法云,具体教程网上和论坛里应该也有
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-12 05:01 , Processed in 0.390554 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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