笔记本电脑安装hassagent配合Homeassistant和小米插座实现自动充断电hassagent下载地址

一.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

(2) 安装并配置 HassAgent

  • 安装后打开 HassAgent,进入配置界面。
  • 填写 Home Assistant 的连接信息:
    • HA URLhttp://[你的HA IP]:8123(需替换为你的实际 IP)。
    • 长期访问令牌:在 Home Assistant 中生成一个长期令牌(用户配置 → 长期访问令牌)。
  • 启用以下传感器(确保电池状态可被监控):
    • Battery Level(电池电量百分比)。
    • Battery Charging(是否正在充电)。
    • Laptop Power Connected(电源是否连接)。

3. 在 Home Assistant 中添加小米插座

(1) 集成小米插座

  • 在 Home Assistant 中,进入 配置 → 设备与服务
  • 点击 添加集成,搜索并选择 Xiaomi Miot Auto(若未安装需先通过 HACS 安装此集成)。
  • 登录小米账号或通过本地模式添加插座,确保插座处于联网状态。

(2) 确认插座实体名称

  • 添加成功后,在 实体注册表 中找到小米插座的开关实体(如 switch.xiaomi_plug)。

4. 创建自动化规则

(1) 创建“停止充电”自动化

  • 触发条件:当笔记本电脑电池电量 ≥ 95%(或自定义阈值)。
  • 执行动作:关闭小米插座。
yaml
复制
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%(或自定义阈值)。
  • 执行动作:打开小米插座。
yaml
复制
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) 防止频繁开关

  • 在自动化中添加 延迟 或 条件判断,例如:
    yaml
    复制
    condition:
      - condition: state
        entity_id: switch.xiaomi_plug
        state: "on"  # 仅在插座开启时执行关闭动作

(3) 电池保护模式

  • 部分笔记本电脑(如 ThinkPad)支持通过 BIOS 或第三方工具(如 Lenovo Vantage)设置充电阈值,建议配合使用以延长电池寿命。

6. 注意事项

  1. 兼容性
    • 确保小米插座和 Home Assistant 的集成正常工作(可能需要本地网络通信或云连接)。
  2. 电源管理
    • 笔记本电脑需保持开机或睡眠模式(HassAgent 需在后台运行)。
  3. 安全防护
    • 避免在高温环境下长时间充电,建议设置合理的充放电阈值(如 20%~80%)。

常见问题

  • HassAgent 无法连接 Home Assistant
    • 检查防火墙设置,确保 8123 端口开放。
    • 确认长期访问令牌有效。
  • 自动化未触发
    • 检查传感器实体名称是否正确。
    • 在 Home Assistant 的 开发者工具 → 状态 中查看传感器数据是否更新。

通过以上步骤,即可实现根据笔记本电脑电池状态自动控制小米插座充断电的功能。