再见屎山:这次我要用 AI 重塑我的智能家居
之前的智能家居:一座精心搭建的屎山
最开始玩智能家居的时候,还只有自动化。那时候的逻辑很简单:IF 这个,THEN 那个。
门打开了 → 开走廊灯
日落了 AND 家里有人 → 开客厅灯
温度高于 28 度 → 开空调
手机连接家里 WiFi → 回家模式

一条两条还好,几十条堆在一起,问题就来了。
有些自动化互相冲突,有些条件写得像绕口令,还有些是当时不知道为什么这么写但现在不敢删的神秘代码。
后来 AI 火了,我又给 Home Assistant 接入了大模型。本以为是如虎添翼,结果是屎上加屎。
自动化和 AI 两套逻辑并行,说实话大部分情况用起来还不错,但是偶尔是有时候不知道是谁在控制设备,出了问题根本找不到原因。仪表盘上几十个按钮,automation.yaml 几百行代码,我自己都看不懂了。
这次重装NAS之后,我决定全部推倒重来。

不再写什么 IF-THEN,不再维护复杂的自动化脚本。
这次,我要把控制权完全交给 AI。
第一步:测试 Home Assistant API
要用 AI 控制智能家居,第一步就是确保 API 能正常工作。
Home Assistant 提供了完整的 REST API,任何程序都可以通过 API 来控制设备。你只需要一个 Long-Lived Access Token。
获取 Token
打开 Home Assistant
点击左下角你的用户名
页面上方安全按钮 → 创建令牌
复制生成的 token

Python 测试代码
打开 Home Assistant
点击左下角你的用户名
滚动到页面底部 → 创建长期访问令牌
复制生成的 token
Python 测试代码
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 接入的具体实现。

校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案