Module: miot/service/smarthome

智能家庭 API

Namespaces

MemberType

Methods

(static) batchGetDeviceDatas(params) → {Promise}

获取设备的属性,属性设置会在设备被删除时清空 api call /device/batchdevicedatas

error code: 0 - 成功 -7 - 没有找到注册的设备 -6 - 设备对应uid不为0 -4 - server err

Parameters:
Name Type Description
params Array.<object>

参数

Properties
Name Type Description
did string

did

props Array.<string>

props 列表,属性需要以"prop.s_"开头 e.g ["prop.s_aaa","prop.s_bbb"]

Since:
  • 10005
Returns:
Type
Promise
Example
let params = {'did':Device.deviceID, 'props': [
 "prop.s_push_switch"
]}
Service.smarthome.batchGetDeviceDatas([params]).then(...)

(static) batchSetDeviceDatas(params)

设置设备属性, 属性设置会在设备被删除时清空 备注: props最多20个,最多同时300个设备(目前max设备数),属性需要以prop.s_ 开头

error code: 0 - 成功 7 - 没有找到注册的设备 6 - 设备对应uid为0 4 - server err

Parameters:
Name Type Description
params Array.<object>

{did: string, props: json}

Properties
Name Type Description
did string

did

props object

props 键值对, 属性需要以"prop.s_"开头

Since:
  • 10005
Example
let params = {'did':Device.deviceID, 'props': {
 "prop.s_push_switch_xxx":"0"
}}
Service.smarthome.batchSetDeviceDatas([params]).then(...)

(static) bindNFCCard(params)

门锁米家APP上传Cid,Did,Uid,返回处理结果。函数内部与金服APP建立http连接签名传输配置信息与NFC卡片信息 Service.smarthome.BindNFCCard(params)

Parameters:
Name Type Description
params json

{did:'', uid:'', cid:''}

Since:
  • 10003

(static) callThirdPartyAPI(params) → {Promise}

异步调用第三方云接口 /third/api

Parameters:
Name Type Description
params json

参数 {"app_id":"123","dids":["1","2"],"params":json}

Returns:
Type
Promise

(static) checkDeviceVersion(设备did, pid) → {Promise.<DeviceVersion>}

获取指定设备的新版本信息 /home/checkversion

Parameters:
Name Type Description
设备did string
pid number

设备类型,使用Device.type,即可

Returns:
Type
Promise.<DeviceVersion>
Example
Device.getDeviceWifi().checkVersion()
 .then(res => console.log('success:', res))
 .catch(err => console.log('failed:', err))

(static) createMember(type, info)

创建 成员, 参考 MemberPerson 或者 MemberPet 的内容,按需填写。

Parameters:
Name Type Description
type MemberType

成员类型 pet or person

info MemberPerson

MemberPerson 或者 MemberPet

Since:
  • 10005

(static) createSeSession(params)

透传米家APP与小米支付创建session request /v2/nfckey/create_se_session

Parameters:
Name Type Description
params object

params

Properties
Name Type Description
did string

did

reqData object

// 透传给Mipay的数据

Properties
Name Type Description
userId string

// 透传给Mipay的数据

cplc string

// 透传给Mipay的数据

deviceType string

// 透传给Mipay的数据

deviceId string

// 透传给Mipay的数据

timestamp string

// 透传给Mipay的数据

sign string

// 透传给Mipay的数据

Since:
  • 10011

(static) delDeviceData(params)

删除用户的设备信息(prop和event 除外). 删除对应时间戳的上报的数据,无法删除type为prop和event,删除后可用get_user_device_data校验。 如果get_user_device_data校验返回的为[]表示删除成功。 user/del_user_device_data

Parameters:
Name Type Description
params object

{did:'', type: '', key:'',time:number} did:设备ID ;type: 要删除的类型 ;key: 事件名称. motion/alarm ;time:时间戳,单位秒

Properties
Name Type Description
did string

设备id。 必选参数

type string

type 定义与SDS表中type一致。必选参数。可参考SDS文档中的示例

key string

key 事件名,可自定义,定义与SDS表中key一致。必选参数

time string

指定时间戳

value string

指定值

Since:
  • 10004

(static) delDevicesConfig(params) → {Promise.<json>}

删除设备上传的信息 /v2/device/del_extra_data

Parameters:
Name Type Description
params json

{did:string, keys:[key1,key2]}

Deprecated:
  • 10005 开始废弃, 后续版本会移除该方法。batchSetDeviceDatas 设置的属性会随着设备删除自动清空
Returns:
Type
Promise.<json>

(static) delDeviceSetting(params) → {Promise}

删除服务器中 device 对应的数据,内部调用米家代理接口/device/delsetting

Parameters:
Name Type Description
params json

请求参数

Properties
Name Type Description
did string

did

settings object

指定要删除的key数组

Returns:
Type
Promise

(static) deleteMember(type, member_id)

删除成员

Parameters:
Name Type Description
type MemberType
member_id Array

成员id列表

Since:
  • 10005

(static) delUserColl(params) → {Promise}

删除用户收藏 /user/get_user_coll

Parameters:
Name Type Description
params *

参数

Properties
Name Type Description
did string

did

coll_id string

coll_id

Returns:
Type
Promise

(static) delUsermap(params) → {Promise}

石头扫地机器人专用,撤销隐私时删除扫地机地图 /user/del_user_map

Parameters:
Name Type Description
params json

{did} 设备ID

Returns:
Type
Promise

(static) deviceSetExtraData(params) → {Promise}

/v2/device/set_extra_data 写extra_data 字段,必须为map[string] string格式

Parameters:
Name Type Description
params json

参数 {did, extra_data}

Since:
  • 10002
Deprecated:
  • 10005 不推荐使用,后续版本会移除该方法。建议使用batchSetDeviceDatas
Returns:
Type
Promise

(static) editIDFY(params)

call api /scene/idfy_get

Parameters:
Name Type Description
params object

json params

Since:
  • 10005
Example
let params = {"identify":"554011","st_id":7,"setting":{"aqi_link":"0","exception_alert":"1","blue_sky_alert":"0"},"authed":["554011"]}
Service.smarthome.editIDFY(params)

(static) editUserColl(params) → {Promise}

/user/edit_user_coll 编辑用户收藏

Parameters:
Name Type Description
params json

参数 {coll_id, newname, content}

Since:
  • 10002
Returns:
Type
Promise

(static) getAiServiceProxy(params) → {Promise}

获取小爱接口数据,内部调用米家代理接口/v2/api/aivs

Parameters:
Name Type Description
params json

请求参数 {path:string,params:map,header:map,payload:map,env:int,req_method:string,req_header:map}

Properties
Name Type Description
path string
params string
Properties
Name Type Description
did string
client_id string
header string
env string
req_method string
req_header string
Returns:
Type
Promise
Example
Service.smarthome.getAiServiceProxy({
 path: "/api/aivs/xxx",
 params: { did : "xx", client_id: "xx"},
 header: { name : "xx"},
 env: 1,
 req_method: "POST",
 req_header: {"Content-Type":"xx"}
}).then()

(static) getAppConfig(params)

获取AppConfig配置文件,1. 插件端有一些自己的信息需要配置,可使用此接口 2. 局限性:只有小米内部有权配置,之后可能会出对外版(目前只能找米家产品经理/工程师帮忙配置)3.维护起来很不方便,不建议使用。 默认获取的是release版数据, 如果需要获取preview版数据, 可以在米家APP中 我的-->开发者设置-->其他设置的界面中 “AppConfig接口拉取preview版数据” 置为选中状态

Parameters:
Name Type Description
params object

请求参数

Properties
Name Type Description
name string

configName 配置的名字

lang string

lang 可选: zh_CN、zh_TW、en,zh-hant,一般请使用zh_CN和en

result_level string

正常传"0",若传“1”,则会提供一个downloadurl,而不是直接返回content,以节省流量。取得downloadurl后,通过Host.file.downloadFile下载文件,然后使用

version string

version 后台配置的version,大概率为"1",如果不对,可以找米家工程师帮忙查询,查询地址:http://plato.io.mi.srv/#/appconfig/client

(static) getAppConfigV2(params)

用于获取插件所需的一些默认配置信息

Parameters:
Name Type Description
params json

{'name':'自定义值','lang':'自定义值','version':'自定义值','model':'modelId'} /service/getappconfigv2

Deprecated:
  • 10010, SDKLevel 10010 废弃该接口,使用getAppConfig

(static) getAvailableFirmwareForDids(deviceIDs) → {Promise.<json>}

// 获取可用固件更新,传参为dids。 /home/multi_checkversion

Parameters:
Name Type Description
deviceIDs array.<string>

设备ID

Returns:
Type
Promise.<json>

(static) getBleLockBindInfo(params) → {Promise}

获取蓝牙锁绑定的时间,/device/blelockbindinfo

Parameters:
Name Type Description
params json

参数

Properties
Name Type Description
did string

did

Returns:
Type
Promise

(static) getCountry(params) → {Promise}

获取设备所在网络的IP地址所属国家 /home/getcountry

Parameters:
Name Type Description
params json

{"dids": ["xx"]}

Returns:
Type
Promise

(static) getDeviceData(params) → {Promise}

查询用户名下设备上报的属性和事件 获取设备属性和事件历史记录,订阅消息直接写入到服务器,不需要插件添加. 通下面的set_user_device_data的参数一一对应, /user/get_user_device_data 对于蓝牙设备,params.key 可参考文档 https://iot.mi.com/new/guide.html?file=04-嵌入式开发指南/06-BLE产品接入/06-米家BLE%20Object定义#/

Parameters:
Name Type Description
params json

参数{did,type,key,time_start,time_end,limit}含义如下:

Properties
Name Type Description
did string

设备id。 必选参数

uid string

要查询的用户id 。必选参数

key string

属性或事件名,必选参数。(注意:如果设备是蓝牙设备,传入的是object id, 且为十进制数据;如果是wifi设备,才传入自定义属性或事件名,可以在开发者平台-产品-功能定义中查看)

type string

必选参数[prop/event], 如果是查询上报的属性则type为prop,查询上报的事件则type为event,

time_start string

数据起点。必选参数

time_end string

数据终点。必选参数,time_end必须大于time_start,

group string

返回数据的方式,默认raw,可选值为hour、day、week、month。可选参数.

limit string

返回数据的条数,默认20,最大1000。建议不要设置limit,一次拉20条,分页来拉取。可选参数.

Returns:
Type
Promise

(static) getDeviceDataRaw(params)

App获取设备上报操作记录 request /v2/user/get_device_data_raw

Parameters:
Name Type Description
params object

参数

Properties
Name Type Description
did string

设备did

uid string

用户UID

type string

查询事件;当查询属性时使用 'prop', 否则使用 'store'操作

key string

事件名称;当查询属性时value填具体属性,比如"aqi"

time_start string

开始UTC时间

time_end string

结束UTC时间

limit string

最多返回结果数目,上限500。注意按需填写,返回数据越多查询越慢

Since:
  • 10011

(static) getDevicesConfig(params) → {Promise.<json>}

通过前缀分批拉取设备的配置信息

  • /v2/device/range_get_extra_data
Parameters:
Name Type Description
params json

{did:string,prefix:string,limit:int,offset:int}

Deprecated:
  • 10005 开始废弃, 后续版本会移除该方法。推荐使用 batchGetDeviceDatas
Returns:
Type
Promise.<json>

(static) getDeviceSetting(params) → {Promise}

获取服务器中 device 对应的数据,内部调用米家代理接口 /device/getsetting

Parameters:
Name Type Description
params object

请求参数

Properties
Name Type Description
did string

did

settings Array.<string>

指定设置的key数组

Deprecated:
  • 10010 开始废弃, 后续版本会移除该方法。 推荐使用 getDeviceSettingV2
Returns:
Type
Promise

(static) getDeviceSettingV2(params) → {Promise}

获取服务器中 device 对应的数据,内部调用米家代理接口 /v2/device/getsettingv2

Parameters:
Name Type Description
params object
Properties
Name Type Description
did string

设备did

last_id string

上一次请求返回的id,用于分页

prefix_filter string

filter

settings Array.<string>

指定设置的key数组

Since:
  • 10010
Returns:
Type
Promise

(static) getDeviceTimeZone(did)

获取设备时区

Parameters:
Name Type Description
did string
Deprecated:
  • 10005, 内部取用extra_Data 中设置的数据,建议自行在batchSetDeviceData中实现

(static) getFileUrl(params) → {Promise}

获取文件下载地址

Parameters:
Name Type Description
params json

参数 {obj_name : '2018/06/08/123456/xiaomi123_181030106.mp3'}

Deprecated:
  • 10004 使用 Host.file.getFDSFileInfoWithObjName
Returns:
Type
Promise

(static) getHomeDevice(params) → {Promise}

添加设备属性和事件历史记录,/home/device_list 当ssid和bssid均不为空时,表示同时搜索这个局域网内所有未被绑定过的设备

Parameters:
Name Type Description
params json

{pid:string ,ssid:string ,bssid:string ,localDidList:array,checkMoreWifi:bool,dids:array}

Properties
Name Type Description
pid string

Device.type

ssid string

wifi 的 ssid

bssid string

wifi 的bssid

dids string

要拉取列表的设备的didi,如果为空表示所有设备

localDidList string

本地设备did列表,补充ssid和bssid的本地查询条件,会与ssid查到的本地列表一起返回其中未被绑定的在线设备

checkMoreWifi string

检查2.4gwifi下的本地设备列表

getHuamiDevices boolean

获取华米设备,如华米手环 其中,pid:设备PID,ssid:wifi名称,bssid:wifi网关mac,locatDidList:本地设备did列表,补充ssid和bssid的本地查询条件,会与ssid查到的本地列表一起返回其中未被绑定的在线设备,checkMoreWifi:检查2.4gwifi下的本地设备列表,did:要拉取列表的设备的did,如果为空表示所有设备

Returns:
Type
Promise

(static) getIDFY(params)

call api /scene/idfy_get

Parameters:
Name Type Description
params object

json params

Properties
Name Type Description
indetify string

唯一标识符,场景的id,一般填did

Since:
  • 10005
Example
let params = {identify:Device.deviceID}
Service.smarthome.getIDFY(params)

(static) getInterimFileUrl(params) → {Promise}

获取InterimFileUrl 获取临时文件

Parameters:
Name Type Description
params json

参数 {obj_name : '{ownerId}/{deviceId}/{index}'}

Returns:
Type
Promise

(static) getLatestVersion(model) → {Promise}

获取服务器中 最新的版本信息,内部调用米家代理接口/home/latest_version

Parameters:
Name Type Description
model string

设备的 model

Returns:
Type
Promise

(static) getLatestVersionV2(did)

获取服务器中 最新的版本信息, 内部调用米家代理接口/v2/device/latest_ver

Parameters:
Name Type Description
did string

设备did

Since:
  • 10004

(static) getMapfileUrl(params) → {Promise}

添加设备属性和事件历史记录,/home/getmapfileurl

Parameters:
Name Type Description
params json
Returns:
Type
Promise

(static) getMiWatchConfig() → {Promise}

华米watch配置使用 Android not support yet

Returns:
Type
Promise

(static) getNFCCard(params) → {json}

米家app查询NFC卡信息,使用did查询did下绑定的NFC卡列表信息

Parameters:
Name Type Description
params json

{did:''}

Since:
  • 10003
Returns:

卡片结果数组

Type
json
Example
response:
ret={
        "code":0,
        "message":"ok",
        "result":{
            "list":[{
                "did":"1234567",
                "uid":123456789,                    //设备owner的用户id
                "cid":"111122223333444455",
                "name":"家",                            //用户设置的卡名称
                "type":1,                                  //卡片类型,1:手机NFC卡,2:实体卡
                "status":1,                               //卡片状态,1:有效, 0: 无效
                "issuer_id":"666666",
                "time_stamp":1234567890,   // 开卡时间
                "extra":{
                    "deviceModel":"RedMi 4X",
                    "OS":"MIUI 9.5"
                    }
                },
                {
                ...
                }
                ]
        }
    }

(static) getRangeOpenConfig(params)

call api /v2/home/range_get_open_config

Parameters:
Name Type Description
params json

json params {did:string, category:string, configids:array, offset: int, limit:int}, did: 设备did。 category 配置类别, configids: 配置id 为空时返回所有配置,不超过20个,不为空时没有数量限制, offset 偏移;limit 数量,不超过20

Since:
  • 10005
Deprecated:
  • 10011 改用 Service.smarthome.rangeGetOpenConfig

(static) getRobomapUrl(arams) → {Promise}

石头扫地机器人专用,获取fds存储文件url /home/getrobomapurl

Parameters:
Name Type Description
arams *

{“obj_name”:”xxx/12345678/87654321/1.0”},obj_name格式为:fds存储文件夹/did/uid/obj_name

Returns:
Type
Promise

(static) getThirdConfig(params) → {Promise}

从服务器获取配置文件,/device/getThirdConfig

Parameters:
Name Type Description
params json

参数 {"name":"config_version","version":1,"lang":"en","app_id":"XXX"}

Properties
Name Type Description
name string

configName

model string

device model

app_id string

app_id

lang string

lang e.g: zh_CN

result_level string

值为1,则不返回content来节省流量, 默认为0

version string

version

Returns:
Type
Promise

(static) getUserColl(params) → {Promise}

获取用户收藏 /user/get_user_coll

Parameters:
Name Type Description
params object

参数

Properties
Name Type Description
did string

did

Returns:
Type
Promise

(static) getUserDeviceAuth(string}) → {Promise}

获取authCode来做鉴权

Parameters:
Name Type Description
string}

did 设备的 did

Returns:
Type
Promise

(static) getUserDeviceDataTab(params) → {Promise}

日志分页拉取

Parameters:
Name Type Description
params object

参数

Properties
Name Type Description
did string
key string
type string
timestamp string
limit string
Since:
  • 10001
Returns:
Type
Promise

(static) getUserDeviceLog(params)

用于按照时间顺序拉取指定uid,did的发生的属性事件 /v2/user/get_user_device_log

Parameters:
Name Type Description
params object

参数

Properties
Name Type Description
did string
limit number

目前最大为50

time_start number

开始时间

time_end number

结束时间

Since:
  • 10004

(static) getUserInfo(uid) → {Promise.<UserInfo>}

获取用户的昵称和头像信息

Parameters:
Name Type Description
uid *

获取用户信息的uid或者手机号

Returns:

a promise with user info

Type
Promise.<UserInfo>

(static) getUserInfoList(uids) → {Promise.<Array.<object>>}

通过UID批量获取用户信息

Parameters:
Name Type Description
uids Array.<string>

uid数组,仅支持uid,不支持手机号查询

Since:
  • 10005
Returns:
Type
Promise.<Array.<object>>
Example
Service.smarthome.getUserInfoList([uid1,uid2]).then(res => {
 console.log('user info :', res.list)
})

(static) getUserPDData(params)

获取用户信息 call /user/getpdata 此接口的时间戳范围是反的,即:time_start > time_end ,否则获取不到。

Parameters:
Name Type Description
params object

params

Properties
Name Type Description
time_end object

筛选结果的时间戳

time_start object

筛选结果的时间戳

key object

获取的key

Since:
  • 10010

(static) getUserStatistics(params) → {Promise.<Object>}

提供返回设备数据统计服务,使用该接口需要配置产品model以支持使用,建议找对接的产品人员进行操作。 图表📈统计接口 /v2/user/statistics 注:由于sds限额问题,可能会出现一次拉不到或者拉不完数据的情况,会返回code:0和message:“sds throttle”

Parameters:
Name Type Description
params object
Properties
Name Type Description
did string

did

data_type string

数据类型 包括: 采样统计 日统计:stat_day_v3 / 周统计:stat_week_v3 / 月统计:stat_month_v3;

key string

需要统计的字段,即统计上报对应的key

time_start number

开始时间

time_end number

结束时间

limit number

限制次数,0为默认条数

Returns:

{ "code": 0, "message": "ok", "result": [ { "value": "[12,34]", // 为一个数组形式json串 "time": 1543593600 // 时间戳 }, { "value": "[10,11]", "time": 1541001600 }] }

Type
Promise.<Object>

(static) getVoiceCtrlDevices(deviceID) → {Promise}

获取支持语音的设备 可以控制的设备列表。 /voicectrl/ai_devs

Parameters:
Name Type Description
deviceID

语音设备的 did

Returns:
Type
Promise

(static) getWeatherInfo(deviceID) → {Promise.<WeatherInfo>}

获取天气 /location/weather 该API 改为私有

Parameters:
Name Type Description
deviceID string

设备ID

Returns:
Type
Promise.<WeatherInfo>

(static) handleSEResponse(params)

处理芯片返回 request /v2/nfckey/handle_se_response

Parameters:
Name Type Description
params object

params

Properties
Name Type Description
did string

did

reqData object

// 透传给Mipay的数据

Properties
Name Type Description
sessionId string

// 透传给Mipay的数据

userId string

// 透传给Mipay的数据

cplc string

// 透传给Mipay的数据

seResps Array.<object>

// 这是一个数组透传给Mipay的数据

Properties
Name Type Description
data string

// 这是一个透传给Mipay的数据

statusWord string

// 这是一个透传给Mipay的数据

timestamp string

// 透传给Mipay的数据

sign string

// 透传给Mipay的数据

Since:
  • 10011
Example
let param = {
 "did":"1234567",
 "reqData":{ // 透传给Mipay的数据
     "sessionId":"999999999",
     "userId":"12340000",
     "cplc":"asdghjklmnbvd",
     "seResps":[
         {"data":"","statusWord":"9000"},
         {"data":"","statusWord":"6A80"}
     ],
     "timestamp":1234567890,
     "sign":"shaddgkldsjlkeri"
 }
}

(static) insertunmodel(params)

/yaokan/insertunmodel

Parameters:
Name Type Description
params json

{device:int, id: int, brand: string, model: string}

Since:
  • 10004

(static) loadMembers(type)

加载指定种类的成员列表

Parameters:
Name Type Description
type MemberType
Since:
  • 10005

(static) rangeGetOpenConfig(params) → {Promise}

/v2/home/range_get_open_config 通过appid、category、configid获获取对应的配置

Parameters:
Name Type Description
params json

参数 {did,category,configids,offset,limit}

Since:
  • 10002
Returns:
Type
Promise

(static) replaceSEISDkey(params)

透传替换ISD key request /v2/nfckey/replace_se_isdkey

Parameters:
Name Type Description
params object

params

Properties
Name Type Description
did string

did

reqData object

// 透传给Mipay的数据

Properties
Name Type Description
sessionId string

// 透传给Mipay的数据

partnerId string

// 透传给Mipay的数据

userId string

// 透传给Mipay的数据

cplc string

// 透传给Mipay的数据

timestamp string

// 透传给Mipay的数据

sign string

// 透传给Mipay的数据

Since:
  • 10011

(static) reportBLEDeviceInfo(params)

上报蓝牙设备信息 call: /v2/device/bledevice_info 等效于: /v2/blemesh/dev_info

Parameters:
Name Type Description
params object

参数

prarms.did string

设备did

prarms.fw_ver string

设备当前固件版本号

prarms.hw_ver string

设备的硬件平台

prarms.latitude string

纬度,number字符串

prarms.longitude string

经度,number字符串

prarms.iternetip string

app/网关IP地址

Since:
  • 10020

(static) reportGPSInfo(deviceID, gpsInfo) → {Promise.<object>}

上报gps信息 /location/set

Parameters:
Name Type Description
deviceID string

设备ID

gpsInfo GPSInfo

{lng,lat,countryCode,adminArea,locality,subLocality,thoroughfare,language} 依次为 {,,,,,,,}

Returns:
Type
Promise.<object>
Example
//获取手机地理信息,iOS必须是真机且开启定位权限
Host.locale.getLocation().then(res => {
 console.log('get location: ', res)
 var {longitude,latitude} = res;
})
if (latitude && longitude) {
 Service.smarthome.reportGPSInfo(Device.deviceID, {})
}

(static) reportLog(model, log) → {void}

添加一条日志打点。 开发者应该在拓展程序内合适时机调用该接口,打点信息会自动写入文件,按 Model 归类,即一个 Model 生成一个日志文件。 当用户反馈问题时,勾选 “同时上传日志”,则该 Model 的日志会跟随用户反馈上传, 开发者可在 IoT 平台查看用户反馈及下载对应日志文件。用户反馈查看入口:数据中心—用户反馈,如果看不到数据中心入口,联系自己所属企业管理员修改账号权限。

Parameters:
Name Type Description
model string

要打 log 到哪个 model 下

log string

具体的 log 数据

Returns:
Type
void
Example
Service.smarthome.reportLog("a.b.c", "hello");
    Service.smarthome.reportLog(Device.model, `[info]test value is :${v1},${v2},${v3}`)
    Package.isDebug&&Service.smarthome.reportLog(...)

    Device.reportLog(`...`)

(static) reportRecords(deviceID, records)

上报设备数据 /device/event 会更新状态+存到历史(相当于调用setDeviceData 接口)+触发自动化

Parameters:
Name Type Description
deviceID string

设备ID

records array.<map>

[{type,key,value}] 其中:type为'prop'或'event',key,value均为自定义string

Example
Service.smarthome.reportRecords("deviceID", [{type:"prop",key:"b",value:"c"}])

(static) resetLockPrimaryKey(params)

透传锁主密钥重置 request /v2/nfckey/reset_lock_primarykey

Parameters:
Name Type Description
params object

params

Properties
Name Type Description
did string

did

reqData object

// 透传给Mipay的数据

Properties
Name Type Description
sessionId string

// 透传给Mipay的数据

partnerId string

// 透传给Mipay的数据

userId string

// 透传给Mipay的数据

cplc string

// 透传给Mipay的数据

timestamp string

// 透传给Mipay的数据

sign string

// 透传给Mipay的数据

Since:
  • 10011

(static) setDeviceData(params) → {Promise}

添加设备属性和事件历史记录,/user/set_user_device_data 对于蓝牙设备,params.key 可参考文档 https://iot.mi.com/new/guide.html?file=04-嵌入式开发指南/06-BLE产品接入/06-米家BLE%20Object定义#/

Parameters:
Name Type Description
params object

参数

Properties
Name Type Description
did string

设备did,

uid string

添加到哪个用户下,一般为 Device.ownerId,

type string

属性为prop, 事件为event

key string

要保存的数据K, 属性或事件名,(注意:如果设备是蓝牙设备,传入的是object id, 且为十进制数据;如果是wifi设备,才传入自定义属性或事件名,可以在开发者平台-产品-功能定义中查看)

value string

要保存的数据V

time number

触发时间戳,

Returns:
Type
Promise

(static) setDeviceProp(params)

设置设备属性,e.g 配置摄像头/门铃设备的属性 props最多20个, 属性需要以"prop.s_"开头。

error code: 0 - 成功 -7 - 没有找到注册的设备 -6 - 设备对应uid不为0 -4 - server err

Parameters:
Name Type Description
params object

参数

Properties
Name Type Description
did string

did

props object

props 键值对, 属性需要以"prop.s_"开头

Since:
  • 10004
Example
let params = {'did':Device.deviceID, 'props': {
 "prop.s_notify_screen_dev_enable":"0", //0,关; 1,开
 "prop.s_notify_screen_dev_did":"123456789" // 接收rpc的音响设备
}}
Service.smarthome.setDeviceProp(params).then(...)

(static) setDeviceSetting(params) → {Promise}

设置服务器中 device 对应的数据,内部调用米家代理接口/device/setsetting

Parameters:
Name Type Description
params object

请求参数 {did:string,settings:map<key,value>}

Properties
Name Type Description
did string

did

settings object

指定设置的key数组

Returns:
Type
Promise

(static) setUserColl(params) → {Promise}

设置用户收藏 /user/get_user_coll

Parameters:
Name Type Description
params object

参数

Properties
Name Type Description
did string

did

name string

name

content string

content

Returns:
Type
Promise

(static) setUserPDData(params)

设置用户信息 call /user/setpdata, 其中的time为关键信息,在getpdata使用时将利用此值。

Parameters:
Name Type Description
params object

params

Properties
Name Type Description
time long

setpddata的时间戳

key string

key 字串

value string

value值

Since:
  • 10010

(static) thirdSyncCall(params) → {Promise.<json>}

/v2/third/synccall. 兼容三方厂商使用

Parameters:
Name Type Description
params json

{"uid": , "did":, "api_name": , ...}

Since:
  • 10003
Returns:

{"code": 0, "policy": <POLICY_NUMBER">, ...}

Type
Promise.<json>

(static) updateMember(type, member_id, info)

更新成员信息

Parameters:
Name Type Description
type MemberType
member_id string
info MemberPerson

MemberPerson 或者 MemberPet 只填写需要更新的项目

Since:
  • 10005

Type Definitions

DeviceVersion

设备固件版本信息

Properties:
Name Type Description
isUpdating boolean

是否ota升级中 为true时,otaState才有效

isLatest boolean

是否是最新版本

isForce boolean

是否强制升级

hasNewFirmware boolean

是否有新固件

curVersion string

当前固件版本

newVersion string

新固件版本

description string

描述

otaState OTAState

设备OTA状态, since 10011

GPSInfo

Properties:
Name Type Description
lng

经度

lat

维度

adminArea

countryCode

国家代号(CN等)

locality

城市

thoroughfare

街道

language

语言代号(zh_CN等)

subLocality

MemberPerson

Properties:
Name Type Description
id string
name string

姓名

sex string

性别

birth string

生日

height double

身高

weight double

体重

relation string

关系

icon string

预留项,暂不支持设置

xiaomi_id int

小米uid

region string

国家区域

special_mark int

特殊标志

MemberPet

Properties:
Name Type Description
id string
name string

名称

sex string

性别

birth string

生日

weight double

重量

species string

物种

variety string

品种

food_cate string

食品

active_rate int

活跃度

castrated int

阉割

special_mark int

特殊标志

OTAState

设备固件otaState

Since:
  • 10011

UserInfo

Properties:
Name Type Description
uid number

user id; since 10010

nickName string

user nick name

avatarURL string

user avatarURL

WeatherInfo

Properties:
Name Type Description
city

城市名称

city_id

城市ID

pub_time

发布时间

aqi

空气指数

pm25

PM2.5

pm10

PM1.0

so2

二氧化硫

no2

二氧化氮

src

数据来源,eg:中国环境监测总站