智能家居与物联网入门:自动开灯为什么总误判?先写出能检查的第一条规则
[!NOTE]
自动化最难的部分,往往不是让灯亮一次,而是明确它什么时候不应该亮。
本课读取上一课的固定房间数据,用一个没有网络副作用的Python函数实现“有效数据、暗环境、检测到移动、人工未暂停”四项检查。
你会看到每次允许或拒绝的具体原因,并用反例验证人工优先、未知输入与类型错误。这里产生的是候选请求,绝不把打印结果当作真实开灯成功。
学习位置:第一阶段·建立地图|第009课 / 共100课。
先修:第007课数据契约、第008课模拟房间。
本课只做决策,不连接执行器。
真实灯光自动化会在Home Assistant阶段重新实现并验收。
一、问题背景与技术选型
为什么“有人就开灯”容易误判
一句简单规则常常藏着许多没有写出的前提。
光线已经很亮时,要不要开灯?
用户刚手动暂停时,要不要继续触发?
传感器断线时,旧的“有人”还算不算有效?
如果这些前提留在人的脑子里,代码就无法遵守。
因此先定义拒绝条件,再定义允许条件。
一条可靠的规则,应能解释自己的不作为。
三种决策方式比较
| 方式 | 易读性 | 可重复性 | 本课选择 |
|---|