插座的APP免开发解决方案
更新时间:2019-08-19 14:27:54
更新记录
更新日期 | 更新内容 |
---|---|
2019-06-24 | 新增计量功能的配置,新增电量、功率统计功能 |
2018-11-15 | 插座标准面板发布 |
方案简介
为让智能插座的设备开发者更方便地将APP和设备结合,更容易地实现商业化,平台为智能插座提供了一整套免开发的APP标准界面。开发者仅需关注设备端的开发,完全无需任何云端、APP开发,即可实现demo演示或商业化。
搭配平台提供的公版APP,插座(暂仅支持单孔插座)的界面如下,基本功能包括:
提供了多套国标、美规、日规、国际、欧规
开启关闭
定时(云端/本地/随机定时/循环定时)
倒计时(本地)
功能定义
要在控制台创建产品,选择“插座”这个品类,并选择以下标准功能:
若使用多孔排插面板,可以根据自身产品的属性去添加对应的PowerSwitch个数,例如:某厂商要生产一个6孔的排插,除了功能定义中必选的电源开关之外,还需要添加剩余5个电源开关属性,例如:电源开关_1 ... 电源开关_5,对应的标识为PowerSwitch_1 ... PowerSwitch_5,可以根据产品的孔数自行增加需要的孔位,数量不设上限。
电源开关必选 | PowerSwitch | 布尔型 | 布尔值: 0 - 关闭1 - 开启 |
---|---|---|---|
电源开关_1可选 (多孔排插使用) |
PowerSwitch_1 | 布尔型 | 布尔值: 0 - 关闭1 - 开启 |
本地定时可选 | LocalTimer | 数组型 | 元素类型:JSON数组 |
倒计时列表可选 | CountDownList | 复合型 | JSON对象 |
实时功率可选 | RealTimePower | 浮点型 | 若需要在APP页面上展现计量统计,需要在功能定义中添加该属性 |
单位耗电量可选 | UnitPowerConsumption | 浮点型 | 若需要在APP页面上展现计量统计,需要在功能定义中添加该属性 |
循环定时可选 | PeriodTimer | JSON | 可选 对应PowerSwitch |
循环定时1可选 | PeriodTimer_1 | JSON | 可选 对应PowerSwitch_1 |
... | ... | ... | ... |
最多可添加到_9可选 | PeriodTimer_9 | 以此类推 | |
随机定时可选 | RandomTimer | JSON | 可选 对应PowerSwitch |
随机定时1可选 | RandomTimer_1 | JSON | 可选 对应PowerSwitch_1 |
... | ... | ... | ... |
最多可添加到_9可选 | RandomTimer_9 | 以此类推 |
界面逻辑
开关
点击页面中间的图片,或开关按钮,均可开启关闭。
定时
可选择云端定时 和 本地定时。如果功能定义中添加了“本地定时”的标准属性,页面上将默认实现本地定时功能;如果功能定义中没有添加,则默认云端定时。
云端定时:用户设置定时后,由云端保存该定时任务,并在时间到达时,由云端给设备下发指令,实现定时任务。优点是设备端无需关注复杂的定时逻辑,仅需实现基本设备功能。缺点是在弱网或断网时,无法执行该定时任务。
本地定时:用户设置定时后,由设备端保存该定时任务,并在时间到达时,设备自己执行该指令。优点是可以在弱网或断网情况下,设备也能执行定时任务;缺点是设备端需自行实现定时逻辑。本地定时功能开发实践
倒计时
倒计时为本地倒计时,即倒计时任务由设备端保存,而不是云端。本地倒计时功能开发实践
用电统计、功率统计
在功能定义中添加“实时功率”和“单位耗电量”后,该插座、排插即可在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' 代表周一 周二 周四 周五执行
}
随机定时
在功能定义中添加“随机定时”后,在点击定时按钮以后,插座,排插面板中会出现随机定时的入口,用户设置定时后,定时执行的时间不是立即执行,而是在设定的时间点前后30min内随机执行。
数据结构:
RandomTimer: {
StartTime:'13:01', //开始时间 保证5个字节。
EndTime:'20:02', //结束时间 保证5个字节
TimeZoneOffset:28400, //utc 时间与本地时间的差值 单位秒
Repeat:'' //代表不重复
Enable:0 //是否开启
// '1,2,4,5' 代表周一 周二 周四 周五执行
}
标准面板APP截图
单孔插座
多孔排插
功率、电量统计图表
随机定时和循环定时