米家节律色温自动化
www_123456_com
2026年02月03日 11:05

孩子懒,用AI生成的,将就看吧(

一、配置步骤

第1步:基础参数配置(9个卡片)

按实际情况修改时间点和色温值:

```plaintext

1. $日出时间点 = 360 // 6:00(单位:分钟)

2. $日落时间点 = 1080 // 18:00

3. $夜晚第一部分结束时间点 = 1260 // 21:00

4. $夜晚第二部分结束时间点 = 1290 // 21:30

5. $日出色温 = 2700

6. $正午色温 = 6500

7. $日落色温 = 4500

8. $夜晚第一部分结束色温 = 3600

9. $夜晚最低色温 = 2700

```

第2步:时间计算模块(10个卡片)

```plaintext

10. $当前分钟数 = hours()*60 + minutes()

11. $日出时间差 = $当前分钟数 - $日出时间点

12. $日落时间差 = $当前分钟数 - $日落时间点

13. $白天时长 = $日落时间点 - $日出时间点

14. $夜晚第一部分时长 = $夜晚第一部分结束时间点 - $日落时间点

15. $夜晚第二部分时长 = $夜晚第二部分结束时间点 - $夜晚第一部分结束时间点

16. $白天比例 = max(0, min(1, $日出时间差/($白天时长+0.0001)))

17. $夜晚第一部分比例 = max(0, min(1, $日落时间差/($夜晚第一部分时长+0.0001)))

18. $动态K值参数1 = 90 / ($夜晚第一部分时长 + 0.0001)

19. $动态K值 = 2 * log(e(), 2) * pow($动态K值参数1, 0.3)

```

第3步:软因子计算模块(5个卡片)

```plaintext

20. $白天因子 = max(0, min(1, $日出时间差+0.5)) * max(0, min(1, -$日落时间差+0.5))

21. $夜晚第一部分因子 = max(0, min(1, $日落时间差+0.5)) * max(0, min(1, $夜晚第一部分时长-$日落时间差+0.5))

22. $夜晚第二部分因子 = max(0, min(1, $日落时间差-$夜晚第一部分时长+0.5)) * max(0, min(1, $夜晚第二部分结束时间点-$当前分钟数+0.5))

23. $其他因子 = max(0, 1 - $白天因子 - $夜晚第一部分因子 - $夜晚第二部分因子)

24. $因子总和 = $白天因子 + $夜晚第一部分因子 + $夜晚第二部分因子 + $其他因子 + 0.0001

```

第4步:色温计算模块(7个卡片)

```plaintext

25. $白天θ = pi() * $白天比例

26. $白天色温 = ($日出色温+$日落色温)/2 + ($正午色温-($日出色温+$日落色温)/2)*sin($白天θ) + ($日出色温-$日落色温)/2*cos($白天θ)

27. $夜晚第一部分色温 = $夜晚第一部分结束色温 + ($日落色温-$夜晚第一部分结束色温)*pow(e(), -$动态K值*$夜晚第一部分比例)

28. $夜晚第二部分实际比例 = max(0, min(1, ($当前分钟数-$夜晚第一部分结束时间点)/($夜晚第二部分时长+0.0001)))

29. $夜晚第二部分色温 = $夜晚最低色温 + ($夜晚第一部分结束色温-$夜晚最低色温)*pow(e(), -$动态K值*$夜晚第二部分实际比例)

30. $其他时间色温 = $夜晚最低色温

```

第5步:混合输出模块(4个卡片)

```plaintext

31. $混合色温 = ($白天因子/$因子总和)*$白天色温 +

($夜晚第一部分因子/$因子总和)*$夜晚第一部分色温 +

($夜晚第二部分因子/$因子总和)*$夜晚第二部分色温 +

($其他因子/$因子总和)*$夜晚最低色温

32. $限制色温 = max($夜晚最低色温, min($正午色温, $混合色温))

33. $最终色温 = round($限制色温)

34. 【执行】调整灯光色温为$最终色温

```

第6步:触发控制(2个卡片)

```plaintext

35. 【定时】每1分钟触发一次

36-37. 流程控制和状态管理卡片

```

二、必须遵守的米家约束

1. 单表达式原则:每张卡片只能进行一次赋值运算(一个等号)

2. 变量比较限制:不能直接比较两个变量,只能比较变量与固定值

3. 无if-else语句:所有逻辑必须通过数学表达式实现

4. 中文变量名:所有变量必须使用中文名称,前面加$符号

5. 事件驱动:数值运算输出的是事件,需通过"当任意事件发生"卡片连接

三、调试方法

1. 验证时间计算:手动修改$当前分钟数测试各时间差是否正确

2. 检查因子平滑性:确保四个因子在过渡时段平滑变化且总和为1

3. 验证关键时间点:

· 日出时间:应接近2700K

· 正午:应接近6500K

· 日落:应接近4500K

· 21:00:应接近3600K

· 21:30后:应稳定在2700K

四、常见问题

Q:变量名为什么要加$?

A:在米家自动化极客版中,$符号表示这是一个变量,如$日出时间点。

Q:如何调整色温变化速度?

A:修改第19张卡片中的0.3参数:调小变缓,调大变快。

Q:如何控制多个灯具?

A:在第34张卡片中选择"批量控制",添加所有需要控制的灯具。

Q:为什么色温没有变化?

A:检查定时触发是否正确设置,以及灯具是否支持色温调节。

按照上述步骤配置完成后,系统会每分钟自动计算并调整色温,实现全天候的自然光模拟。