米家中枢自动化极客版案例分享

米家自动化极客版案例分享。

本篇为案例分享,使用指南见:

一、简介

不可否认,尽管米家极客板采用了图形化设计,降低了部分操作门槛,但对于初次接触的用户而言,仍存在一定的上手难度,尤其是在逻辑构建和功能理解方面。本篇文章将围绕米家自动化的实际案例进行分享,通过具体场景的拆解与流程讲解,辅助理解极客板的应用方式与设计思路。

二、案例

一些独立功能的设计与实现,与智能家居的布局弱相关。

双开无线开关的按键模拟

需求背景

无线开关支持“极速模式”和“标准模式”两种配置。“极速模式”具备毫秒级响应速度,仅支持单击操作;而“标准模式”响应时间为秒级,但支持单击、双击、长按及左右同时按压等多种交互方式。由于实际使用中并不需要如此丰富的点击模式,希望双键版无线开关的两个按键分别设为不同模式:其中一个按键采用“极速模式”以提升响应速度,另一个则采用“标准模式”以保留多种交互操作。

设计思路

无线开关的点击事件每次上报到网关的间隔为1秒,因此多次点击行为会形成一个按1秒间隔依次上报的“点击队列”。在极速模式下,首次点击事件会立即上传,而后续点击则需在上一事件上传后延迟1秒才能发送。

由于事件上传涉及一定的时空成本,不似运行在内存中的即时处理,因此我们可以约定一个100毫秒的缓冲延时作为判断依据:若在1.1秒后未收到新的点击事件,可判定本轮点击已结束,据此统计总点击次数并触发相应功能。

双开无线开关的按键模拟

基于变量的改进版(替代自定义状态):

双开无线开关的按键模拟@变量版

实际应用案例

硬件@双无线开关模拟

米家水暖毯睡眠模式模拟

需求背景

家里原本用的是米家的水暖毯,偶然间发现了绘睡的水暖毯,它有一个看起来很科学的睡眠温度曲线:夜间理想的被窝温度应维持在 27-32℃ 度之间。它的设定包含五个温度节点,模拟整夜的体感变化。于是尝试能不能在米家的水暖毯上也实现类似的功能,但米家的设备只支持设置四个温度点,且操作界面不够灵活。那就发挥“传统艺能”,尝试在米家中枢网关的极客版中进行模拟实现。

设计思路

水暖毯是 Wi-Fi 设备,不支持在极客版中进行自动化触发,同时睡眠模式的执行情况也无法传递给极客版。所以首先第一步是用米家 APP 创建自动化,将水暖毯的开机、关机事件转发给中枢网关(利用虚拟事件),之后操作便在极客版中进行。

根据《2024助眠力洞察报告》,参考绘睡水暖毯睡眠模式再结合实际需求做如下设计:

  • 睡眠共设置六个阶段:

    节点时间温度(℃)备注
    第一阶段入睡开始时 - 入睡后 20 分钟38起始温度 ≥ 38℃
    第二阶段入睡后 20-60 分钟34
    第三阶段入睡后 1-3 小时32
    第四阶段入睡后 3 小时 - 日出前半小时27日出时间由日出状态卡片提供
    第五阶段日出前半小时 - 日出时30根据经纬度坐标获取当前日出时间
    第六阶段日出时 - 入睡结束32
  • 入睡结束 5 分钟后关闭。

  • 水暖毯开机 12 小时后关闭。

实际应用案例

主卧@水暖毯睡眠模式

基于时间间隔的延时关灯

需求背景

在某些场景下,灯被设置为“无人自动关灯”,但由于人员频繁进出房间,间隔时间可能超过 1 分钟,导致灯不断在开启与关闭之间切换,影响使用体验。因此,有必要根据实际情况适当调整自动关灯的延迟时间,实现更灵活、动态的关灯控制。

设计思路

通过now()函数分别记录开灯与关灯的时间,并计算两者的时间差。基于该差值,设计一个延时系数及其增减规律,从而动态调整最终的关灯延迟时间。 不过,由于循环和延时卡片无法直接调用变量,在极客版中只能将所有可能的分支逐一列出以实现该逻辑,具体操作详见下图。

阳台@自动化开关灯

基于存在距离的延缓开灯

需求背景

与前文的延迟关灯逻辑相反,此步骤用于实现延缓开灯。典型场景如:偶尔路过某些房间区域时,尽管整体环境较为昏暗,但借助其他区域的光线仍能看清,无需立即开灯。只有当人员距离足够接近、环境亮度达到设定阈值,并且持续时间满足要求时,才触发开灯操作。

设计思路

厨房@自动化开关灯

结合人体存在传感器的检测距离与环境光亮度,综合判断决定开灯时机。

通用型自动化开关灯模式

需求背景

常见的自动化开关灯实现:当人体传感器检测到有人,且环境光较暗时,执行开灯操作。这种逻辑适用于“人进入环境后触发照明”的场景。但在“人持续存在、环境光逐渐变暗”的情况下,该方案将无法生效。因为传感器始终处于“有人”状态,缺乏“无人 → 有人”的状态变化,导致事件无法被触发。为了解决这个问题,我们可以关注另一个变动值——环境光。具体而言,当持续有人时,若环境光低于某个阈值时,则执行开灯操作。

总结一下,需求如下:

  • 昏暗有人出现自动开灯,持续有人时环境昏暗自动开灯无人自动关灯

  • 自动化行为开启的灯,才会进行自动化关闭;

  • 主动开启的灯,设定最大无人关灯时间;

  • 主动关闭的灯,设定一定的恢复自动化行为的事件;

设计思路

模拟示意图,以变量代替实际的设备,核心变量为 灯-主动行为

通用型自动化开关灯

实际应用案例

这是一个综合多类规则所设计的卧室自动化开关灯方案。

【功能列表】

  • 硬件-变量双向绑定:当硬件设备发生变更时,仅需维护两者间的绑定关系。
  • 自动化关灯动态延时:根据开关灯的时间间隔,主动调整延时关灯策略。
  • 双状态触发自动化开灯:通过“人在+环境昏暗”或“环境昏暗且人已在场”两种触发条件。
  • 自动化行为的结束时机:
    • 主动的开关灯行为;
      • 主动开灯仅进行无人状态的最长时间校验:无人状态 10min 后关灯;
  • 自动化行为的恢复时机:
    • 默认的自动化开关灯行为;
    • 日出后无人 30 分钟,或无人 60 分钟;
    • 30 秒内发生关灯后立即开灯的行为;
    • 触发“到家”状态后。
    • 无人关灯后。

【流程示意】

次卧@自动化开关灯

摄像机监控位置自动修正

需求背景

针对老版云台版摄像机[1],在启用人形追踪功能后,摄像机本应在追踪结束后自动回到初始监控位置。然而在实际使用中发现,常会出现未能完全归位的情况。为此,可借助极客版记录并存储“常看位置”的设定,在追踪结束后,通过自动化逻辑将摄像机回到常看位置。

设备@摄像机控制

传统设备的米家接入使用

室内观影模式触发

通过电子围栏传感器监测电视或投影设备的运行状态,自动判断是否进入观影模式,据此调整室内灯光。

设备@路由器投影仪

洗衣机洗衣完成提醒

对于无法接入米家的传统洗衣机,可借助米家智能插座 3 的功率检测功能,通过识别洗衣过程中功率的变化,智能判断洗衣是否完成,并实现全局提醒。

米家@洗衣机完成提醒

空调开启门窗未关提醒

传统空调可通过空调伴侣接入米家,并在米家 App 的“智能”页面中创建开关相关的自动化规则。通过虚拟事件将空调状态同步至中枢后,便可在极客版中结合门窗传感器,实现以下逻辑:当空调开启后,若卧室门长时间未关闭,则触发提醒;若超时仍未关闭,则自动关闭空调。

空调开启门窗未关提醒

三、离家

设计「离家模式」的核心目的,是在家中无人时暂停部分自动化场景的执行。典型场景包括:家中无人状态下,因误触、宠物活动等意外触发灯光自动开启;同时亦可自动关闭离家时遗忘的空调、风扇、电视等用电设备,避免不必要的能耗与安全隐患。

设计思路

米家离家判断

在此,我将离家判断方式划分为两大类:基于传感器的推测与基于设备的触发

推测是通过综合分析室内各类传感器数据,推断人员的到家或离家状态,其侧重点在于由状态引发事件。这种方式无法实现精确追踪或实时响应,主要作为辅助判断或备选方案使用。 触发则源于人的主动行为所产生的事件,其侧重点在于必须由人为操作触发。例如,个人设备的在线/离线状态变化,或按键的按下等。这类方式可实现对个体的精准追踪,事件来源明确且可靠。

基于设备的触发

基于设备的无人判断是通过用户随身携带的设备(如手机、手表)实现的,常见方案包括:

  • 地理围栏传感器:通过蓝牙或 Wi-Fi 检测设备的在线状态,实现人员在场判断。此方案需额外购买设备。
  • 米家事件联动:通过设备连接或断开指定名称的 Wi-Fi 网络来触发事件。此方式要求使用小米手机。
  • 小米路由器联动:借助小米路由器检测设备 MAC 地址的上下线状态。此方案需配套使用小米路由器。

米家事件/小米路由器方案

将原始事件转换为网关虚拟函数,可用于到家与离家状态的统一追踪。系统将“所有人离家”视为全局离家状态的开始,而“任意一人到家”则视为该状态的结束。为避免误触发或突发性变动,通过状态维持卡片进行过滤与稳定判断,最终由事件卡片调用具体的自动化执行逻辑。

米家@移动设备联动

地理围栏方案

AInice 电子围栏传感器是一款基于蓝牙+WiFi 技术方案,实现对手机等随身携带设备的蓝牙及 WiFi 实时追踪,从而判断家人是否处于家庭范围内的电子围栏产品。

米家@全局离家判断

基于传感器的推测

推测有人

若满足离家条件后,全局变量中的离家状态记录值异常,则主动进行状态矫正。

全局@推测有人


总体而言,人体传感器的数据存在延迟与误判风险,实时性和可靠性较差,需经过筛选与过滤处理后,才能作为有效判断依据。而电子围栏可通过追踪个人设备实现状态判定,在离家/在家的识别上更加精准可靠。

四、入睡

设计「入睡模式」的核心需求如下:设定一个标准,入睡后不再执行日常标准状态下的自动化开关灯逻辑,转而启用夜间专属照明流程。对于支持亮度与色温调节的智能灯,入睡后以夜间低亮度模式执行自动化开关灯;同时关闭设备指示灯以减少光污染,并降低音响类设备音量,减少夜间噪音干扰。

入睡状态判断

入睡状态联控

虽然小米手表/手环支持将睡眠状态同步至米家系统,但要求家中所有成员佩戴设备入睡并不现实。因此,我们采用更通用的场景条件来判断入睡状态的触发:当卧室门关闭、灯光熄灭且环境光线昏暗时,视为进入入睡状态;而入睡状态的结束则以卧室门开启为前提。具体自动化逻辑可根据家庭实际情况进行微调。

入睡开始判断

主卧@入睡开始判断

入睡结束判断

主卧@入睡结束判断

灯光自动化

  • 主卧开灯状态修正

    主卧灯通过单火开关接入米家系统。首次开启时,仅点亮 LED 灯珠,光线较暗;需再次开启,才会完全点亮。为满足正常照明需求,需模拟直接进入第二次开灯(开 - 关 - 开)后的状态。

    主卧@开灯状态修正

  • 主卧自动开灯限制

    主卧@自动化开关灯

入睡联控

在进入入睡状态后,立即关闭除主卧外的所有灯光设备(如客厅灯、走廊灯、厨房灯和台灯)。此外,卧室门开启或关闭时,将同步镜像控制摄像机的开关状态。

  • 🛋 客厅灯光行为

​ 入睡状态触发后,若客厅感应到有人,客厅灯将不再自动开启。而是改为以夜灯模式点亮走廊灯,以减少干扰。同时,客厅的自动开灯逻辑将被临时抑制,在短时间内暂停自动化响应。

  • 🛏 主卧灯光行为

​ 入睡状态下,主卧不再执行自动开灯逻辑,而是依赖夜灯传感器进行判断。当传感器检测到有人且环境光线较暗时,将以低亮度模式开启床头灯,确保舒适且不打扰睡眠。

  • 🧸 次卧灯光行为

​ 入睡状态触发后,若次卧灯是由人为操作关闭(非自动化触发),则次卧的自动开灯功能将暂停。该功能仅在以下条件下恢复:入睡状态结束、离家状态触发,或日出状态下主动开灯。

注:次卧目前无人居住,因此不参与全局睡眠状态的判断,仅作为补充逻辑处理。

五、其它

另一些自动化的设计与实现,与智能家居的布局和使用习惯强相关。

客厅@自动化开关灯
客厅@自动化开关灯
全局@传感器统一查询
全局@传感器统一查询
全局@事件通用调用
全局@事件通用调用
【全局变量汇总设定】
【全局变量汇总设定】

极客板

完结,撒花~ 🎉


  1. 米家新出的摄像机已支持将云台矫正作为自动化选项。 ↩︎

评论