Home Assistant 跨品牌智能家居实战:接入米家与 vivo,再配置固定公网访问
前言
家里的智能设备一多,我最烦的不是设备本身不好用,而是每个品牌都想把人留在自己的 App 里:灯在米家,语音入口在 vivo,另一批设备又有自己的平台。单个设备都能控制,可一旦想把它们放进同一个界面、做跨品牌联动,原来“很智能”的家就开始变得很碎。对我来说,Home Assistant 真正有价值的地方,不是再多一个控制面板,而是把不同设备和集成放进同一套管理逻辑里,让后续自动化、语音和远程访问有一个共同入口。尤其真正开始做自动化以后,我更不想记住“这个设备归哪个 App、那个场景在哪个平台设置”,而是希望先把设备关系理顺,再决定怎么控制。
这次我按 Windows + Docker 的环境部署 Home Assistant,先完成管理员和基础设置,再安装 HACS,接入 Xiaomi Home,把账号下的 8 个米家设备导入;随后通过 VivoHomeBridge,把 Home Assistant 里的设备桥接到 vivo 智慧生活,并用 OriginOS 6.0 以上的蓝心小V快捷指令做实际控制测试。最后安装 cpolar,把 8123 管理页面提供到公网,遇到 400 后再补 trusted_proxies 配置,最终切换到固定二级子域名 homeassistant。我更看重的是每一层到底负责什么,而不是把“跨品牌”理解成装完 Home Assistant 后所有设备都会自动互通。

1. Home Assistant 解决的不是“设备更多”,而是“入口更统一”
Home Assistant 是一个智能家居自动化平台,可以把不同品牌、不同协议和不同生态里的设备接到同一套界面中管理。
这次我真正想解决的是三个问题:
- 不想在多个 App 之间来回切换;
- 想让米家设备进入 Home Assistant 统一管理;
- 想让 vivo 的语音入口也能控制已经接入 Home Assistant 的设备。
所以整条链并不是“Home Assistant 一装,所有品牌自动打通”,而是:
Home Assistant 负责统一管理 → HACS 提供社区扩展入口 → Xiaomi Home 把米家设备接进来 → VivoHomeBridge 再把设备桥接到 vivo 生态。
自动化和语音能不能真正工作,仍然取决于对应集成是否配置成功。
2. 先用 Docker 把 Home Assistant 跑起来
这次演示环境是 Windows。
按 Win + R,输入 cmd 打开命令提示符,然后执行:
docker run -d –name homeassistant –restart=always -p 8123:8123 -v C:\\docker\\homeassistant:/config –dns 223.5.5.5 –dns 119.29.29.29 –dns 8.8.8.8 docker.1ms.run/homeassistant/home-assistant:stable
如果使用 Linux,当前命令是:
sudo docker run -d –name homeassistant –restart=always -p 8123:8123 -v /srv/homeassistant:/config –dns 223.5.5.5 –dns 119.29.29.29 –dns 8.8.8.8 docker.1ms.run/homeassistant/home-assistant:stable

这两条命令里需要记住几个关键点:
- 容器名:homeassistant
- 重启策略:–restart=always
- Web 端口:8123:8123
- Windows 配置目录:C:\\docker\\homeassistant:/config
- Linux 配置目录:/srv/homeassistant:/config
- 镜像:docker.1ms.run/homeassistant/home-assistant:stable
部署完成后检查容器:
docker ps

当前状态显示为 UP,端口是 8123。
然后浏览器访问:
http://localhost:8123

页面能正常打开以后,Docker 这一层就算跑通了。
3. 完成 Home Assistant 首次初始化
第一次进入页面,点击:
创建我的智能家居
然后创建管理员用户。

接着进入地理位置设置,搜索并选择所在地址。

用户体验计划按自己的需求选择。

最后完成初始化并登录主页。

到这里确认的是:
Docker → Home Assistant 8123 → Web 管理页面
已经可以正常使用。
至于设备接入和跨品牌控制,还要继续往下配置。
4. 安装 HACS,给后面的社区集成留入口
HACS(Home Assistant Community Store)在这套流程里主要负责安装和管理社区集成。
先进入 Home Assistant 容器:
docker exec -it homeassistant sh

然后执行当前给出的 HACS 安装命令:
wget -O – https://get.hacs.vip | bash –
# 或
curl -fsSL get.hacs.vip | bash

安装成功后退出容器:
exit
再重启 Home Assistant:
docker restart homeassistant

回到 Home Assistant 页面,依次进入:
设置 → 设备与服务

点击右下角:
添加集成
搜索:
hacs

进入后勾选对应选项并提交。

稍等片刻,侧边栏就能看到 HACS。

到这里,后面的 Xiaomi Home 和 VivoHomeBridge 才有了更方便的安装入口。
5. 先把米家设备接进 Home Assistant
这次用 Xiaomi Home 做实际接入。
先在 HACS 中找到 Xiaomi Home。

进入后点击:
DOWNLOAD

下载完成后,回到设置页面,根据提示重启 Home Assistant。

重启以后,再回到:
添加集成
搜索:
Xiaomi Home

进入集成以后,会先出现风险告知。
勾选并继续。

接着选择:
继承网络配置

再勾选:
检测网络依赖项

然后点击:
跳转进行登录

6. Xiaomi Home 授权时遇到 homeassistant.local,怎么处理?
登录完成以后,浏览器会跳转到类似下面的地址:
http://homeassistant.local:8123/api/webhook/xxxxxxxxxxxx

这时页面显示无法访问。
这里的关键不是重新登录,而是把地址中的:
homeassistant.local
换成部署 Home Assistant 那台机器的 IP。
当前示例写成:
192.168.50.222:8123/api/webhook/xxxxxxxxxxxx
修改后直接回车。

授权成功以后回到 Home Assistant。
当前账号下可以看到:
8 个智能设备

勾选:
导入设备的家庭
继续下一步。

导入完成后,设备已经同步进 Home Assistant。

这一层真正验证的是:
米家账号 → Xiaomi Home 集成 → Home Assistant → 8 个设备导入成功。
后面所谓“统一管理”,至少在这批设备上已经有了实际入口。
7. 再用 VivoHomeBridge 把设备桥到 vivo 生态
如果手机使用 vivo,但家里的设备主要在米家,就会遇到一个很现实的问题:
小V不能直接控制这些米家设备。
这次用 VivoHomeBridge 做桥接。
它在这条链里负责的是:
Home Assistant → vivo 智慧生活
而不是替代 Home Assistant。
先在 HACS 中搜索:
VivoHomeBridge
并下载。

下载完成后,按页面提示重启。

重启以后回到:
设置 → 设备与服务 → 添加集成
搜索:
VivoHomeBridge

进入以后勾选“我已悉知”,继续下一步。

创建成功后进入 VivoHomeBridge。

点击小齿轮,会弹出二维码。
接下来在手机应用商店安装:
智慧生活

手机端继续以后,回到 Web 页面选择需要加入的设备并提交。

提交后,页面已经可以看到设备。

回到手机端,连接中心和 App 里也能看到添加的设备,并且可以正常控制。

到这里,这条链已经形成:
米家设备 → Home Assistant → VivoHomeBridge → vivo 智慧生活。
8. 蓝心小V快捷指令,才是跨品牌控制的实际验证
仅仅“设备能出现在 vivo App 里”,还不等于语音控制已经验证。
当前流程继续配置蓝心小V快捷指令。
前提条件是:
手机系统需要 OriginOS 6.0 或更高版本。
按页面步骤配置快捷指令。

配置后先点击执行按钮测试。

当前页面显示:
执行成功
随后打开米家 App,可以看到:
暖气插座已经自动打开。
这一段是真正值得保留的跨品牌结果:
蓝心小V快捷指令 → vivo 侧桥接 → Home Assistant → 米家设备 → 暖气插座执行。
所以我不会把“跨品牌”写成抽象口号,而是落在这个已经实际操作成功的控制链上。
9. 本地控制跑通以后,再考虑外网访问
前面设备接入和跨品牌桥接已经在本地环境里完成。
如果人在家里,直接打开 Home Assistant 就够了。
但人在外面时,仍然可能想:
- 看全屋设备状态;
- 打开概览页面;
- 查看地图视图;
- 临时控制某个设备;
- 增加或调整自动化。
这里再增加 cpolar。

cpolar 在这套方案里只负责:
把 Home Assistant 的 8123 Web 管理页面提供到公网。
设备接入、自动化、米家集成和 vivo 桥接,仍然由 Home Assistant 和对应插件负责。
10. Windows 安装 cpolar
进入 cpolar 下载页面,下载 64-bit 安装包。

安装完成以后,在 CMD 中检查版本:
cpolar version

出现版本信息后,说明 cpolar 已经安装。
11. 注册并登录 cpolar Web UI
进入 cpolar 官网注册账号。

完成注册。

然后浏览器访问:
http://127.0.0.1:9200

登录后进入管理后台。

12. 把 Home Assistant 的 8123 映射到公网
进入:
隧道管理 → 隧道列表
当前默认有两条隧道:
- remoteDesktop → 3389 / TCP
- website → 8080 / HTTP

编辑 website。
当前配置改成:
- 隧道名称:homeassistant
- 本地地址:8123
- 地区:China Top

更新后,进入在线隧道列表。
可以看到 homeassistant 对应的 HTTP 和 HTTPS 地址。

用 HTTPS 地址访问。

这时页面出现了:
400
说明公网隧道已经把请求送到了 Home Assistant,但 Home Assistant 当前并没有接受这条反向代理链路。
13. 处理公网访问时的 400
进入 Home Assistant 容器:
docker exec -it homeassistant /bin/sh

然后把下面这段配置写入:
/config/configuration.yaml
cat << 'EOF' >> /config/configuration.yaml
http:
use_x_forwarded_for: true
trusted_proxies:
– 172.17.0.0/16
EOF

这里保留当前设置:
- use_x_forwarded_for: true
- trusted_proxies
- 172.17.0.0/16
写完以后退出容器并重启:
exit
docker restart homeassistant

重启后重新打开公网地址。

页面可以正常访问。
这一层真正验证的是:
Home Assistant 8123 → cpolar HTTPS 公网地址 → 反向代理信任配置 → 页面正常加载。
14. 随机公网能用以后,再配置固定二级子域名
随机地址适合先测试。
如果 Home Assistant 要长期从外面访问,我更希望入口固定下来。
进入预留页面:
https://dashboard.cpolar.com/reserved
选择:
保留二级子域名

当前保留记录为:
- 地区:China Top
- 二级域名:homeassistant
二级域名具有唯一性,以自己账号实际保留成功的名称为准。
回到:
隧道管理 → 隧道列表
找到:
homeassistant

点击编辑,把域名类型改成:
二级子域名
再填写前面保留的名称。

更新后到在线隧道列表查看。

最后通过 HTTPS 地址访问并登录。

固定公网访问已经跑通。
总结
这次 Home Assistant 最让我满意的,不是“设备全都进了一个页面”,而是终于能把原来分散在不同生态里的控制链串起来。
这次实际跑通的主线是:
Windows Docker → Home Assistant 8123 → HACS → Xiaomi Home → 8 个米家设备导入 → VivoHomeBridge → vivo 智慧生活 → OriginOS 6.0+ 蓝心小V快捷指令 → 暖气插座实际执行 → cpolar → 随机公网 → 400 → trusted_proxies → 公网正常访问 → 固定二级子域名 homeassistant。
几个边界也需要分清:
- Home Assistant 提供统一管理和自动化平台,不代表所有品牌设备都会自动兼容;
- 这次真正验证的是 Xiaomi Home 和 VivoHomeBridge 这两条集成链;
- 蓝心小V的实际测试结果是控制暖气插座成功;
- HACS 是社区扩展入口,不等于其中所有第三方集成都已经逐项验证;
- cpolar 只负责 Home Assistant 8123 的公网入口,不参与设备控制逻辑;
- 公网访问第一次出现 400 后,当前流程通过 use_x_forwarded_for 和 trusted_proxies: 172.17.0.0/16 处理;
- 固定二级子域名 homeassistant 解决的是长期访问入口变化的问题。
对我来说,真正好用的“全屋智能”并不是手机里再多一个万能 App,而是设备之间的控制链越来越清楚:谁负责接入、谁负责桥接、谁负责语音、谁负责远程访问,都能单独看明白。这样以后哪一层出问题,也不用把整套智能家居一起推倒重来。
网硕互联帮助中心




评论前必须登录!
注册