[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article:smart-home-panel-e58a9c56":3},{"article":4,"revisions":15},{"id":5,"author_id":6,"firmware_project_id":7,"slug":8,"published_revision_id":9,"visibility":10,"moderation_lock_reason":11,"version":12,"created_at":13,"updated_at":14},"42e987c9-5009-4d33-836a-48467b3da070","b0b979c8-0f4e-425f-ba4c-2fbc494aa122","e58a9c56-d12b-44d1-8d94-0ca11239a95c","smart-home-panel-e58a9c56","b9650b95-012e-47ad-ba37-c295f0468d98","public",null,17,"2026-10-03T05:30:01.489Z","2026-10-04T03:17:14.909Z",[16],{"id":9,"article_id":5,"revision_no":17,"state":18,"source_revision_id":19,"change_summary":20,"version":21,"submitted_at":22,"reviewed_at":23,"published_at":14,"created_at":24,"description":25,"rendered_description":26,"content":27},3,"published","50be8192-6471-4449-9071-0134ca559ddc","1.0.1 真机验证更新：支持安装后通过 USB 保存私人桥接配置，增加设备输入及请求诊断，统一版本标识。六个按钮在设备端通过检查，真实 Home Assistant 联动仍待验证。",7,"2026-10-03T14:47:48.250Z","2026-10-04T03:17:14.887Z","2026-10-03T14:36:05.972Z","# Smart Home Panel · 智能家居面板\n\n把 ESP-Mosaico 变成触屏家居控制面板，通过 Wi-Fi 查看和控制已配置的 Home Assistant 灯光、窗帘、温度、空气质量和晚间场景。使用设备自带的 480 × 480 屏幕，无需扩展子板；联动功能需要 Home Assistant 和运行桥接程序的电脑。\n\n![智能家居面板真机画面](\u002Fapi\u002Fv1\u002Ffiles\u002Faus_77f32b9ef1218f235fea143d7920b8599c8bbc6256be1330049ffec5362c00bd.webp)\n\n## 操作与 Home Assistant 配置\n\n- **Living lights（客厅灯光）**：切换已配置的灯或灯组。\n- **Curtains（窗帘）**：根据报告状态打开或关闭已配置的窗帘。\n- **Temperature（温度）**、**Air quality（空气质量）**：点击刷新读数。\n- **Evening（晚间场景）**：启动已配置的场景。\n- **Lights off（关灯）**：仅关闭已配置的灯或灯组。\n\n读数会定期刷新，华氏温度会换算为摄氏度。在桥接电脑上设置以下环境变量：\n\n| 变量 | 含义 |\n| --- | --- |\n| `HA_URL` | Home Assistant 基础地址 |\n| `HA_TOKEN` | 私密的 Home Assistant 长期访问令牌 |\n| `MOSAICO_LIGHT` | 灯或灯组的实体 ID |\n| `MOSAICO_COVER` | 窗帘实体 ID |\n| `MOSAICO_TEMPERATURE` | 温度传感器实体 ID |\n| `MOSAICO_AIR_QUALITY` | 空气质量传感器实体 ID |\n| `MOSAICO_SCENE` | 晚间场景实体 ID |\n\n## 使用前配置\n\n**当前为开发预览版。固件不包含私人桥接地址或令牌，可安装后通过 USB 保存配置，无需为个人凭据重新构建。** 本版本仍需电脑运行桥接程序，屏幕内没有文字输入配置页。\n\n1. 安装提供的 1.0.1 Iris 固件，并在 Vibe Mode 中配置 Wi-Fi；应用复用已保存的网络。\n2. 在桥接电脑上安装 Python 3.10 或以上版本，通过环境变量 `MOSAICO_BRIDGE_TOKEN` 设置至少 24 个字符的随机私密令牌。\n3. 运行附件中的 `python3 projects\u002Fideas_common\u002Fbridge.py --bind 0.0.0.0 --port 8765`。电脑和设备应位于能互相访问的局域网；电脑防火墙须允许桥接程序接收连接。程序默认仅监听本机，局域网访问需要显式指定监听地址。\n4. 在同一开发工作区，用 `python3 mosaico.py iris device-status --project projects\u002Fsmart_home --json` 确认 USB 连接和 Device ID。\n5. 保持相同的 `MOSAICO_BRIDGE_TOKEN` 环境变量，执行 `python3 projects\u002Fideas_common\u002Fconfigure_device.py --project smart_home --device-id \u003CDevice-ID> --url https:\u002F\u002F\u003C桥接地址>:8765`。设置仅保存在板上的应用 NVS 中；配置程序会检查当前运行的应用和 USB 身份，响应不会返回令牌。\n6. HTTPS 可通过 `bridge.py --cert \u003C证书> --key \u003C私钥>` 启用；证书须受设备证书包信任，证书校验不会关闭。仅在可信局域网使用明文 HTTP 时，将 URL 改为 `http:\u002F\u002F...` 并显式添加 `--allow-http`。\n7. 清除配置时运行相同的配置命令并使用 `--clear`。不要公开令牌、个人构建配置或私密诊断日志。旧的 menuconfig 构建配置仍可使用，但不需要嵌入私人凭据来使用公开固件。\n\n在使用固定 ESP-IDF 的工作区根目录执行：\n\n```sh\npython3 submodule\u002Fesp-mosaico-utils\u002Fmosaico-tools\u002Fskills\u002Fidf-low-noise-build\u002Fscripts\u002Fidf_low_noise_build.py --project projects\u002Fsmart_home build\npython3 projects\u002Fideas_common\u002Ftests\u002Fcheck_bridge.py\npython3 projects\u002Fideas_common\u002Ftests\u002Fcheck_ui.py\n```\n\n提供的 1.0.1 Iris 包面向配备 16 MiB Flash、保留 Vibe Mode\u002FRecovery 的 ESP32-S31，包含应用、分区表及界面数据。配置缺失、网络离线、认证失败和上游异常会显示在屏幕上；失败指令不会自动重发，出错后保留的读数会标注为上次结果。桥接服务的每个进程只保存一台遥控器的当前控制目标。\n\n## 验证情况\n\n1.0.1 已在 ESP32-S31 实机上安装，通过设备真实画面和 USB 注入触控检查所有六个按钮、请求路由、非法输入拒绝及同一启动期间的稳定性；应用崩溃计数为零。USB 配置保存、清除及输入校验已验证，公开固件仍不含私人配置。源代码逻辑检查、ESP-IDF 构建和原生模拟器检查也已通过。\n\n真实 Home Assistant 设备联动尚未验证。USB 注入触控不等同于手指操作触摸控制器的验收。详情和安装过程限制见附件中的 `projects\u002Fideas_common\u002FDEVICE_VALIDATION.md`。\n\n## 源码与资源许可\n\n附件源码包不含凭据或带有个人配置的固件。将其中的 `projects\u002F` 解压到 ESP-Mosaico Vibe 开发工作区，保持本应用与 `ideas_common` 目录同级；构建依赖工作区已有的框架和工具，以及固定的 ESP-IDF 提交 `7b9cc1ac79f865983f59bb8ff3ff43eb74ff1dbe`。\n\n界面使用 DejaVu 字体，详见[字体许可](\u002Fapi\u002Fv1\u002Ffiles\u002Faus_1bfaad0c29ddda244fbc10889f91d465af83a36dbe123643a1fea0c3bac2c085.bin)。框架依赖保留各自许可证，本页面不新增整个仓库的授权条款。\n","\u003Ch1>Smart Home Panel · 智能家居面板\u003C\u002Fh1>\n\u003Cp>把 ESP-Mosaico 变成触屏家居控制面板，通过 Wi-Fi 查看和控制已配置的 Home Assistant 灯光、窗帘、温度、空气质量和晚间场景。使用设备自带的 480 × 480 屏幕，无需扩展子板；联动功能需要 Home Assistant 和运行桥接程序的电脑。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fapi\u002Fv1\u002Ffiles\u002Faus_77f32b9ef1218f235fea143d7920b8599c8bbc6256be1330049ffec5362c00bd.webp\" alt=\"智能家居面板真机画面\" \u002F>\u003C\u002Fp>\n\u003Ch2>操作与 Home Assistant 配置\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Living lights（客厅灯光）\u003C\u002Fstrong>：切换已配置的灯或灯组。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Curtains（窗帘）\u003C\u002Fstrong>：根据报告状态打开或关闭已配置的窗帘。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Temperature（温度）\u003C\u002Fstrong>、\u003Cstrong>Air quality（空气质量）\u003C\u002Fstrong>：点击刷新读数。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Evening（晚间场景）\u003C\u002Fstrong>：启动已配置的场景。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lights off（关灯）\u003C\u002Fstrong>：仅关闭已配置的灯或灯组。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>读数会定期刷新，华氏温度会换算为摄氏度。在桥接电脑上设置以下环境变量：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>变量\u003C\u002Fth>\n\u003Cth>含义\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>HA_URL\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Home Assistant 基础地址\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>HA_TOKEN\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>私密的 Home Assistant 长期访问令牌\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MOSAICO_LIGHT\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>灯或灯组的实体 ID\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MOSAICO_COVER\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>窗帘实体 ID\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MOSAICO_TEMPERATURE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>温度传感器实体 ID\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MOSAICO_AIR_QUALITY\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>空气质量传感器实体 ID\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MOSAICO_SCENE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>晚间场景实体 ID\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2>使用前配置\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>当前为开发预览版。固件不包含私人桥接地址或令牌，可安装后通过 USB 保存配置，无需为个人凭据重新构建。\u003C\u002Fstrong> 本版本仍需电脑运行桥接程序，屏幕内没有文字输入配置页。\u003C\u002Fp>\n\u003Col>\n\u003Cli>安装提供的 1.0.1 Iris 固件，并在 Vibe Mode 中配置 Wi-Fi；应用复用已保存的网络。\u003C\u002Fli>\n\u003Cli>在桥接电脑上安装 Python 3.10 或以上版本，通过环境变量 \u003Ccode>MOSAICO_BRIDGE_TOKEN\u003C\u002Fcode> 设置至少 24 个字符的随机私密令牌。\u003C\u002Fli>\n\u003Cli>运行附件中的 \u003Ccode>python3 projects\u002Fideas_common\u002Fbridge.py --bind 0.0.0.0 --port 8765\u003C\u002Fcode>。电脑和设备应位于能互相访问的局域网；电脑防火墙须允许桥接程序接收连接。程序默认仅监听本机，局域网访问需要显式指定监听地址。\u003C\u002Fli>\n\u003Cli>在同一开发工作区，用 \u003Ccode>python3 mosaico.py iris device-status --project projects\u002Fsmart_home --json\u003C\u002Fcode> 确认 USB 连接和 Device ID。\u003C\u002Fli>\n\u003Cli>保持相同的 \u003Ccode>MOSAICO_BRIDGE_TOKEN\u003C\u002Fcode> 环境变量，执行 \u003Ccode>python3 projects\u002Fideas_common\u002Fconfigure_device.py --project smart_home --device-id &lt;Device-ID&gt; --url https:\u002F\u002F&lt;桥接地址&gt;:8765\u003C\u002Fcode>。设置仅保存在板上的应用 NVS 中；配置程序会检查当前运行的应用和 USB 身份，响应不会返回令牌。\u003C\u002Fli>\n\u003Cli>HTTPS 可通过 \u003Ccode>bridge.py --cert &lt;证书&gt; --key &lt;私钥&gt;\u003C\u002Fcode> 启用；证书须受设备证书包信任，证书校验不会关闭。仅在可信局域网使用明文 HTTP 时，将 URL 改为 \u003Ccode>http:\u002F\u002F...\u003C\u002Fcode> 并显式添加 \u003Ccode>--allow-http\u003C\u002Fcode>。\u003C\u002Fli>\n\u003Cli>清除配置时运行相同的配置命令并使用 \u003Ccode>--clear\u003C\u002Fcode>。不要公开令牌、个人构建配置或私密诊断日志。旧的 menuconfig 构建配置仍可使用，但不需要嵌入私人凭据来使用公开固件。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>在使用固定 ESP-IDF 的工作区根目录执行：\u003C\u002Fp>\n\u003Cpre>\u003Ccode>python3 submodule\u002Fesp-mosaico-utils\u002Fmosaico-tools\u002Fskills\u002Fidf-low-noise-build\u002Fscripts\u002Fidf_low_noise_build.py --project projects\u002Fsmart_home build\npython3 projects\u002Fideas_common\u002Ftests\u002Fcheck_bridge.py\npython3 projects\u002Fideas_common\u002Ftests\u002Fcheck_ui.py\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>提供的 1.0.1 Iris 包面向配备 16 MiB Flash、保留 Vibe Mode\u002FRecovery 的 ESP32-S31，包含应用、分区表及界面数据。配置缺失、网络离线、认证失败和上游异常会显示在屏幕上；失败指令不会自动重发，出错后保留的读数会标注为上次结果。桥接服务的每个进程只保存一台遥控器的当前控制目标。\u003C\u002Fp>\n\u003Ch2>验证情况\u003C\u002Fh2>\n\u003Cp>1.0.1 已在 ESP32-S31 实机上安装，通过设备真实画面和 USB 注入触控检查所有六个按钮、请求路由、非法输入拒绝及同一启动期间的稳定性；应用崩溃计数为零。USB 配置保存、清除及输入校验已验证，公开固件仍不含私人配置。源代码逻辑检查、ESP-IDF 构建和原生模拟器检查也已通过。\u003C\u002Fp>\n\u003Cp>真实 Home Assistant 设备联动尚未验证。USB 注入触控不等同于手指操作触摸控制器的验收。详情和安装过程限制见附件中的 \u003Ccode>projects\u002Fideas_common\u002FDEVICE_VALIDATION.md\u003C\u002Fcode>。\u003C\u002Fp>\n\u003Ch2>源码与资源许可\u003C\u002Fh2>\n\u003Cp>附件源码包不含凭据或带有个人配置的固件。将其中的 \u003Ccode>projects\u002F\u003C\u002Fcode> 解压到 ESP-Mosaico Vibe 开发工作区，保持本应用与 \u003Ccode>ideas_common\u003C\u002Fcode> 目录同级；构建依赖工作区已有的框架和工具，以及固定的 ESP-IDF 提交 \u003Ccode>7b9cc1ac79f865983f59bb8ff3ff43eb74ff1dbe\u003C\u002Fcode>。\u003C\u002Fp>\n\u003Cp>界面使用 DejaVu 字体，详见\u003Ca href=\"\u002Fapi\u002Fv1\u002Ffiles\u002Faus_1bfaad0c29ddda244fbc10889f91d465af83a36dbe123643a1fea0c3bac2c085.bin\" rel=\"nofollow noopener noreferrer\">字体许可\u003C\u002Fa>。框架依赖保留各自许可证，本页面不新增整个仓库的授权条款。\u003C\u002Fp>\n",{"title":28,"categories":29,"boards":33,"tags":34,"cover_images":35,"external_links":37,"attachments":38,"current_version":44,"license":45,"firmware_variants":46},"Smart Home Panel",[30,31,32],"smart-home","display","communication",[],[],[36],"\u002Fapi\u002Fv1\u002Ffiles\u002Faus_77f32b9ef1218f235fea143d7920b8599c8bbc6256be1330049ffec5362c00bd.webp",[],[39],{"id":40,"name":41,"size":42,"media_type":43,"upload_id":40},"aus_bc59c043cd1873e0d03270bafb7246e254f3c8f6493884fc2b28b6a83b96e84c.zip","smart_home-source.zip",783786,"application\u002Foctet-stream","1.0.1","",[47],{"type":48,"partitions":49,"iris":50},"iris",[],{"bundle_asset_id":51},"aus_4a6963ce72aababbdf07ad093a453df3adc8a2c5912701291561edf60136dc67.irisfw"]