场景相关服务, 包括定时,人工与自动场景
Examples
import {Service, Device, SceneType} from 'miot';
//加载此设备所有的定时场景
Service.scene.loadScenes(Device.deviceID, SceneType.Timer)
.then((sceneArr) => {
if(sceneArr.length > 0){
const scene = sceneArr[0];
scene.setting.enable_push = 1;
...
scene.save().then((res)=>{
console.log(res)
});
}
});
//加载此设备名称为name,类别为identify的所有人工场景
Service.scene.loadArtificialScenes(Device.deviceID, {name:'...', identify:'...'})
.then(arr=>{...}).catch(err=>{...})
//加载此设备的所有定时场景
Device.loadTimerScenes().then((sceneArr) => {
...
})
.catch(err=>{
console.log(err)
})
Interfaces
Namespaces
Members
(static) createScene
创建场景
Example
import {Service, Device, SceneType} from 'miot'
const scene = Service.scene.createScene(Device.deviceID, SceneType.Timer, {
identify:'identify',
name:'myTimer',
setting:{...}
});
scene.save().then(scene=>{
...
})
(static) loadScenes
获取场景列表 /scene/list
Methods
(static) createArtificialScene(设备id, opt) → {IScene}
创建人工场景 same as createScene(deviceID, SceneType.Timer, opt);
Parameters:
Name | Type | Description |
---|---|---|
设备id |
string | |
opt |
json | 同上面opt |
(static) createAutomaticScene(deviceID, opt) → {IScene}
创建自动场景 same as createScene(deviceID, SceneType.Automatic, opt);
Parameters:
Name | Type | Description |
---|---|---|
deviceID |
string | 设备id |
opt |
json | 同上面opt |
(static) createTimerScene(deviceID, opt) → {IScene}
创建定时场景
用法同上面的 createScene(deviceID, SceneType.Timer, opt);
定时中的 crontab string 详见 Linux crontab命令
Parameters:
Name | Type | Description |
---|---|---|
deviceID |
string | |
opt |
json |
Example
import {Service, Device, SceneType} from 'miot'
const settinig = {
enable_timer_on: true, //是否开启定时打开。如果enable_timer设置为false,此属性不会起作用
on_time: * * * * *, //crontab string, minute hour day month week。如:59 11 21 3 * 指3月21号11点59分定时开
off_time: * * * * *, //crontab string,同上。
enable_timer_off: true,//是否开启定时关闭。如果enable_timer设置为false,此属性不会起作用
onMethod: 'method_name', //咨询硬件工程师,指硬件端,打开开关的方法。miot-spec下,一般为:set_properties
on_param: 'param', //咨询硬件工程师,指硬件端,打开开关应该传入的参数。miot-spec下,一般为:[{did,siid,piid,value}]
off_method: 'method_name', //咨询硬件工程师,指硬件端,关闭开关的方法。miot-spec下,一般为:set_properties
off_param: 'param', //咨询硬件工程师,关闭开关应该传入的参数。 miot-spec下,一般为:[{did,siid,piid,value}]
enable_timer: true, //是否开启此定时器,后续打开,关闭定时器,可以设置此属性
timer_type: "0",//用来区分普通定时和倒计时,为空(或者为"0")表示普通定时,为"1"表示倒计时
on_filter: "cn_workday" // 后台用来过滤日期,目前只在大陆地区生效:cn_workday 表示工作日,cn_freeday 表示节假日
off_filter:"cn_freeday" // 后台用来过滤日期,目前只在大陆地区生效:cn_workday 表示工作日,cn_freeday 表示节假日
//
}
const scene = Service.scene.createTimerScene(Device.deviceID, {
identify:'identify',//同上面的identify
name:'myTimer',//同上面的名称
setting:settinig
});
scene.save().then(scene=>{
...
})
(static) deleteSceneRecords(params)
批量删除自动化、场景
Parameters:
Name | Type | Description |
---|---|---|
params |
Array | 自动化、场景us_id数组 |
(static) loadArtificialScenes(deviceID, opt) → {Promise.<Array.<IScene>>}
加载人工场景 /scene/list
Parameters:
Name | Type | Description |
---|---|---|
deviceID |
* | 设备id |
opt |
json | {identify,name} |
(static) loadAutomaticScenes(deviceID, opt) → {Promise.<Array.<IScene>>}
加载自动场景 /scene/list
Parameters:
Name | Type | Description |
---|---|---|
deviceID |
* | 设备id |
opt |
json | {identify,name} |
(static) loadScenesHistoryForDevice(did, timestamp, limit)
获取指定设备的智能日志信息
Parameters:
Name | Type | Description |
---|---|---|
did |
string | 拉取设备的did |
timestamp |
long | 时间戳限制 |
limit |
int | 拉取日志数量限制,小于等于50 |
- Since:
- 10010
(static) loadTimerScenes(deviceID, opt) → {Promise.<Array.<IScene>>}
加载定时场景 /scene/list
Parameters:
Name | Type | Description |
---|---|---|
deviceID |
* | 设备id |
opt |
json | {identify,name} |
(inner) createScene(deviceID, sceneType, opt) → {IScene}
创建场景
Parameters:
Name | Type | Default | Description |
---|---|---|---|
deviceID |
string | 设备id |
|
sceneType |
SceneType | 场景类型 |
|
opt |
* | null | {identify,name} 同上面的identify,name |
(inner) loadScenes(deviceID, sceneType, opt) → {Promise.<IScene>}
加载场景
Parameters:
Name | Type | Default | Description |
---|---|---|---|
deviceID |
string | 设备id |
|
sceneType |
SceneType | 场景类型 |
|
opt |
* | null | {identify,name} 同上面的identify,name |