场景服务
更新时间:2019-07-31 15:47:49
概述
场景可以理解为一组设备联动规则,联动规则分触发器(trigger)、边界条件(condition)和动作(action)三部分:
trigger触发器:
一个场景中支持设置多条trigger(单个场景trigger数量:100条);
trigger中有任一项满足时就会尝试触发场景执行;
支持的类型包含:手动执行(直接触发)、设备状态、事件、时间(定时);
condition边界条件:
一个场景中支持设置多条condition(单个场景condition数量:5条);
当trigger触发后,如果列在condition中的每一项条件全部满足的时候,才会触发场景;
支持的类型包含:设备状态、时间范围(xx.xx.xx~xx.xx.xx)
action是执行动作:
它是被控制的功能的集合,其中每一项在场景执行时会并发执行(单个场景action数量:100条);
支持的类型包含:设备动作、通知消息(向三方MQ发消息)、场景(执行其他场景)
运行规则
一个场景必须要包含trigger、action部分,而condition部分不是必选的。
当场景有配置condition时,会在满足trigger和condition后触发action。
服务内容:
场景服务提供场景与场景模板的基本管理功能,以及场景&场景模板与用户、设备、空间的关系管理功能。具体包含以下几个部分:
场景
提供场景实例的增、删、改、查以及部署、撤销、手动执行等操作。
场景模板
提供场景模板的增、删、改、查功能。
TCA相关
场景的三元素,trigger+condition+action,简称TCA。并非所有设备都可以作为TCA的一部分元素来构建场景,平台提供了一些TCA相关的接口,用来从产品维度和设备维度查询那些可以用来构建场景和场景模板的设备和产品。
用户与场景
用户与场景、用户与场景模板的关系都是多对多的。通过用户与场景的服务接口,可以管理、查询用户与场景、用户与场景模板的二元关系。
空间与场景
空间实例可以与场景实例绑定,空间模板可以与场景模板绑定,两组关系都是多对多的。通过空间与场景的服务接口,可以管理、查询对应的二元关系。