
























先下载docker
再下载homeassistant
\\172.16.16.6\产品研发事业中心\产品经营部\NAS组\软件发布\Pro_Docker_APP\ARM\homeassistant
安装时选择对应的共享文件夹

配置加速器: https://docker.1ms.run

下载最新的ESPhome镜像
对应的下载地址是:
https://github.com/esphome/esphome/pkgs/container/esphome/632024310?tag=latest
docker pull ghcr.io/esphome/esphome:latest


下载完成后对比 sha256 ,一样则是下载完整了
docker images查看镜像
docker inspect <image_name_or_id>

创建容器,创建的时候选择对应的文件夹

启用特权模式

安装成功后,可以直接用设备的 启动后访问 http://NAS_IP:6052 即可进入 ESPHome Web UI ,比如现在的设备是在路由器下的 http://192.168.31.216:6052
新建一台虚拟设备

虚拟设备后选择 continue

New Device Setup

输入虚拟设备的相关信息


选择要模拟的设备型号,我这边选的是最常见的有硬件板的 ESP8266

创建成功后,可以把密钥复制下来,先跳过当前的安装编译过程,先对yaml文件进行修改,因为这次我们要模拟的是虚拟设备,所以这边要按照虚拟设备的过程去禁用相关功能

点击edit设备的yaml文件,把当前的配置写进去
esphome: name: api-virtual-switch1 friendly_name: api-virtual-switch1 # 核心:启用纯软件模拟,跳过所有硬件初始化 # simulation: # enabled: true # skip_hardware_init: true # 仅为模拟架构,无需真实ESP8266硬件 esp8266: board: esp01_1m # 禁用所有硬件相关功能,减少资源消耗 logger: level: NONE baud_rate: 0 # ota: # disabled: true # web_server: # disabled: true # Enable Home Assistant API # 与HA通信的核心组件(必须保留) # Key点击ESPHome UI的「Generate Key」生成 api: encryption: key: "V0ykWVdesK2y3pxTcDa7DSY7bDo3W2SHDdGthiTUdV4=" port: 6053 reboot_timeout: 0s # ota: # - platform: esphome # password: "0e262736d4f2cc92d52b94ea17cb671e" # 模拟Wi-Fi连接(无需真实Wi-Fi硬件,仅为网络标识) wifi: ssid: "Xiaomi_5A02" # 填NAS局域网的Wi-Fi即可(仅标识,不实际连接) password: "Aa123456" manual_ip: static_ip: 192.168.31.150 # 分配静态IP(避免冲突) gateway: 192.168.31.1 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Api-Virtual-Switch1" password: "xIkmVV1zjHly" captive_portal: # 模拟开关功能(无硬件,纯软件状态) switch: - platform: template name: "Virtual Wi-Fi Switch 1" id: virtual_switch optimistic: true # 乐观模式,无硬件反馈 # 定时切换状态(模拟设备上报) interval: - interval: 5s then: - switch.toggle: virtual_switch
simulation报错原因:
使用的 ESPHome 2025.12.5 是最新稳定版,理论上完全支持 simulation 配置,之所以仍报「invalid option」,核心原因是 simulation 配置的「平台兼容性」+「缩进 / 格式细节」—— 而非版本本身不支持
simulation 配置有严格的平台限制:
esp32、esp32s2、esp32s3、esp32c3(ESP32 全系列);esp8266(你配置的 board: esp01_1m 属于 ESP8266 架构)简单说:ESP8266 平台无论哪个版本的 ESPHome,都不支持 simulation 配置—— 这是硬件架构层面的限制,和 ESPHome 版本无关。
既然你用的是新版 ESPHome,我们放弃 simulation(ESP8266 不支持),改用新版的「mock 模拟模式」+ 优化配置,确保编译后自动启动、6053 端口开放:
点击 install 开始编译

因为是虚拟设备 所以选择最后的这个 Manual download

需要先给文件夹权限再开始编译
点开文件夹属性,复制对应的文件夹路径

先给设备的文件夹加上权限后再开始编译,避免出现因为权限问题而编译失败
root@DXP480TPLUS-820:/volume1/docker/esphome_esphome-1# chmod -R 777 /volume1/docker/esphome_esphome-1/ root@DXP480TPLUS-820:/volume1/docker/esphome_esphome-1# chmod -R 1000:1000 /volume1/docker/esphome_esphome-1/
设备开始编译
编译过程中会出现的问题
Tool Manager: Error: Please read https://bit.ly/package-manager-ioerror ERROR Error: Please read https://bit.ly/package-manager-ioerror
主要原因是因为没给文件夹权限

编译成功后 设备显示内容如下:


模拟纯软件的虚拟设备,应该选择 Factory format (Previously Modern)(第一个选项),这是适配 ESPHome Web / 纯模拟场景的最佳选择,下面帮你理清两者的区别和选择逻辑:
| 格式选项 | 适用场景 | 是否适合你的虚拟设备 |
|---|---|---|
nc -zv 192.168.31.150 6053
succeeded 即代表虚拟设备正常运行。在dokcer对应目录里面运行run命令 让当前的设备能够正确连接起来

声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。