家居与媒体:Home Assistant、MQTT、Plex 与 Jellyfin
Home Assistant 和 MQTT 解决的是同一个问题的不同层次。Home Assistant 给你的是有名字的实体和一套权限模型;MQTT 给你的是它底下那条原始主题总线。如果家里已经跑着 Home Assistant,就从那里接入,把 MQTT 留给它不支持的设备。Plex 和 Jellyfin 是另一回事——一个可供 Agent 查询的媒体目录。
Home Assistant AI 集成
/** '感觉有点冷,也许把客厅弄暖和一点?' — 通过您的本地 Home Assistant 实例进行上下文感知执行。 */
本地优先的隐私与架构
OpenClaw 通过本地网络上的长期访问令牌 (LLAT) 与 Home Assistant 交互。与基于云的助手不同,您的语音/文本意图在本地或通过加密的 VPC 隧道处理。我们采用了“隐私第一”的元数据层,在处理前从设备名称中剥离个人标识符,确保您的户型图保持私密,同时保持 100% 的控制权。
⚙️ 智能家居工作流
OpenClaw 将自然语言映射到 HA 服务(light.turn_on, climate.set_temperature)。
实时轮询实体状态以防止冗余指令(例如:跳过打开已经亮着的灯)。
在单个原子操作中执行桥接 Zigbee、Z-Wave 和 Wi-Fi 设备的复杂脚本。
AI 驱动的逻辑,用于太阳能限产或将重负荷(如电动车充电)转移到非高峰时段。
⚙️ 步骤 1:安全令牌生成
# 💡 高级技巧:将令牌命名为 'OpenClaw-Prod',以便在 HA 日志中轻松审计 AI 驱动的操作。
导航到 HA 仪表板左下角的个人用户配置文件。
滚动到底部,点击“创建令牌”,并复制这段 200 多个字符的字符串。
⚙️ 步骤 2:OpenClaw 配置
🚀 扩展生态系统
mqtt-integration
// 深度 IoT 硬件集成
smart-home-control
// 高级自动化模式
IoT 的 AI 方案:MQTT 发布/订阅
/** 让 OpenClaw 监听数千个传感器数据流,并使用轻量级 MQTT 协议操控现实世界中的物理开关。 */
硬件的感知逻辑
与其在 Node-RED 或 Home Assistant 中编写脆弱的硬编码规则,OpenClaw 为您的 MQTT 代理提供了直接桥接。通过将高频遥测状态推送到 LLM 并授予发布权限,它将成为一个有感知能力的逻辑引擎。它不仅仅是“运行脚本”,而是根据传感器上下文推断意图。例如,当光照传感器数值下降且检测到有人时,它会自动调暗灯光,而无需显式的 IF/THEN 逻辑块。
1. 代理设置 (Mosquitto/EMQX)
我们假设您已经在本地运行了代理。为了获得最佳性能,请确保您的代理与 OpenClaw 处于同一 VPC 或子网中。
2. MCP 到 MQTT 桥接器
OpenClaw 使用通用桥接器将 MQTT 消息转换为 MCP 资源。您无需编写 Python 模板代码;只需在配置中声明代理账号凭据即可。
3. IoT 工作流:感知与行动
广播整个传感器树可能会让上下文窗口过载。我们建议使用特定的“暴露主题”来让代理专注于相关的遥测数据。
- →mqtt_subscribe(topic):从任何订阅路径读取实时负载。
- →mqtt_publish(topic, payload):通过向执行器发送指令来执行物理操作。
4. 实用自动化示例
🛡️ 安全与边缘智能
关键提示:语言模型可能会产生幻觉。切勿在没有物理硬连线安全保护的情况下,让 mqtt_publish 访问生命攸关的基础设施或高发热量设备。在 Mosquitto 配置文件中使用特定的主题 ACL(访问控制列表)来限制 OpenClaw 的操作权限。
媒体服务器副驾:Plex 和 Jellyfin
将 OpenClaw 连接到您的自托管媒体库。用自然语言请求电影推荐、检查正在播放的内容或触发下载。
智能家庭 DJ
无需手动浏览 NAS 上数百 GB 的媒体,您可以将 OpenClaw 连接到媒体堆栈的 REST API。通过 Telegram 或 WhatsApp 发消息:「我们看完将军了吗?如果没有,把下一集投射到客厅。」
1. 前置条件
- →运行中的 Plex Media Server 或 Jellyfin 实例。
- →您的服务器 IP 地址(例如 192.168.1.100)。
- →API 密钥或认证令牌。
2. 获取令牌
3. 安装媒体 MCP 技能
社区构建了出色的桥接脚本,将 Plex 和 Jellyfin 轮询统一为标准 MCP 工具调用。
4. 它能做什么?
💡 专业技巧:将此技能与 mcp-arr-stack 插件结合使用,实现终极配置。让 AI 意识到某部电影尚未在 Plex 上,并自动向 Radarr/Sonarr 发送下载请求!