Skip to content

05 智能家庭模块

Xiaomi-Yule edited this page Sep 1, 2021 · 5 revisions

miot/service/smarthome

智能家庭 API

Export: public
Doc_name: 智能家庭模块
Doc_index: 5
Doc_directory: service


miot/service/smarthome~ISmartHome

Kind: inner class of miot/service/smarthome
Export:


iSmartHome.getUserInfo(uid) ⇒ [ 'Promise' ].<UserInfo>

Deprecated

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

Kind: instance method of ISmartHome
Returns: [ 'Promise' ].<UserInfo> - 用户信息

Param Type Description
uid * 获取用户信息的uid或者手机号

iSmartHome.getUserInfoList(uids) ⇒ [ 'Promise' ].<Array.<object>>

Deprecated

通过UID批量获取用户信息

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
uids [ 'Array' ].<string> uid数组,仅支持uid,不支持手机号查询

Example

Service.smarthome.getUserInfoList([uid1,uid2]).then(res => {
 console.log('user info :', res.list)
})

iSmartHome.reportGPSInfo(deviceID, gpsInfo) ⇒ [ 'Promise' ].<object>

上报gps信息 /location/set

Kind: instance method of ISmartHome

Param Type Description
deviceID string 设备ID
gpsInfo GPSInfo {lng,lat,countryCode,adminArea,locality,subLocality,thoroughfare,language} 依次为 {,,,,,,,}

Example

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

iSmartHome.getWeatherInfo(deviceID) ⇒ [ 'Promise' ].<WeatherInfo>

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

Kind: instance method of ISmartHome

Param Type Description
deviceID string 设备ID

iSmartHome.checkDeviceVersion(设备did, pid) ⇒ [ 'Promise' ].<DeviceVersion>

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

Kind: instance method of ISmartHome

Param Type Description
设备did string
pid number 设备类型,使用Device.type,即可

Example

Device.getDeviceWifi().checkVersion()
 .then(res => console.log('success:', res))
 .catch(err => console.log('failed:', err))

iSmartHome.getAvailableFirmwareForDids(deviceIDs) ⇒ [ 'Promise' ].<json>

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

Kind: instance method of ISmartHome

Param Type Description
deviceIDs [ 'array' ].<string> 设备ID

iSmartHome.getLatestVersion(model) ⇒ Promise

Deprecated

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

Kind: instance method of ISmartHome

Param Type Description
model string 设备的 model

iSmartHome.getLatestVersionV2(did)

获取服务器中蓝牙设备可用的固件更新版本信息 内部调用米家代理接口/v2/device/latest_ver

Kind: instance method of ISmartHome
Since: 10004

Param Type Description
did string 设备did

iSmartHome._getFirmwareOriginalUpdateInfo(did)

调用Device.getWifiDevice()的检测固件是否有升级的api, 内部使用,暂时不对外公开

Kind: instance method of ISmartHome
Hide:
Since: 10043

Param Type Description
did * 设备did

iSmartHome._updateDevice(did, pid)

调用Device.getWifiDevice()的直接升级设备的api, 内部使用,暂时不对外公开

Kind: instance method of ISmartHome
Hide:
Since: 10043

Param Type Description
did * 设备did
pid * 设备pid

iSmartHome.getAutoUpgradeConfig(did) ⇒

调用Device.getWifiDevice()的自动升级配置信息

Kind: instance method of ISmartHome
Returns: Promise
Since: 10043

Param Type Description
did * 设备did

iSmartHome._getFirmwareReleaseVersionHistory(did)

调用Device.getWifiDevice()的所有的发布的固件版本的信息 (release版本,不包含白名单) 接口文档 https://wiki.n.miui.com/pages/viewpage.action?pageId=415980350

Kind: instance method of ISmartHome
Hide:
Since: 10043

Param Type Description
did * 设备did

iSmartHome.getFirmwareUpdateInfo(did)

调用Device.getWifiDevice()的检测固件是否有升级的api, 达到与相关行为一致的目的。

Kind: instance method of ISmartHome
Since: 10037

Param Type Description
did * 设备did

iSmartHome.reportLog(model, log) ⇒ void

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

Kind: instance method of ISmartHome

Param Type Description
model string 要打 log 到哪个 model 下
log string 具体的 log 数据

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(...)

iSmartHome.reportRecords(deviceID, records)

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

Kind: instance method of ISmartHome

Param 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"}])

iSmartHome.deviceSetExtraData(params) ⇒ Promise

Deprecated

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

Kind: instance method of ISmartHome
Since: 10002

Param Type Description
params json 参数 {did, extra_data}

iSmartHome.getDevicesConfig(params) ⇒ [ 'Promise' ].<json>

Deprecated

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

  • /v2/device/range_get_extra_data

Kind: instance method of ISmartHome

Param Type Description
params json {did:string,prefix:string,limit:int,offset:int}

iSmartHome.delDevicesConfig(params) ⇒ [ 'Promise' ].<json>

Deprecated

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

Kind: instance method of ISmartHome

Param Type Description
params json {did:string, keys:[key1,key2]}

iSmartHome.getDeviceTimeZone(did)

Deprecated

获取设备时区

Kind: instance method of ISmartHome

Param Type
did string

iSmartHome.getUserStatistics(params) ⇒ [ 'Promise' ].<Object>

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

Kind: instance method of ISmartHome
Returns: [ 'Promise' ].<Object> - { "code": 0, "message": "ok", "result": [ { "value": "[12,34]", // 为一个数组形式json串 "time": 1543593600 // 时间戳 }, { "value": "[10,11]", "time": 1541001600 }] }

Param Type Description
params object
params.did string did
params.data_type string 数据类型 包括: 采样统计 日统计:stat_day_v3 / 周统计:stat_week_v3 / 月统计:stat_month_v3;
params.key string 需要统计的字段,即统计上报对应的key
params.time_start number 开始时间
params.time_end number 结束时间
params.limit number 限制次数,0为默认条数

iSmartHome.getVoiceCtrlDevices(deviceID) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Description
deviceID 语音设备的 did

iSmartHome.getAiServiceProxy(params) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Type Description
params json 请求参数 {path:string,params:map,header:map,payload:map,env:int,req_method:string,req_header:map}
params.path string
params.params string
params.params.did string
params.params.client_id string
params.header string
params.env string
params.req_method string
params.req_header string

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

iSmartHome.getDeviceSetting(params) ⇒ Promise

Deprecated

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

Kind: instance method of ISmartHome

Param Type Description
params object 请求参数
params.did string did
params.settings [ 'Array' ].<string> 指定设置的key数组

iSmartHome.getDeviceSettingV2(params) ⇒ Promise

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

Kind: instance method of ISmartHome
Since: 10010

Param Type Description
params object
params.did string 设备did
params.last_id string 上一次请求返回的id,用于分页
params.prefix_filter string filter
params.settings [ 'Array' ].<string> 指定设置的key数组

iSmartHome.setDeviceSetting(params) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Type Description
params object 请求参数 {did:string,settings:map<key,value>}
params.did string did
params.settings object 指定设置的key数组,保存的内容不能超过1000个字符

iSmartHome.delDeviceSetting(params) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Type Description
params json 请求参数
params.did string did
params.settings object 指定要删除的key数组

iSmartHome.setDeviceData(params) ⇒ Promise

添加设备属性和事件历史记录,/user/set_user_device_data 对于蓝牙设备,params.key 可参考文档 https://iot.mi.com/new/doc/embedded-development/ble/object-definition

Kind: instance method of ISmartHome

Param Type Description
params object 参数
params.did string 设备did,
params.uid string 添加到哪个用户下,一般为 Device.ownerId,
params.type string 属性为prop, 事件为event
params.key string 要保存的数据K, 属性或事件名,(注意:如果设备是蓝牙设备,传入的是object id, 且为十进制数据;如果是wifi设备,才传入自定义属性或事件名,可以在开发者平台-产品-功能定义中查看)
params.value string 要保存的数据V
params.time number 触发时间戳,

iSmartHome.getDeviceData(params) ⇒ Promise

查询用户名下设备上报的属性和事件 获取设备属性和事件历史记录,订阅消息直接写入到服务器,不需要插件添加. 通下面的set_user_device_data的参数一一对应, /user/get_user_device_data 对于蓝牙设备,params.key 可参考文档 米家BLE Object定义

error code:

code desc
0 成功
-8 请求参数缺失或者类型不对
-4 服务器错误
-1 请求uid无权限获取did的相关数据

Kind: instance method of ISmartHome

Param Type Description
params json 参数{did,type,key,time_start,time_end,limit}含义如下:
params.did string 设备id。 必选参数
params.key string 属性或事件名,必选参数。(注意:如果设备是蓝牙设备,传入的是object id, 且为十进制数据;如果是wifi设备,才传入自定义属性或事件名,可以在开发者平台-产品-功能定义中查看),如果是miot-spec设备,请传入(siid.piid或者siid.eiid)
params.type string 必选参数[prop/event], 如果是查询上报的属性则type为prop,查询上报的事件则type为event,
params.time_start number 数据起点,单位是秒。必选参数
params.time_end number 数据终点,单位是秒。必选参数,time_end必须大于time_start,
params.group string 返回数据的方式,默认raw,可选值为hour、day、week、month。可选参数.
params.limit string 返回数据的条数,默认20,最大1000。可选参数.
params.uid number 要查询的用户id 。可选参数

iSmartHome.delDeviceData(params)

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

Kind: instance method of ISmartHome
Since: 10004

Param Type Description
params object {did:'', type: '', key:'',time:number} did:设备ID ;type: 要删除的类型 ;key: 事件名称. motion/alarm ;time:时间戳,单位秒
params.did string 设备id。 必选参数
params.type string type 定义与SDS表中type一致。必选参数。可参考SDS文档中的示例:https://iot.mi.com/new/doc/cloud-service/storage/sds#del_user_device_data
params.key string key 事件名,可自定义,定义与SDS表中key一致。必选参数
params.time string 指定时间戳
params.value string 指定值

iSmartHome.getUserDeviceLog(params)

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

Kind: instance method of ISmartHome
Since: 10004

Param Type Description
params object 参数
params.did string
params.limit number 目前最大为50
params.time_start number 开始时间
params.time_end number 结束时间

iSmartHome.getUserColl(params) ⇒ Promise

获取用户收藏 /user/get_user_coll

Kind: instance method of ISmartHome

Param Type Description
params object 参数
params.did string did

iSmartHome.setUserColl(params) ⇒ Promise

设置用户收藏 /user/get_user_coll

Kind: instance method of ISmartHome

Param Type Description
params object 参数
params.did string did
params.name string name
params.content string content

iSmartHome.editUserColl(params) ⇒ Promise

/user/edit_user_coll 编辑用户收藏

Kind: instance method of ISmartHome
Since: 10002

Param Type Description
params json 参数 {coll_id, newname, content}

iSmartHome.delUserColl(params) ⇒ Promise

删除用户收藏 /user/get_user_coll

Kind: instance method of ISmartHome

Param Type Description
params * 参数
params.did string did
params.coll_id string coll_id

iSmartHome.getMapfileUrl(params) ⇒ Promise

石头扫地机专用 添加设备属性和事件历史记录,/home/getmapfileurl

Kind: instance method of ISmartHome

Param Type
params json

iSmartHome.getRobomapUrl(arams) ⇒ Promise

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

Kind: instance method of ISmartHome

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

iSmartHome.delUsermap(params) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Type Description
params json {did} 设备ID

iSmartHome.getHomeDevice(params) ⇒ Promise

添加设备属性和事件历史记录,/home/device_list (仅白名单设备才允许调用此方法,如需使用,请联系插件框架) 当ssid和bssid均不为空时,表示同时搜索这个局域网内所有未被绑定过的设备

Kind: instance method of ISmartHome

Param Type Description
params json {pid:string ,ssid:string ,bssid:string ,localDidList:array,checkMoreWifi:bool,dids:array}
params.pid string Device.type
params.ssid string wifi 的 ssid
params.bssid string wifi 的bssid
params.dids string 要拉取列表的设备的didi,如果为空表示所有设备
params.localDidList string 本地设备did列表,补充ssid和bssid的本地查询条件,会与ssid查到的本地列表一起返回其中未被绑定的在线设备
params.checkMoreWifi string 检查2.4gwifi下的本地设备列表
params.getHuamiDevices boolean 获取华米设备,如华米手环 其中,pid:设备PID,ssid:wifi名称,bssid:wifi网关mac,locatDidList:本地设备did列表,补充ssid和bssid的本地查询条件,会与ssid查到的本地列表一起返回其中未被绑定的在线设备,checkMoreWifi:检查2.4gwifi下的本地设备列表,did:要拉取列表的设备的did,如果为空表示所有设备

iSmartHome.getAppConfig(params)

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

Kind: instance method of ISmartHome

Param Type Description
params object 请求参数
params.name string configName 配置的名字
params.lang string lang 可选: zh_CN、zh_TW、en,zh-hant,一般请使用zh_CN和en
params.result_level string 正常传"0",若传“1”,则会提供一个downloadurl,而不是直接返回content,以节省流量。取得downloadurl后,通过Host.file.downloadFile下载文件,然后使用
params.version string version 后台配置的version,大概率为"1",如果不对,可以找米家工程师帮忙查询,查询地址:http://plato.io.mi.srv/#/appconfig/client

iSmartHome.getAppConfigV2(params)

Deprecated

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

Kind: instance method of ISmartHome

Param Type Description
params json {'name':'自定义值','lang':'自定义值','version':'自定义值','model':'modelId'} /service/getappconfigv2

iSmartHome.getCountry(params) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Type Description
params json {"did": "xx"}

iSmartHome.getBleLockBindInfo(params) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Type Description
params json 参数
params.did string did

iSmartHome.batchGetDeviceDatas(params) ⇒ Promise

获取设备的属性,属性设置会在设备被删除时清空 api call /device/batchdevicedatas 对于蓝牙设备,params.props 可参考文档 米家BLE Object定义

error code:

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

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
params [ 'Array' ].<object> 参数
params[].did string did
params[].props [ 'Array' ].<string> props 列表,属性需要以"prop.s_"开头 e.g ["prop.s_aaa","prop.s_bbb"],如果设备是蓝牙设备,传入的是object id, 且为十进制数据,如prop.4100

Example

let params = {'did':Device.deviceID, 'props': [
 "prop.s_push_switch"
]}
Service.smarthome.batchGetDeviceDatas([params]).then(...)

iSmartHome.batchSetDeviceDatas(params)

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

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

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
params [ 'Array' ].<object> {did: string, props: json}
params[].did string did
params[].props object props 键值对, 属性需要以"prop.s_"开头

Example

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

iSmartHome.setDeviceProp(params)

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

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

Kind: instance method of ISmartHome
Since: 10004

Param Type Description
params object 参数
params.did string did
params.props object props 键值对, 属性需要以"prop.s_"开头

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(...)

iSmartHome.getThirdConfig(params) ⇒ Promise

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

Kind: instance method of ISmartHome

Param Type Description
params json 参数 {"name":"config_version","version":1,"lang":"en","app_id":"XXX"}
params.name string configName
params.model string device model
params.app_id string app_id
params.lang string lang e.g: zh_CN
params.result_level string 值为1,则不返回content来节省流量, 默认为0
params.version string version

iSmartHome.thirdSyncCall(params) ⇒ [ 'Promise' ].<json>

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

Kind: instance method of ISmartHome
Returns: [ 'Promise' ].<json> - {"code": 0, "policy": <POLICY_NUMBER">, ...}
Since: 10003

Param Type Description
params json {"uid": , "did":, "api_name": , ...}

iSmartHome.callThirdPartyAPI(params) ⇒ Promise

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

Kind: instance method of ISmartHome

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

iSmartHome.getMiWatchConfig() ⇒ Promise

华米watch配置使用 Android not support yet

Kind: instance method of ISmartHome


iSmartHome.getUserDeviceAuth(string}) ⇒ Promise

获取authCode来做鉴权

Kind: instance method of ISmartHome

Param Description
string} did 设备的 did

iSmartHome.getInterimFileUrl(params) ⇒ Promise

获取InterimFileUrl 获取临时文件。

Kind: instance method of ISmartHome

Param Type Description
params json 参数 {obj_name : '{ownerId}/{deviceId}/{index}'}

iSmartHome.getFileUrl(params) ⇒ Promise

Deprecated

获取文件下载地址

Kind: instance method of ISmartHome

Param Type Description
params json 参数 {obj_name : '2018/06/08/123456/xiaomi123_181030106.mp3'}

iSmartHome.getUserDeviceDataTab(params) ⇒ Promise

日志分页拉取

Kind: instance method of ISmartHome
Since: 10001

Param Type Description
params object 参数
params.did string
params.key string
params.type string
params.timestamp number
params.limit number

iSmartHome.rangeGetOpenConfig(params) ⇒ Promise

/v2/home/range_get_open_config 通过appid、category、configid获取对应的配置,请参考文档文档:https://iot.mi.com/new/doc/cloud-service/storage/kv-openconfig

Kind: instance method of ISmartHome
Since: 10002

Param Type Description
params json 参数 {did,category,configids,offset,limit}

iSmartHome.bindNFCCard(params)

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

Kind: instance method of ISmartHome
Since: 10003

Param Type Description
params json {did:'', uid:'', cid:''}

iSmartHome.getNFCCard(params) ⇒ json

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

Kind: instance method of ISmartHome
Returns: json - 卡片结果数组
Since: 10003

Param Type Description
params json {did:''}

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"
                }
            },
            {
            ...
            }]
        }
    }

iSmartHome.insertunmodel(params)

/yaokan/insertunmodel

Kind: instance method of ISmartHome
Since: 10004

Param Type Description
params json {device:int, id: int, brand: string, model: string}

iSmartHome.getIDFY(params)

call api /scene/idfy_get

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
params object json params
params.indetify string 唯一标识符,场景的id,一般填did

Example

let params = {identify:Device.deviceID}
Service.smarthome.getIDFY(params)

iSmartHome.editIDFY(params)

call api /scene/idfy_get

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
params object json params

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)

iSmartHome.getRangeOpenConfig(params)

Deprecated

call api /v2/home/range_get_open_config

Kind: instance method of ISmartHome
Since: 10005

Param 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

iSmartHome.createMember(type, info)

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

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
type MemberType 成员类型 pet or person
info MemberPerson MemberPerson 或者 MemberPet

iSmartHome.updateMember(type, member_id, info)

更新成员信息

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
type MemberType
member_id string
info MemberPerson MemberPerson 或者 MemberPet 只填写需要更新的项目

iSmartHome.deleteMember(type, member_id)

删除成员

Kind: instance method of ISmartHome
Since: 10005

Param Type Description
type MemberType
member_id Array 成员id列表

iSmartHome.loadMembers(type)

加载指定种类的成员列表

Kind: instance method of ISmartHome
Since: 10005

Param Type
type MemberType

iSmartHome.setUserPDData(params)

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

Kind: instance method of ISmartHome
Since: 10010

Param Type Description
params object params
params.time long setpddata的时间戳
params.key string key 字串
params.value string value值

iSmartHome.getUserPDData(params)

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

Kind: instance method of ISmartHome
Since: 10010

Param Type Description
params object params
params.time_end object 筛选结果的时间戳
params.time_start object 筛选结果的时间戳
params.key object 获取的key

iSmartHome.getDeviceDataRaw(params)

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

Kind: instance method of ISmartHome
Since: 10011

Param Type Description
params object 参数
params.did string 设备did
params.uid string 用户UID
params.type string 查询事件;当查询属性时使用 'prop', 否则使用 'store'操作
params.key string 事件名称;当查询属性时value填具体属性,比如"aqi"
params.time_start string 开始UTC时间
params.time_end string 结束UTC时间
params.limit string 最多返回结果数目,上限500。注意按需填写,返回数据越多查询越慢

iSmartHome.createSeSession(params)

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

Kind: instance method of ISmartHome
Since: 10011

Param Type Description
params object params
params.did string did
params.reqData object // 透传给Mipay的数据
params.reqData.userId string // 透传给Mipay的数据
params.reqData.cplc string // 透传给Mipay的数据
params.reqData.deviceType string // 透传给Mipay的数据
params.reqData.deviceId string // 透传给Mipay的数据
params.reqData.timestamp string // 透传给Mipay的数据
params.reqData.sign string // 透传给Mipay的数据

iSmartHome.replaceSEISDkey(params)

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

Kind: instance method of ISmartHome
Since: 10011

Param Type Description
params object params
params.did string did
params.reqData object // 透传给Mipay的数据
params.reqData.sessionId string // 透传给Mipay的数据
params.reqData.partnerId string // 透传给Mipay的数据
params.reqData.userId string // 透传给Mipay的数据
params.reqData.cplc string // 透传给Mipay的数据
params.reqData.timestamp string // 透传给Mipay的数据
params.reqData.sign string // 透传给Mipay的数据

iSmartHome.resetLockPrimaryKey(params)

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

Kind: instance method of ISmartHome
Since: 10011

Param Type Description
params object params
params.did string did
params.reqData object // 透传给Mipay的数据
params.reqData.sessionId string // 透传给Mipay的数据
params.reqData.partnerId string // 透传给Mipay的数据
params.reqData.userId string // 透传给Mipay的数据
params.reqData.cplc string // 透传给Mipay的数据
params.reqData.timestamp string // 透传给Mipay的数据
params.reqData.sign string // 透传给Mipay的数据

iSmartHome.handleSEResponse(params)

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

Kind: instance method of ISmartHome
Since: 10011

Param Type Description
params object params
params.did string did
params.reqData object // 透传给Mipay的数据
params.reqData.sessionId string // 透传给Mipay的数据
params.reqData.userId string // 透传给Mipay的数据
params.reqData.cplc string // 透传给Mipay的数据
params.reqData.seResps [ 'Array' ].<object> // 这是一个数组透传给Mipay的数据
params.reqData.seResps[].data string // 这是一个透传给Mipay的数据
params.reqData.seResps[].statusWord string // 这是一个透传给Mipay的数据
params.reqData.timestamp string // 透传给Mipay的数据
params.reqData.sign string // 透传给Mipay的数据

Example

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

iSmartHome.reportBLEDeviceInfo(params)

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

Kind: instance method of ISmartHome
Since: 10020

Param 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地址

iSmartHome.reportEvent(eventName, params)

since 10036

Kind: instance method of ISmartHome

Param Type Description
eventName string 事件名
params map kv键值对,key必须是string类型,value是基础类型(int,strig,float,boolean)

Example

let eventName = 'testEvent';
let params = {'key1':'value1','key2':'value2','tip':'tips'};
Service.smarthome.reportEvent(eventName,params);

iSmartHome.addStat(key, value, extra)

since 10053 打点上报接口,同原生插件的addRecord接口;如非必要,请使用reportEvent接口

Kind: instance method of ISmartHome

Param Type Description
key string 事件名
value string 上报的值
extra json 需要上报的额外内容

Example

let key = 'testEvent';
let value ="123";
let extra = {'key1':'value1','key2':'value2'};
Service.smarthome.addStat(key,value,extra);

iSmartHome.getMultiSwitchName(did)

获取多键开关名称 调用接口 /device/deviceinfo

Kind: instance method of ISmartHome
Since: 10039

Param Type Description
did string 设备id

iSmartHome.createGroupDevice(name, member_dids, member_tags) ⇒ [ 'Promise' ].<object>

创建组设备,(窗帘组设备)

Kind: instance method of ISmartHome
Returns: [ 'Promise' ].<object> - 成功时:返回 { "group_did":"group.123456xxx", "need_alter_device":false //与mesh组相关,窗帘组可以忽略 } 失败时:返回 { "code":xxx,"message":"xxx" }
Since: 10046

Param Type Default Description
name string 设备的名称,可选
member_dids array 子设备的们id
member_tags json since 10049,可选,tags内容客户端自定义,服务器只做存储不理解tags含义,一般用于记录子设备之间的关系 已知使用场景:保存窗帘组下的子设备的左右信息,例: tags={ "did1":"left", "did2":"right" }

iSmartHome.getVirtualGroupSubDevices(group_did) ⇒ [ 'Promise' ].<array>

获取组成组设备的子设备们的did(窗帘组)

Kind: instance method of ISmartHome
Returns: [ 'Promise' ].<array> - 成功时:返回 [ { "did":"group.123456xxx", "status":"1", "membership":{ //key为子设备did "1041565620":"1", "1041565621":"1" } } ] 失败时:返回 { "code":xxx, "message":"xxx" }
Since: 10046

Param Type
group_did string

iSmartHome.getVirtualGroupSubDevicesTags(group_did) ⇒ [ 'Promise' ].<array>

获取组设备下与子设备相关的tags 返回的是createGroupDevice 方法的第三个参数member_tags

Kind: instance method of ISmartHome
Since: 10049 成功时(以窗帘组的左右窗帘信息为例): 返回 [ { "did":"group.123456xxx", "member_tags":{ //key为子设备did "did1":"left", "did2":"right" } } ]

失败时:返回 { "code":xxx, "message":"xxx"}

Param Type
group_did string

iSmartHome.setTempUnit() ⇒ [ 'Promise' ].<array>

切换用户米家温度单位信息

Kind: instance method of ISmartHome
Returns: [ 'Promise' ].<array> - 成功返回参数: {"code":0, "message":"ok", "result":""} 失败返回参数: { "code":xxx, "message":"xxx"}
Since: 10055 请求参数: { "configInfos":[ { "key":"xxx", //string 非空,属性key:1、米家温度单位:miot_temperature_style "value":"c" //string,非空,属性value:1,当 key=miot_temperature_style 时,value取值:摄氏度:c,华氏度:f } ] }


iSmartHome.getTempUnit() ⇒ [ 'Promise' ].<array>

获取用户米家温度单位信息

Kind: instance method of ISmartHome
Returns: [ 'Promise' ].<array> - 成功返回参数: "configInfos":[ { "key":"xxx", //属性key "value":"f" //属性value: 1、当key=miot_temperature_style时,value值:摄氏度:c,华氏度:f,未设置:空字符串 } ] 失败时:返回 { "code":xxx, "message":"xxx"}
Since: 10055 请求参数: { "keys":["xxx"], //要查询的属性key数组,1、温度单位切换:miot_temperature_style }


miot/service/smarthome~MemberType : object

成员类型

Kind: inner namespace of miot/service/smarthome


MemberType.Person

Kind: static constant of MemberType


MemberType.Pet

宠物

Kind: static constant of MemberType


miot/service/smarthome~UserInfo : Object

Kind: inner typedef of miot/service/smarthome
Properties

Name Type Description
uid number user id; since 10010
nickName string user nick name
avatarURL string user avatarURL

miot/service/smarthome~GPSInfo

Kind: inner typedef of miot/service/smarthome
Properties

Name Description
lng 经度
lat 维度
adminArea
countryCode 国家代号(CN等)
locality 城市
thoroughfare 街道
language 语言代号(zh_CN等)
subLocality

miot/service/smarthome~WeatherInfo

Kind: inner typedef of miot/service/smarthome
Properties

Name Description
city 城市名称
city_id 城市ID
pub_time 发布时间
aqi 空气指数
pm25 PM2.5
pm10 PM1.0
so2 二氧化硫
no2 二氧化氮
src 数据来源,eg:中国环境监测总站

miot/service/smarthome~DeviceVersion

设备固件版本信息

Kind: inner typedef of miot/service/smarthome
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

miot/service/smarthome~OTAState

设备固件otaState

Kind: inner typedef of miot/service/smarthome
Since: 10011

Param Type Description
state string ota 状态
startTime number 开始时间
progress number 进度
failedReason string 失败原因
failedCode number 失败code

miot/service/smarthome~MemberPet

Kind: inner typedef of miot/service/smarthome
Properties

Name Type Description
id string 成员id(必填且不可为空) 标识用户下成员id,若设置小米id则为对应小米id
name string 名称 成员昵称(必填且不可为空) 不得加入emoji及米家命名标准以外的特殊字符,长度定义为20中文或40个英文
sex string 性别 公:male 母:female 未选择:unknown
birth string 生日 格式:xxxx-xx
weight double 重量
species string 物种
variety string 品种
food_cate string 食品
active_rate int 活跃度
castrated int 阉割 定义:-1:否 0:未设定 1:是
special_mark int 特殊标志

miot/service/smarthome~MemberPerson

Kind: inner typedef of miot/service/smarthome
Properties

Name Type Description
id string 成员id(必填且不可为空) 标识用户下成员id,若设置小米id则为对应小米id
name string 姓名 成员昵称(必填且不可为空) 不得加入emoji及米家命名标准以外的特殊字符,长度定义为20中文或40个英文
sex string 性别 成员性别(必填且不可为空) 男性:male 女性:female 未选择:unknown
birth string 生日 格式:xxxx-xx-xx
height double 身高
weight double 体重
relation string 关系 与主账号关系
icon string 预留项,暂不支持设置
xiaomi_id int 小米uid
region string 国家区域
special_mark int 特殊标志

Clone this wiki locally