中枢管着的灯、插座、空调、风扇,可以出现在 Home Assistant 的自动化、面板和语音助手里。指令只在你自己家的 Wi-Fi 里走,不经过我们任何一台服务器。
中枢(那台常驻的手机)在 8637 端口开了一个只监听局域网的小接口。Home Assistant 每 30 秒问一次「现在有哪些设备、各自什么状态」,你按下开关时把指令发回去,中枢再翻译成红外信号发出去。
这一路不需要账号、不需要注册、也不经过第三方云。条件是两台设备在同一个局域网里,而且手机上那个开关拨着。
开关关掉,8637 端口上就什么都没有了——不是"关掉了但不响应",是真的不监听。手机上看不到任何"外部设备已连接"的常驻记录。
① 中枢那台手机上:设置 → 外部接入,拨开「允许其他设备接入」。
② 同一页会显示地址(形如 192.168.1.20:8637)和 24 位口令,点一下能复制。
③ Home Assistant 2024.6 或更新,跟中枢连在同一个路由器下。
口令在那一页点「换一个」,旧口令立刻失效,已经接进去的设备会显示"口令不对"。
curl -fsSL -o /tmp/zanlai.zip https://zanlai.com/dl/ha/zanlai.zip unzip -o /tmp/zanlai.zip -d /config
HAOS 的配置目录是 /config;别的装法换成你的配置目录(Core 一般是 ~/.homeassistant)。
然后重启 Home Assistant → 设置 → 设备与服务 → 添加集成 → 搜「赞来生活」→ 填地址、端口、口令。三样填对,设备当场就出来了。
中枢现在管着四类设备,在 HA 里对应四个平台:灯 → light,插座 → switch,空调 → climate,风扇 → fan。设备名和房间名沿用手机上填的,所以"主卧空调"进 HA 还叫主卧空调。
红外设备在 HA 里是两个按钮,不是一个绿开关。这不是没做完:红外是单向的,中枢能把信号发出去,读不回那台电视现在是什么样。所以状态是"中枢记在账上的",不是"看见的"。HA 把这种设备叫 assumed_state,画成两个按钮正好——你不会误以为那个绿点代表灯真的亮着。
电视没有实体,这是故意的。红外读不回状态,套一层 remote 平台只会得到一堆"按了不知道成没成"的按钮。电视继续用手机上那个面板(它本身就是遥控器)。
· 中枢关机、跟 HA 不在一个网段、或者手机上开关没拨开 → HA 里这些设备全部「不可用」,那不是集成坏了。
· 红外设备的真实状态读不回来,HA 里显示的是中枢记的账。
· 米家、涂鸦、Aqara 的设备不经过我们。它们由社区集成(xiaomi_miot、localtuya 等)接进 HA,在自动化里跟这里的设备长得一样,可以一起联动。
· 只监听局域网,不对外网开放。人在外面想看得走 HA 自己的远程访问方案。
不用再回来下包。集成每 6 小时问一次版本清单,有新版本时 HA 的「设置 → 系统 → 更新」里会多一张和系统更新长得一样的卡:点「安装」→ 重启。
装之前会核对 sha256(防下载残缺、防串包),再就地编译一遍——包里有语法错就整包丢弃,你的目录一个字节都不动。装完还没重启的那段时间,界面上显示的仍然是正在运行的旧版本,不提前把版本号改成新的。
新版真出问题时:把 custom_components/.zanlai-old 改名回 zanlai,重启,就回到上一版(旧目录会自己留着,不用你手动备份)。
HACS 官方只认公开的 GitHub 仓库(原文:Only public repositories hosted on GitHub will be compatible with HACS)。我们不想让这几百 K 代码成为第三方平台的人质,也不想让国内用户卡在连不上的 GitHub 上——所以包和版本清单都放在自己的域名下,升级用 Home Assistant 自带的更新接口。
代价是首次要手动解压一次(就是上面那条命令),之后跟商店里的一样,点一下就升。
HA 里:设置 → 设备与服务 → 赞来生活 → 删除。再删掉 config/custom_components/zanlai 目录,重启。手机上把「允许其他设备接入」关掉,端口立刻什么都不监听。
包里的 README 和 CHANGELOG 就是全部文档,源码跟着一起发的,没有藏着的东西。
接不进去、或者哪一步卡住了:先看帮助中心,再发邮件到 longfei@zanlai.com,把 HA 版本、中枢型号、报错原文贴进来。