为让智能插座的设备开发者更方便地将App和设备结合,平台为智能插座提供了一整套免开发的App标准界面。开发者仅需关注设备端的开发,完全无需任何云端、App开发,即可实现demo演示。
方案简介
搭配平台提供的公版App,基本功能如下。
- 提供了多套国标、美规、日规、国际、欧规
- 开启关闭
- 定时(云端、本地、随机定时、循环定时)
- 倒计时(本地)
插座(暂仅支持单孔插座)的界面如下。
功能定义
在控制台创建产品,品类选择插座,并选择以下标准功能。
若使用多孔排插面板,根据自身产品的属性添加对应的PowerSwitch个数,数量不设上限。
例如:某厂商要生产一个6孔的排插,除了功能定义中必选的电源开关之外,还需要添加剩余5个电源开关属性,电源开关_1~电源开关_5,可标识为PowerSwitch_1~PowerSwitch_5。可以根据产品的孔数自行增加需要的孔位,数量不设上限。
功能名称 | 标识符 | 数据类型 | 是否必选 | 数据定义 |
---|---|---|---|---|
电源开关必选 | PowerSwitch | 布尔型 | 否 |
|
电源开关_1(多孔排插使用) | PowerSwitch_1 | 布尔型 | 否 |
|
本地定时 | LocalTimer | 数组型 | 否 | 元素类型:JSON数组 |
倒计时列表 | CountDownList | 复合型 | 否 | JSON对象 |
实时功率 | RealTimePower | 浮点型 | 否 | 若需要在App页面上展现计量统计,需要在功能定义中添加该属性 |
单位耗电量 | UnitPowerConsumption | 浮点型 | 否 | 若需要在App页面上展现计量统计,需要在功能定义中添加该属性 |
循环定时 | PeriodTimer | JSON | 否 | 可选对应PowerSwitch |
循环定时1 | PeriodTimer_1 | JSON | 否 | 可选对应PowerSwitch_1
最多可添加9个,即添加至PowerSwitch_9 |
随机定时 | RandomTimer | JSON | 否 | 可选对应PowerSwitch |
随机定时1 | RandomTimer_1 | JSON | 否 | 可选对应PowerSwitch_1
最多可添加9个,即添加至PowerSwitch_9 |
当前电压 | CurrentVoltage | 浮点型 | 否 | 若需要在App页面上展现电压,需要在功能定义中添加该属性 |
当前电流 | Current | 浮点型 | 否 | 若需要在App页面上展现电流,需要在功能定义中添加该属性 |
界面逻辑
- 开关
单击页面中间的图片,或开关按钮,均可开启关闭。
- 定时
可选择云端定时和本地定时。如果功能定义中添加了本地定时的标准属性,页面上将默认实现本地定时功能;如果功能定义中没有添加,则默认为云端定时。
- 云端定时:用户设置定时后,由云端保存该定时任务,并在时间到达时,由云端给设备下发指令,实现定时任务。优点是设备端无需关注复杂的定时逻辑,仅需实现基本设备功能。缺点是在弱网或断网时,无法执行该定时任务。
- 本地定时:用户设置定时后,由设备端保存该定时任务,并在时间到达时,设备自己执行该指令。优点是可以在弱网或断网情况下,设备也能执行定时任务;缺点是设备端需自行实现定时逻辑。详细介绍参见开发设备端本地定时功能。
- 倒计时
倒计时为本地倒计时,即倒计时任务由设备端保存,而不是云端。参见本地倒计时功能开发实践。
- 用电统计、功率统计
在功能定义中添加实时功率和单位耗电量后,该插座、排插即可在App设备面板上展示当日用电量、当月用电量以及设备当前实时功率,用电量数据由设备上报。
- 当前电压、当前电流
在功能定义中添加当前电压和当前电流后,插座标准面板即展示实时的电压和电流情况,数据由设备端进行上报。
- 循环定时
在功能定义中添加循环定时后,在点击定时按钮以后,插座,排插面板中会出现循环定时的入口,用户设定循环定时后,设备会在设定的时间段内循环执行开启和关闭。
数据结构如下。
PeriodTimer:{ StartTime:'13:01', //开始时间,保证5个字节 EndTime:'20:02', //结束时间,保证5个字节 TimeZoneOffset:28400, //utc时间与本地时间的差值,单位为秒 RunTime:30 //数据类型为int,单位为分 SleepTime:20 //数据类型为int,单位分 Repeat:'' //代表不重复 Enable:0 //是否开启 // '1,2,4,5' 代表周一、周二、周四、周五执行 }
- 随机定时
在功能定义中添加随机定时后,在单击定时按钮以后,插座,排插面板中会出现随机定时的入口,用户设置定时后,定时执行的时间不是立即执行,而是在设定的时间点前后30分钟内随机执行。
数据结构如下。
RandomTimer: { StartTime:'13:01', //开始时间,保证5个字节 EndTime:'20:02', //结束时间,保证5个字节 TimeZoneOffset:28400, //utc,时间与本地时间的差值,单位为秒 Repeat:'' //代表不重复 Enable:0 //是否开启 // '1,2,4,5' 表示周一、周二、周四、周五执行 }
标准面板App截图
- 单孔插座
- 多孔排插
- 功率、电量统计图表
- 随机定时和循环定时