笔记本电脑安装hassagent配合Homeassistant和小米插座实现自动充断电hassagent下载地址
- 茶余饭后
- 2025-04-07
- 285热度
- 0评论
一.docker部署EMQX服务(服务器和本地均可部署)
docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx
管理中心地址为:ip+18083,默认账号密码分别为:admin/public,密码可在登录管理中心时修改。
MQTT服务地址为:ip+1883,默认账号密码分别为:admin/public,密码若修改请使用新密码。(主要用MQTT)
二.docker部署homeassistant
I、Linux为例:
1.创建HomeAssistant/config文件夹
mkdir -p /data/homeassistant/config && cd /data/homeassistant/
chmod -R 777 /data/homeassistant/
2 创建HomeAssistant容器
①docker直接运行:
docker run -d \
--restart always \
--name homeassistant \
-v /data/homeassistant/config:/config \
-e TZ=Asia/Shanghai \
-p 8123:8123 \
homeassistant/home-assistant:latest
②使用docker compose运行HomeAssistant容器
version: '3'
services:
homeassistant:
image: homeassistant/home-assistant:latest
container_name: homeassistant
restart: always
volumes:
- /data/homeassistant/config:/config
environment:
- TZ=Asia/Shanghai
ports:
- "8123:8123"
II、在NAS中部署
①.打开 Docker,搜索homeassistant,选中第一项‘homeassistant/home-assistant’,点击下载,弹出页面中标签下拉到最后选择‘stable’(home assistant dev 版本更新比较频繁,不推荐选择‘latest’),映像大概有1G往上,耐心等待下载完成。
②.找到下载完成的映像,选中并启动,进入创建容器的过程,网络选择‘使用与Docker Host相同的网络’,下一步,容器名称可以自己填写,一般使用‘homeassistant’即可;资源限制可根据实际情况填写,也可以不勾选;推荐勾选‘启用自动重新启动’,点击高级设置,环境下新增变量如图,变量名TZ,值Asia/Shanghai,也可以根据你自己的时区选择,点击保存会返回常规设置,点击下一步.存储空间设置,这一步需要先在 File Station 中创建好用来保存 homeassistant 配置文件的文件夹,通常会保存在 Docker 目录下,在 Docker 目录下创建homeassistant文件夹,在homeassistant文件夹下创建config文件夹。创建完成后,在存储空间设置中选择‘添加文件夹’,选择刚刚创建好的/docker/homeassistant/config目录,装载路径下填写/config ,下一步默认直至完成。在左侧容器中,可以看到 home assistant 已经成功运行。
III、在home assistant添加MQTT集成
进入home assistant,在“设置”-“设备与服务”-添加集成-搜索“MQTT”,按提示登录MQTT服务地址为:ip+1883,默认账号密码分别为:admin/public,密码若修改请使用新密码。
IV、安装HACS插件库
为了将米家设备接入 Home Assistant,需要使用 Xiaomi MioT 集成,该集成不属于官方集成,需要在HACS插件库中下载安装,先安装HACS插件库
①首先需要在/data/homeassistant或者/docker/homeassistant/config(根据自己实际配置目录)目录下创建www和custom_components两个文件夹,在custom_components下创建hacs文件夹
②从HACS GitHub页面下载最新版本的 HACS,解压缩后,将文件全部放在/docker/homeassistant/config/custom_components/hacs目录下
③重启Home Assistant容器,进入homeassistant,点击左下角配置,选择‘设备与服务’,点击右下角‘添加集成’,搜索hacs
, 点击安装,勾选所有四个选项,点击提交,提示需要进行激活,点击中间的链接跳转到 GitHub,需要登录 GitHub,没有账号的话需要注册一个,登录后显示设备激活页面,输入上一步中的8位代码(可复制粘贴),点击继续,点击‘授权 hacs’,显示此页面表示授权完成。
④返回 Home Assistant 页面,左侧出现 HACS 插件库,搜索xiaomi,选择Xiaomi Miot Auto,点击右下角下载,弹出页面中选择最新版本即可,点击下载。
⑤进入homeassistant,点击左下角配置,选择‘设备与服务’,右下角‘添加集成’,搜索xiaomi,选择Xiao Miot Auto,输入小米账户的账号和密码,模式选择自动模式即可,点击提交,下拉列表中选择要添加进 Homeassistant 的设备,排除筛选下,选中的设备不会被添加;包含筛选下,只有选中的设备会被添加(这里我们只需要用到米家智能插座),提交后,可以选择每个设备所在的区域,也可以后边再修改,点击完成即可。
三、在电脑安装hassagent
hassagent下载地址:https://hassagent.readthedocs.io/en/latest/
hassagent安装视频:
1. 准备工作
- 硬件设备:
- 支持 Home Assistant 的小米智能插座(如:小米 WiFi 插座、米家智能插座等)。
- 笔记本电脑(需支持通过电池状态触发自动化)。
- 软件环境:
- 已部署 Home Assistant(建议安装最新版本)。
- 笔记本电脑安装 HassAgent(用于将电脑状态发送到 Home Assistant)。
2. 安装和配置 HassAgent
(1) 下载 HassAgent
- 访问 HassAgent GitHub 仓库,下载适用于你操作系统的版本(Windows/macOS/Linux)。
(2) 安装并配置 HassAgent
- 安装后打开 HassAgent,进入配置界面。
- 填写 Home Assistant 的连接信息:
- HA URL:
http://[你的HA IP]:8123
(需替换为你的实际 IP)。 - 长期访问令牌:在 Home Assistant 中生成一个长期令牌(
用户配置 → 长期访问令牌
)。
- HA URL:
- 启用以下传感器(确保电池状态可被监控):
- Battery Level(电池电量百分比)。
- Battery Charging(是否正在充电)。
- Laptop Power Connected(电源是否连接)。
3. 在 Home Assistant 中添加小米插座
(1) 集成小米插座
- 在 Home Assistant 中,进入
配置 → 设备与服务
。 - 点击
添加集成
,搜索并选择 Xiaomi Miot Auto(若未安装需先通过 HACS 安装此集成)。 - 登录小米账号或通过本地模式添加插座,确保插座处于联网状态。
(2) 确认插座实体名称
- 添加成功后,在
实体注册表
中找到小米插座的开关实体(如switch.xiaomi_plug
)。
4. 创建自动化规则
(1) 创建“停止充电”自动化
- 触发条件:当笔记本电脑电池电量 ≥ 95%(或自定义阈值)。
- 执行动作:关闭小米插座。
alias: "Stop Charging at Full Battery" trigger: - platform: numeric_state entity_id: sensor.laptop_battery_level # HassAgent 上报的电量传感器 above: 95 action: - service: switch.turn_off target: entity_id: switch.xiaomi_plug # 替换为你的插座实体
(2) 创建“开始充电”自动化
- 触发条件:当电池电量 ≤ 20%(或自定义阈值)。
- 执行动作:打开小米插座。
alias: "Start Charging at Low Battery" trigger: - platform: numeric_state entity_id: sensor.laptop_battery_level below: 20 action: - service: switch.turn_on target: entity_id: switch.xiaomi_plug
5. 优化与调试
(1) 设置轮询频率
- 在 HassAgent 中调整传感器数据上报频率(如每 30 秒更新一次),避免频繁请求影响性能。
(2) 防止频繁开关
- 在自动化中添加 延迟 或 条件判断,例如:
condition: - condition: state entity_id: switch.xiaomi_plug state: "on" # 仅在插座开启时执行关闭动作
(3) 电池保护模式
- 部分笔记本电脑(如 ThinkPad)支持通过 BIOS 或第三方工具(如 Lenovo Vantage)设置充电阈值,建议配合使用以延长电池寿命。
6. 注意事项
- 兼容性:
- 确保小米插座和 Home Assistant 的集成正常工作(可能需要本地网络通信或云连接)。
- 电源管理:
- 笔记本电脑需保持开机或睡眠模式(HassAgent 需在后台运行)。
- 安全防护:
- 避免在高温环境下长时间充电,建议设置合理的充放电阈值(如 20%~80%)。
常见问题
- HassAgent 无法连接 Home Assistant:
- 检查防火墙设置,确保
8123
端口开放。 - 确认长期访问令牌有效。
- 检查防火墙设置,确保
- 自动化未触发:
- 检查传感器实体名称是否正确。
- 在 Home Assistant 的
开发者工具 → 状态
中查看传感器数据是否更新。
通过以上步骤,即可实现根据笔记本电脑电池状态自动控制小米插座充断电的功能。