米家动作传感器以人在为触发条件时对某项动作只执行一次的方法

米家动作传感器以人在为触发条件时对某项动作只执行一次的方法

背景介绍

众所周知,米家智能场景的执行逻辑中必须有一个触发条件才能成立。

当我们把动作与环境光传感器的"有人移动"作为触发条件时,该项自动化其实是每一个传感器上报间隔都会触发一次的(以青萍动作与环境光传感器为例这个间隔可以达到10s一次)。

一般情况下我们是感受不到这种不便的。例如自动化"当有人移动时打开台灯"执行时,由于台灯不会被重复打开,而且大部分传感器上报间隔较长(例如小米人体传感器2的最短上报间隔为30s)所以我们几乎是无感的。

问题描述

但现有如下场景:

  • 宿舍有台灯一盏和彩色灯带一条。我需要在传感器第一次探测到移动时将台灯和灯带打开,并给台灯设置初始模式,灯带设定初始亮度和颜色。
  • 在工作过程中传感器能探测到我的情况下,我偶尔需要调整台灯模式和灯带颜色。
  • 离开座位后5分钟,台灯自动关闭,灯带更换一种预设颜色。
  • 离开座位后10分钟,灯带亮度变换,更换一种预设颜色。
  • 离开座位后30分钟,灯带和台灯均关闭。
  • 可以通过一个手动场景来中断以上场景并立刻关闭台灯和灯带。

这个时候"有人移动时打开台灯和灯带并预设模式"的指令就出现问题了。

这种设置会导致在工作过程中更换台灯和灯带模式出现bug,只要传感器一探测到我的移动,台灯和灯带就会被置为初始模式。

在我的动作传感器上报间隔为10s的情况下,完全无法正常更换台灯和灯带模式。

这时候就得想个办法让初始化的过程只执行一次。

解决方案

解决方案步骤如下:

  1. 新建一个手动场景来执行打开台灯和灯带并设置初始模式的操作。
  2. 新建一个自动化用来启动第1步中设定的手动场景,触发器为动作传感器的有人移动。
  3. 在手动场景的最后关闭步骤2设置的自动化。
  4. 在后续执行的自动化(5分钟无人)和手动场景(手动关闭所有灯)执行的最后打开步骤2设置的自动化。

执行流程

完整的台灯与灯带控制流程

这里我把整套灯具自动化放出来,大伙可以给一下优化建议或者拿来参考。
场景总览

打开所有灯

关闭所有灯

来人开灯

无人5分钟

无人10分钟

无人30分钟

0点灯光1

0点灯光2

7点灯光

PS:图中的小爱音响自定义指令均为灯带控制指令。

小白第一次发文。大佬轻喷,欢迎留言讨论。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值