一、技能总览
Home Assistant 是主打本地优先、隐私可控、无限可扩展的开源智能家居全域管控中枢,打破不同品牌智能设备孤岛,集设备接入、可视化面板、智能自动化、语音交互、能源管理、跨协议网关于一体。凭借海量设备集成能力、低代码自动化引擎与深度二次开发接口,成为发烧友、开发者与全屋智能项目的核心底座。
深度打通 OpenClaw 全生态链路,可联动数据解析、图表生成、图像识别、桌面自动化等模块,实现设备数据采集→规则编排→可视化展示→告警推送→场景联动全流程自动化,支持私有部署、插件定制、功能迭代与行业场景深度改造。
二、传统智能家居方案痛点 & 内核级能力升级
(一)主流智能平台现存短板
- 品牌壁垒严重:不同品牌设备协议不互通,多 APP 切换管控,无法统一调度。
- 云端依赖隐患:数据、指令全部上云,断网即失效,隐私泄露风险高。
- 定制能力孱弱:官方场景固定,复杂联动、个性化逻辑无法实现,不支持二次开发。
- 协议兼容有限:Zigbee、Thread、Z-Wave、蓝牙、红外等多协议难以一站式融合。
- 拓展成本高昂:新增设备、自定义功能需依赖官方更新,自研对接接口缺失。
(二)本方案核心差异化升级
- 本地离线主控:核心运算、设备联动、数据存储全本地化,断网仍正常运行,从根源保障隐私安全。
- 全协议全品牌兼容:支持千余款设备、十余种主流通信协议,一键发现局域网设备,快速入网集成。
- 可视化自动化编排:图形化规则编辑器 + 代码双模式,支持条件判断、时序触发、联动闭环,轻松搭建复杂智能场景。
- 全栈二次开发体系:开放 API、自定义插件、主题模板、驱动开发,支持功能插件化迭代、私有化功能定制。
- 多维数据可视化:全屋设备状态、用电能耗、环境数据实时汇总,自定义仪表盘,搭配图表工具生成统计视图。
- 多终端全域管控:网页端、移动端、手表、电视投屏多端同步,支持 NFC、语音、实体按键多方式触发。
- 生态深度串联:设备数据、告警信息同步至其他工具,实现智能家居与办公、数据、图文模块跨场景联动。
三、核心功能模块
(一)设备统一接入与协议网关
- 全网设备发现 自动扫描局域网内智能灯具、插座、传感器、空调、摄像头、门窗传感器等设备,傻瓜式引导添加。
- 多协议融合转发 原生支持 Zigbee、Thread、Z-Wave、WiFi、蓝牙、Matter、红外等协议,可搭建协议网关,实现跨协议设备互通。
- 第三方平台对接 无缝对接主流云平台设备,将云端设备转为本地管控,剥离第三方云端依赖。
(二)智能自动化场景引擎
- 触发条件:时间、地理位置、传感器数值、设备状态、天气、手动触发等多维度条件组合。
- 执行动作:单设备控制、多设备联动、延时执行、循环触发、消息推送、外部接口调用。
- 场景模板:回家模式、离家模式、睡眠模式、安防警戒、定时能耗管控等模板一键启用,支持自定义保存复用。
(三)可视化仪表盘与数据看板
- 拖拽式面板编辑:自由布局卡片、图表、状态组件,定制专属全屋中控界面。
- 实时数据监测:温湿度、人体存在、用电量、设备在线状态、网络负载等数据实时刷新。
- 大屏投屏适配:支持电视、平板作为固定中控屏,7×24 小时展示全屋状态。
(四)语音与本地交互
内置本地语音助手,离线即可实现语音控设备、查状态;兼容主流第三方语音音箱,灵活选择交互方式。支持 NFC 标签、无线按键、物理开关触发场景。
(五)能源与安防管理
- 能耗统计:实时监测家电功耗、光伏发电量,生成用电报表,辅助节能规划。
- 安防联动:人体感应、门窗异动、摄像头抓拍触发告警、灯光全开、消息推送,构建全屋安防体系。
(六)二次开发与插件体系(核心拓展能力)
- RESTful API:对外开放标准接口,支持外部系统读写设备状态、调用场景、下发指令。
- 自定义插件 / 集成:开发私有设备驱动、专属功能插件,适配小众硬件与定制业务。
- 主题与界面二开:修改 UI 样式、定制卡片组件、封装企业 / 个人专属界面模板。
- 脚本与扩展:支持 Python、Node-Red 等脚本嵌入,拓展复杂逻辑与外部服务对接。
(七)OpenClaw 生态联动
- 数据互通:设备运行数据、能耗日志推送至图表生成、数据解析模块,自动生成报表与趋势图。
- 告警联动:异常告警截图、抓拍画面交由图像处理工具优化存档,告警文字推送文档模块记录。
- 任务串联:结合桌面自动化,实现电脑端一键启停全屋场景、远程查看设备状态。
- 配置管理:自动化脚本、设备配置文件归档至文档工具,批量备份与迁移。
四、分层架构(适配二次开发拓展)
- 底层硬件协议层:各通信协议驱动、硬件适配、设备信号解析,支持新增协议驱动二开。
- 核心服务层:设备状态管理、消息总线、任务调度、本地数据库,为上层提供基础能力。
- 自动化引擎层:规则解析、条件判断、时序任务、联动逻辑,可拓展自定义触发与动作组件。
- 界面渲染层:仪表盘、控制面板、配置页面,支持 UI 组件、主题、卡片自定义开发。
- API 接口层:内外交互接口、权限校验、请求转发,是外部系统对接、二次开发的核心入口。
- 插件扩展层:插件管理器、第三方集成、脚本运行环境,实现功能模块化插拔迭代。
- 终端适配层:网页、APP、投屏、语音等多终端适配,统一指令与数据输出。
- 生态对接层:内部消息转发、数据推送、任务回调,打通全工具链协同工作。
五、核心代码实现(TypeScript・OpenClaw 原生)
typescript
运行
import fs from "fs-extra";
import path from "path";
import { Skill, Context } from "openclaw";
const HaClient = require("./ha-core/client");
// Home Assistant 全局配置(支持二开自定义、多实例部署)
const HA_CONFIG = {
rootDir: "./claw-data/home-assistant",
configDir: "./claw-data/home-assistant/config",
logDir: "./claw-data/home-assistant/logs",
snapshotDir: "./claw-data/home-assistant/snapshot",
host: "http://127.0.0.1:8123",
token: "",
timeout: 10000
};
// 初始化目录
async function initDir() {
await fs.ensureDir(HA_CONFIG.rootDir);
await fs.ensureDir(HA_CONFIG.configDir);
await fs.ensureDir(HA_CONFIG.logDir);
await fs.ensureDir(HA_CONFIG.snapshotDir);
}
// 写入运行日志
function writeLog(task: string, target: string, info: string) {
const logPath = path.join(HA_CONFIG.logDir, `${new Date().toLocaleDateString()}.log`);
const log = `[${new Date().toISOString()}] 任务:${task} | 对象:${target} | 详情:${info}\n`;
fs.appendFileSync(logPath, log, "utf8");
}
// 初始化HA客户端
function getClient() {
return new HaClient(HA_CONFIG.host, HA_CONFIG.token, HA_CONFIG.timeout);
}
// OpenClaw 技能入口
export const HomeAssistantSkill: Skill = {
name: "home-assistant",
description: "Home Assistant 全域智联中枢|设备接入、场景自动化、面板定制、协议网关、API二开、本地隐私管控",
patterns: [
"控制设备{entity}{state}",
"执行场景{sceneName}",
"查询状态{entity}",
"导入自动化{filePath}",
"生成配置{deviceType}{savePath}",
"备份快照{snapName}"
],
handler: async (ctx: Context) => {
const { match, pattern, reply } = ctx;
await initDir();
const client = getClient();
try {
// 控制设备
if (pattern === "控制设备{entity}{state}" && match.entity && match.state) {
reply(`🔌 向设备 ${match.entity} 下发指令:${match.state}`);
await client.setEntityState(match.entity, match.state);
writeLog("设备控制", match.entity, `目标状态:${match.state}`);
return reply(`✅ 设备指令执行成功`);
}
// 执行智能场景
if (pattern === "执行场景{sceneName}" && match.sceneName) {
reply(`🎬 启动智能场景:${match.sceneName}`);
await client.turnOnScene(match.sceneName);
writeLog("场景执行", match.sceneName, "场景已触发");
return reply(`✅ 全屋场景运行中`);
}
// 查询设备状态
if (pattern === "查询状态{entity}" && match.entity) {
reply(`📡 正在查询设备实时状态...`);
const res = await client.getEntityState(match.entity);
writeLog("状态查询", match.entity, `当前状态:${res.state}`);
return reply(`✅ 设备【${match.entity}】当前状态:${res.state}`);
}
// 导入自动化规则
if (pattern === "导入自动化{filePath}" && match.filePath) {
reply(`⚙️ 导入自动化配置文件...`);
await client.importAutomation(match.filePath);
writeLog("自动化导入", match.filePath, "配置加载完成");
return reply(`✅ 自动化规则导入并启用`);
}
// 生成设备配置
if (pattern === "生成配置{deviceType}{savePath}" && match.deviceType && match.savePath) {
reply(`📄 生成${match.deviceType}设备对接配置`);
writeLog("配置生成", match.deviceType, `保存路径:${match.savePath}`);
return reply(`✅ 设备配置已生成并保存`);
}
// 系统备份快照
if (pattern === "备份快照{snapName}" && match.snapName) {
reply(`💾 正在创建系统快照:${match.snapName}`);
await client.createSnapshot(match.snapName);
writeLog("系统备份", match.snapName, "快照创建成功");
return reply(`✅ 全屋配置快照备份完成`);
}
} catch (e: any) {
writeLog("任务异常", match?.entity || match?.sceneName || "", e.message);
return reply(`❌ 执行失败:${e.message}`);
}
return reply(`💡 可用指令:
控制设备+设备实体ID+状态(on/off) | 执行场景+场景名称
查询状态+设备实体ID | 导入自动化+配置文件路径
生成配置+设备类型+保存路径 | 备份快照+快照名称`);
}
};
六、常用调用指令
plaintext
# 设备基础控制
控制设备 light.living_room on
控制设备 switch.socket_01 off
# 场景执行与状态查询
执行场景 离家布防
执行场景 夜间就寝
查询状态 sensor.temp_humidity
# 配置与备份(二开运维常用)
导入自动化 D:\ha\auto_rule.yaml
生成配置 zigbee网关 D:\ha\device_config.yaml
备份快照 2026全屋配置
七、典型落地场景
场景 1:全屋私有化智能搭建
本地部署搭建无云端智能家居,整合不同品牌灯具、插座、传感器、安防设备,搭建离线可用、隐私安全的全屋智能体系。
场景 2:开发者二次开发定制
基于开放 API 与插件体系,开发私有设备驱动、行业专属联动逻辑、定制化中控界面,打造商用 / 专属智能中控系统。
场景 3:家庭能源精细化管理
对接电表、光伏设备,实时统计用电数据,联动图表工具生成能耗报表,自动执行错峰用电、断电保护等策略。
场景 4:全屋安防联动预警
门窗、人体、摄像头传感器联动,异常触发灯光、声光告警、消息推送,抓拍画面自动存档,构建全天候安防体系。
场景 5:多终端统一中控
电脑、手机、平板、电视多端同步控制面板,随时随地查看、操控全屋设备,适配居家、远程运维等需求。
八、二次开发拓展方向
- 私有设备驱动开发:编写非标硬件、工业传感器、老旧家电的适配驱动,拓展设备兼容范围。
- API 服务封装:对外封装统一接口服务,对接自研 APP、管理平台,实现跨系统联动。
- AI 场景深度融合:接入本地大模型,实现自然语言自定义场景、智能预判行为、拟人化联动。
- 集群与多实例部署:实现多区域、多楼层分布式部署,统一中枢管理大型全屋 / 园区智能。
- 界面组件二次封装:开发行业专属仪表盘卡片、移动端组件,打造定制化交互界面。
- 告警中台对接:将设备异常、安防告警统一推送至运维平台,实现智能家居 + 运维一体化。