Module: miot/service/scene

场景相关服务, 包括定时,人工与自动场景

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

IScene

Namespaces

SceneType

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

Returns:
Type
IScene

(static) createAutomaticScene(deviceID, opt) → {IScene}

创建自动场景 same as createScene(deviceID, SceneType.Automatic, opt);

Parameters:
Name Type Description
deviceID string

设备id

opt json

同上面opt

Returns:
Type
IScene

(static) createTimerScene(deviceID, opt) → {IScene}

创建定时场景
用法同上面的 createScene(deviceID, SceneType.Timer, opt); 定时中的 crontab string 详见 Linux crontab命令

Parameters:
Name Type Description
deviceID string
opt json
Returns:
Type
IScene
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}

Returns:
Type
Promise.<Array.<IScene>>

(static) loadAutomaticScenes(deviceID, opt) → {Promise.<Array.<IScene>>}

加载自动场景 /scene/list

Parameters:
Name Type Description
deviceID *

设备id

opt json

{identify,name}

Returns:
Type
Promise.<Array.<IScene>>

(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}

Returns:
Type
Promise.<Array.<IScene>>

(inner) createScene(deviceID, sceneType, opt) → {IScene}

创建场景

Parameters:
Name Type Default Description
deviceID string

设备id

sceneType SceneType

场景类型

opt * null

{identify,name} 同上面的identify,name

Returns:
Type
IScene

(inner) loadScenes(deviceID, sceneType, opt) → {Promise.<IScene>}

加载场景

Parameters:
Name Type Default Description
deviceID string

设备id

sceneType SceneType

场景类型

opt * null

{identify,name} 同上面的identify,name

Returns:
Type
Promise.<IScene>