再见屎山:这次我要用 AI 重塑我的智能家居
发布时间:2026-02-13 14:37 浏览量:2
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:期望氢气球
最开始玩智能家居的时候,还只有自动化。那时候的逻辑很简单:IF 这个,THEN 那个。
门打开了 → 开走廊灯日落了 AND 家里有人 → 开客厅灯温度高于 28 度 → 开空调手机连接家里 WiFi → 回家模式
一条两条还好,几十条堆在一起,问题就来了。
有些自动化互相冲突,有些条件写得像绕口令,还有些是当时不知道为什么这么写但现在不敢删的神秘代码。
后来 AI 火了,我又给 Home Assistant 接入了大模型。本以为是如虎添翼,结果是屎上加屎。
自动化和 AI 两套逻辑并行,说实话大部分情况用起来还不错,但是偶尔是有时候不知道是谁在控制设备,出了问题根本找不到原因。仪表盘上几十个按钮,automation.yaml 几百行代码,我自己都看不懂了。
这次重装NAS之后,我决定全部推倒重来。
不再写什么 IF-THEN,不再维护复杂的自动化脚本。
这次,我要把控制权完全交给 AI。
要用 AI 控制智能家居,第一步就是确保 API 能正常工作。
Home Assistant 提供了完整的 REST API,任何程序都可以通过 API 来控制设备。你只需要一个
Long-Lived Access Token
。
import urllib.request import urllib.error import json HA_URL = "http://192.168.0.xxx:8123" # 换成你的地址 TOKEN = "你的token" def api_get(path): """调用 HA API""" req = urllib.request.Request( f"{HA_URL}/api/{path}", headers={ "Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json", }, ) with urllib.request.urlopen(req, timeout=10) as resp: return json.loads(resp.read.decode) # 测试:获取系统配置 config = api_get("config") print(f"Home Assistant 版本: {config['version']}") print(f"实例名称: {config['location_name']}")
运行成功后,你会看到类似这样的输出:
Home Assistant 版本: 2026.2.1 实例名称: 我的家
# 获取所有设备状态 states = api_get("states") # 按类型统计 domains = {} for state in states: domain = state["entity_id"].split(".")[0] domains[domain] = domains.get(domain, 0) + 1 print("设备统计:") for domain, count in sorted(domains.items): print(f" {domain}: {count} 个")
输出示例:
设备统计: light: 12 个 sensor: 45 个 switch: 8 个 climate: 2 个 ...
API 测试通过,接下来就可以让 AI 通过这些接口来控制全屋设备了。
有了 API,AI 就能:
读取所有设备状态控制灯光、空调、窗帘执行场景模式根据我的习惯自主学习
不再写死板的自动化规则,而是让 AI 理解我的意图,自己决定该怎么操作。
这才是真正的智能家居。
本文是智能家居 AI 化改造系列的第一篇,后续会继续分享 AI 接入的具体实现。