收藏官网首页
查看: 13200|回复: 0

[分享] gizWifiSDK

562

主题

1222

帖子

8115

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8115
发表于 2016-8-30 17:09:02 | 显示全部楼层 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
原文地址:http://docs.apicloud.com/Client-API/Open-SDK/gizWifiSDK#a27
gizWifiSDK类startWithAppIDregisterNotificationsgetVersionsetLogLeveldisableLANsetCloudServicegetListInfo
设备配置入网
getPhoneSSIDsetDeviceOnboardinggetSSIDList
设备搜索和绑定
getBoundDevicesbindRemoteDeviceunbindDevice
用户登录注册相关
userLoginAnonymoususerLoginuserLoginWithThirdAccountTyperequestSendVerifyCodegetCaptchaCoderequestSendPhoneSMSCodeverifyPhoneSMSCoderegisterUsertransAnonymousUserresetPasswordchangeUserPasswordchangeUserInfogetUserInfo
中控设备分组相关
getGroupsaddGroupremoveGroupeditGroup
gizWifiDevice类
设备控制相关
registerNotificationssetSubscribegetDeviceStatuswrite
设备基本信息相关
getHardwareInfoexitProductionTestingsetCustomInfogetDeviceInfo
gizWifiCentralControlDevice类
registerNotificationsgetSubDevicesaddSubDevicedeleteSubDevice
gizWifiSubDevice类
registerNotificationsgetDeviceStatuswritegetDeviceInfo
gizWifiGroup类
getDevicesaddDeviceremoveDevicegetGroupInfo
概述
机智云gizWifiSDK主要帮助开发者通过sdk接口调用的方式维护用户系统,用户与设备的绑定关系,设备的配置上线以及设备状态的获取和控制指令的发送。
APICloud机智云模块更新说明
我们对废弃接口做了兼容,已经使用了废弃接口的App不需要修改接口调用,但注意以下三点需要修改:
一、新版gizWifiSDK模块上报设备数据点时,布尔类型的数据点值是严格按照json格式定义返回true或false,而旧版gizWifiSDK模块返回的是1或0。App在接收布尔类型数据点时,请修改变量接收方式,使用布尔类型接收。
二、新版gizWifiSDK模块除以下废弃接口外的所有接口,返回值均使用了新错误码值。App可以通过新旧错误码转换函数errorCodeConversion,将新错误码值转换为旧错误码值。errorCodeConversion函数说明在Constant页面的新旧错误码对照表后。
三、接口执行成功时返回的错误码0对应的描述,msg字段,均统一使用了新错误码值对应的字符串"GIZ_SDK_SUCCESS"。
此外,SDK对下发的设备操作指令,将严格按照Json格式限制数据类型。例如,如果设备的数据点定义的是布尔类型,指令下发时只能发true/false,如果发的是1/0或者"1"/"0",都会拒绝下发。
废弃接口与新接口功能对比
废弃接口不强制要求更换,已经开发的app还可以继续使用,但新开发的app建议直接使用新接口。不关心废弃接口的开发者,请跳过本节直接看接口说明。
枚举值变更:
GizWifiConfigureMode
变更说明:枚举值的起始序号统一从0开始。见Constant页相应表格变更方式:原来的softap模式为1,变更为0;原来的airlink模式为2,变更为1
废弃接口:
gizWifiSDK类
  • setDeviceWifi
      废弃说明:更换接口名称  替代接口:setDeviceOnboarding,参数mode枚举值有变更(0 = GizWifiSoftAP、1 = GizWifiAirLink)
  • updateDeviceFromServer
      废弃说明:机智云SDK模块会自动下载并更新设备的配置文件,App可以不再依赖这个接口了  替代接口:无。
  • bindDevice
      废弃说明:出于设备安全考虑,推荐使用更安全的设备绑定接口。机智云SDK模块会对已登录的局域网设备做自动绑定,因此对于局域网设备,App不需要调用绑定接口了  替代接口:bindRemoteDevice,需要产品productKey和对应的productSecret,以及设备mac才能绑定
  • registerUserByPhoneAndCode
  • registerUserByEmail
      废弃说明:接口合并  替代接口:registerUser
  • transAnonymousUserToNormalUser
  • transAnonymousUserToPhoneUser
      废弃说明:接口合并  替代接口:transAnonymousUser
  • changeUserPasswordByCode
  • changeUserPasswordByEmail
      废弃说明:接口合并  替代接口:resetPassword
  • changeUserEmail
  • changeUserPhone
  • changeUserAdditionalInfo
      废弃说明:接口合并。这三个接口已删除  替代接口:resetPassword
gizWifiDevice类、GizWifiCentralControlDevice类
  • login
  • disconnect
      废弃说明:变更设备登录机制。机智云SDK模块已支持设备自动登录和掉线后自动恢复,成功时会上报设备的当前状态  替代接口:setSubscribe
  • getIsBind
      废弃说明:优化接口使用方式。机智云SDK模块能够判断出设备的绑定状态,App不需要传递其他参数  替代接口:getDeviceInfo方法的isBind字段
弃用的字段:
  • passcode
      弃用说明:出于安全考虑不再返回真实有效的设备密码字符串  相关接口:  GizWifiSDK类getBoundDevices接口返回值的devices信息  GizWifiDevice类的getDeviceInfo接口返回值的devices信息  GizWifiCentralControlDevice类的getDeviceInfo接口返回值的devices信息
  • isOnline
  • isConnected
      弃用说明:字段含义合并,由netStatus替代。          netStatus为2 等同于 isConnect为true          netStatus为0或1 等同于 isConnect为false          netStatus为0 等同于 isOnline为false          netStatus为1或2 等同于 isOnline为true  相关接口:  GizWifiSDK类getBoundDevices接口返回值的devices信息  GizWifiDevice类的registerNotifications接口返回值  GizWifiCentralControlDevice类的registerNotifications接口返回值  GizWifiCentralControlDevice类的getSubDevices接口返回值  GizWifiCentralControlDevice类的addSubDevice接口返回值  GizWifiCentralControlDevice类的deleteSubDevice接口返回值  GizWifiSubDevice类的registerNotifications接口返回值  GizWifiSubDevice类的getDeviceInfo接口返回值
  • cmd
  • entity0
      弃用说明:优化指令下发的参数格式。指令下发时,直接传数据点名称和值即可,数据上报时,也直接上报数据点名称和值  相关接口:  GizWifiDevice类的write接口下发参数  GizWifiCentralControlDevice类的write接口下发参数  GizWifiSubDevice类的write接口下发参数
  • status
      弃用说明:优化数据上报格式,直接上报数据点名称和值  相关接口:  GizWifiDevice类的registerNotifications接口返回值  GizWifiCentralControlDevice类的registerNotifications接口返回值  GizWifiSubDevice类的registerNotifications接口返回值  GizWifiDevice类的write接口返回值  GizWifiCentralControlDevice类的write接口返回值  GizWifiSubDevice类的write接口返回值
枚举值变更:
  • GizWifiConfigureMode
    变更说明:枚举值的起始序号统一从0开始。见Constant页相应表格 变更方式:原来的softap模式为1,变更为0;原来的airlink模式为2,变更为1
接口说明 gizWifiSDK类接口
机智云 Wi-Fi SDK 的基础类。该类提供了SDK初始化、基本设置、用户管理、设备管理的基本接口。
startWithAppID
启动 SDK。 注意,该接口执行成功后才能正常执行其他接口功能。SDK启动在Android平台上可能会耗费1~2秒的时间,建议App开发者在收到启动ret返回8316(SDK启动成功)时或者启动后延时2秒左右再调用其他接口。
startWithAppID({params}, callback(ret, err))
params
appID:
  • 类型: 字符串
  • 默认值:无
  • 描述:开发者在机智云网站申请的应用标识。
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 8316,    // SDK启动成功,数字类型      msg:                // 成功消息的描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.startWithAppID({"appID": "your_app_id"}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
registerNotifications
注册 SDK 事件通知。通知的事件包括SDK启动失败或成功、设备列表变化上报等
registerNotifications({params}, callback(ret, err))
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      GizEventSDK:         // SDK事件      {errorCode: xxx, msg: "xxx"},   // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)      GizEventDevice:     // 设备异常事件      {errorCode: xxx, msg: "xxx"},   // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)      GizEventM2MService: // M2M异常事件      {errorCode: xxx, msg: "xxx"},   // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)      GizEventToken":     // Token失效      {errorCode: xxx, msg: "xxx"},   // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)      devices: [{            // 设备数组(以下字段是设备对象信息),数组类型          mac:            // 设备MAC地址,字符串类型          did:              // 设备唯一标识,字符串类型          ip:                // 设备IP地址,字符串类型          productKey:        // 设备的产品识别码,字符串类型          productName:    // 设备的产品名称,字符串类型          remark:            // 设备备注信息,字符串类型          alias:            // 设备别名,字符串类型          type:            // 设备类型(见枚举定义GizWifiDeviceType),数字类型          netStatus:        // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型          isLAN:            // 设备是否是局域网设备,布尔类型          isBind:            // 设备是否已绑定,布尔类型          isDisabled:        // 设备是否已在云端注销,布尔类型          isProductDefined:  // 设备是否定义了数据点,布尔类型          isSubscribed:    // 设备是否已订阅,布尔类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.registerNotifications(function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getVersion
获取SDK版本号
getVersion(callback(ret, err))
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      version:    // SDK版本号,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getVersion(function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setLogLevel
设置 SDK 日志。 setLogLevel({params})
params
logLevel:
  • 类型: 数字类型,见枚举定义GizLogPrintLevel
  • 默认值:3,为详细日志输出
  • 描述:SDK日志输出级别
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.setLogLevel({"logLevel": 3});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
disableLAN
禁用小循环
disableLAN({params}, callback(ret, err))
params
disabled:
  • 类型: 布尔类型
  • 默认值:false,开启
  • 描述:可禁用局域网下设备发现、设备控制等小循环下的功能
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 0,    // 执行成功,数字类型      msg:            //成功消息的描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.disableLAN({ "disabled": true }, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setCloudService
切换服务域名
setCloudService({params}, callback(ret, err))
params
openAPIDomain:
  • 类型:字符串类型
  • 默认值:无
  • 描述:openAPI服务域名
openAPIPort:
  • 类型:数字类型
  • 默认值:无
  • 描述:openAPI服务端口
siteDomain:
  • 类型:字符串类型
  • 默认值:无
  • 描述:site服务域名
sitePort:
  • 类型:数字类型
  • 默认值:无
  • 描述:site服务端口
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      openAPIDomain:    // api域名,字符串类型      openAPIPort":    // api端口,数字类型      siteDomain:        // site域名,字符串类型      sitePort:             // site端口,数字类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.setCloudService({    "openAPIDomain": "your_api_domain",    "openAPIPort": your_api_port,    "siteDomain": "your_site_domain",    "sitePort": your_site_port}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getListInfo
获取缓存的设备列表。App可以使用缓存的设备列表刷新页面,这个缓存的设备列表与当前SDK能得到的设备列表是同步更新的
getListInfo(callback(ret, err))
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段  {      devices: [{            // 设备数组(以下字段是设备对象信息),数组类型          mac:            // 设备MAC地址,字符串类型          did:              // 设备唯一标识,字符串类型          ip:                // 设备IP地址,字符串类型          productKey:        // 设备的产品识别码,字符串类型          productName:    // 设备的产品名称,字符串类型          remark:            // 设备备注信息,字符串类型          alias:            // 设备别名,字符串类型          type:            // 设备类型(见枚举定义GizWifiDeviceType),数字类型          netStatus:        // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型          isLAN:            // 设备是否是局域网设备,布尔类型          isBind:            // 设备是否已绑定,布尔类型          isDisabled:        // 设备是否已在云端注销,布尔类型          isProductDefined:  // 设备是否定义了数据点,布尔类型          isSubscribed:    // 设备是否已订阅,布尔类型      }]  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getListInfo(function(ret, err) {    alert("ret = " + JSON.stringify(ret))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getPhoneSSID
获取手机当前Wifi的SSID
getPhoneSSID(callback(ret, err))
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      SSID:    // 手机当前wifi的SSID,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getPhoneSSID(function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setDeviceOnboarding
配置设备路由。设备要能连接到WiFi网络,需要先把设备配置到WiFi路由器上。配置时,需要给设备发送要配置的路由SSID和密码。
提醒:进行 SoftAP 配置时,手机当前必须连上 SoftAP 热点。
setDeviceOnboarding({params}, callback(ret, err))
params
ssid:
  • 类型: 字符串
  • 默认值:无
  • 描述:要配置的Wifi SSID
key:
  • 类型: 字符串
  • 默认值:无
  • 描述:要配置的 Wifi 密码
mode:
  • 类型: 数字类型
  • 默认值:无
  • 描述:设备配置方式(见 GizWifiConfigureMode 枚举定义)
softAPSSIDPrefix:
  • 类型: 字符串
  • 默认值:无
  • 描述:SoftAPMode 模式下SoftAP 的 SSID 全名。机智云的gokit,默认前缀为"XPG-GAgent"
timeout:
  • 类型: 数字类型
  • 默认值:30
  • 描述:超时时间。超时时间建议设置为60秒
gagentTypes:
  • 类型: 数字类型
  • 默认值:0
  • 描述:模组类型(见 GAgentType 枚举定义)
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{        // 配置成功的设备,以下字段是设备信息:          "mac":        // 设备mac             "did":        // 设备did             "productKey":// 设备类型标识码         }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.setDeviceOnboarding({    "ssid": "your_ssid",    "key": "your_key",    "mode": 0,    "softAPSSIDPrefix": "your_prefix",    "timeout": 60}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getSSIDList
获取设备热点列表。设备 wifi 模组处于 SoftAP 热点模式时,可以获取设备搜索到的 WiFi 热点列表。此接口需要手机当前 Wifi 连上设备模组的 SoftAP 热点后才能工作。
getSSIDList(callback(ret, err))
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      wifiSSIDs:[{       // WiFi热点列表,以下字段是热点信息:             "ssid":        // WiFi的ssid             "rssi":        // WiFi的信号强弱         }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getSSIDList(function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getBoundDevices
获取绑定设备列表。在不同的网络环境下,有不同的处理: 当手机能访问外网时,该接口会向云端发起获取绑定设备列表请求; 当手机不能访问外网时,局域网设备是实时发现的,但会保留之前已经获取过的绑定设备; 手机处于无网模式时,局域网未绑定设备会消失,但会保留之前已经获取过的绑定设备;
getBoundDevices({params}, callback(ret, err))
params
uid:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的uid。uid 和 token 都不传时,将只会得到小循环设备
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的token。uid 和 token 都不传时,将只会得到小循环设备
specialProductKeys:
  • 类型: 字符串数组
  • 默认值:无
  • 描述:指定过滤的产品类型识别码,可同时指定多个要过滤的 Product Key
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      devices: [{            // 设备数组(以下字段是设备对象信息),数组类型          mac:            // 设备MAC地址,字符串类型          did:              // 设备唯一标识,字符串类型          ip:                // 设备IP地址,字符串类型          productKey:        // 设备的产品识别码,字符串类型          productName:    // 设备的产品名称,字符串类型          remark:            // 设备备注信息,字符串类型          alias:            // 设备别名,字符串类型          type:            // 设备类型(见枚举定义GizWifiDeviceType),数字类型          netStatus:        // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型          isLAN:            // 设备是否是局域网设备,布尔类型          isBind:            // 设备是否已绑定,布尔类型          isDisabled:        // 设备是否已在云端注销,布尔类型          isProductDefined:  // 设备是否定义了数据点,布尔类型          isSubscribed:    // 设备是否已订阅,布尔类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getBoundDevices({    "uid": 'your_uid',    "token": 'your_token',    "specialProductKeys": ['your_product_key']}, function(ret1, err1) {    alert("ret1 = " + JSON.stringify(ret1) + "err1 = " + JSON.stringify(err1))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
bindRemoteDevice
绑定远端设备到云端
bindRemoteDevice({params}, callback(ret, err))
params
uid:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的uid。
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的token。
mac:
  • 类型: 字符串
  • 默认值:无
  • 描述:待绑定设备的mac
productKey:
  • 类型: 字符串
  • 默认值:无
  • 描述:待绑定设备的productKey。
productSecret:
  • 类型: 字符串
  • 默认值:无
  • 描述:待绑定设备的productSecret
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      did:  // 设备唯一标识,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.bindRemoteDevice({    "uid": 'your_uid',    "token": 'your_token',    "mac": 'your_device_mac',    "productKey": 'your_product_key',    "productSecret": 'your_product_secret'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
unbindDevice
把设备从云端解绑。用户登录后,可以将已绑定的设备与云端自己的账户解绑。
unbindDevice({params}, callback(ret, err))
params
uid:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的uid。
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的token。
did:
  • 类型: 字符串
  • 默认值:无
  • 描述:设备唯一标识。
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      did:  // 设备唯一标识,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.unbindDevice({    "uid": 'your_uid',    "token": 'your_token',    "did": 'your_device_id'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userLoginAnonymous
匿名登录。匿名方式登录,不需要注册用户账号
userLoginAnonymous(callback(ret, err))
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      uid:      // 用户uid,字符串类型      token:    // 登录会话token,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.userLoginAnonymous(function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userLogin
用户登录。需使用注册成功的用户名、密码进行登录,可以是手机用户名、邮箱用户名或普通用户名
userLogin({params}, callback(ret, err))
params
userName:
  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的用户名。
password:
  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的密码。
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      uid:      // 用户uid,字符串类型      token:    // 登录会话token,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.userLogin({    "userName": 'your_user_name',    "password": 'your_password'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))})可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userLoginWithThirdAccountType
第三方账号登录。第三方账号支持百度、新浪、QQ,需要通过第三方的 shareSDK 工具或各自对应的SDK,获取到 uid 和 token 之后才可以使用此接口。
userLoginWithThirdAccountType({params}, callback(ret, err))
params
uid: 登录第三方账号之后得到的uid
  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的用户id
token: 登录第三方账号之后得到的token
  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的密码
thirdAccountType:
  • 类型: 数字类型
  • 默认值:无
  • 描述:第三方账号类型(见 GizThirdAccountType 枚举定义)
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      uid:      // 登录机智云后得到的 uid,字符串类型      token:    // 登录机智云后得到的 token,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.userLoginWithThirdAccountType({    "thirdAccountType": 0,    "uid": 'your_third_uid',    "token": 'your_third_token'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
requestSendVerifyCode
通过App secret和手机号请求短信验证码。
requestSendVerifyCode({params}, callback(ret, err))
params
appSecret:
  • 类型: 字符串
  • 默认值:无
  • 描述:应用的 secret 信息,从 site.gizwits.com 中可以看到
phone:
  • 类型: 字符串
  • 默认值:无
  • 描述:手机号
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 0,     // 验证码获取成功,数字类型      msg:             // 消息描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.requestSendVerifyCode({    "appSecret": 'your_app_secret',    "phone": 'your_phone_number'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCaptchaCode
通过 App Secret 获取图片验证码。
getCaptchaCode({params}, callback(ret, err))
params
appSecret:
  • 类型: 字符串
  • 默认值:无
  • 描述:应用的 secret 信息,是与 AppID 对应的应用签名字符串,从 site.gizwits.com 中可以看到
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      token:             // 图片验证码 token,图片验证码token在1小时后过期。字符串类型      captchaId:       // 图片验证码 id,图片验证码5分钟后过期。字符串类型      captchaURL:       // 图片验证码 url,图片验证码 url 在使用后过期。字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getCaptchaCode({    "appSecret": 'your_app_secret'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
requestSendPhoneSMSCode
通过图形验证码获取手机短信验证码
requestSendPhoneSMSCode({params}, callback(ret, err))
params
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:验证码 token,通过 getCaptchaCode 获取
captchaId:
  • 类型: 字符串
  • 默认值:无
  • 描述:验证码 id,通过 getCaptchaCode 获取
captchaCode:
  • 类型: 字符串
  • 默认值:无
  • 描述:验证码,来自图片的验证内容
phone:
  • 类型: 字符串
  • 默认值:无
  • 描述:手机号
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 0,     // 验证码获取成功,数字类型      msg:             // 消息描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.requestSendPhoneSMSCode({    "token": 'your_captcha_code_token',    "captchaId": 'your_captcha_code_id',    "captchaCode": 'your_captcha_code',    "phone": 'your_phone_number'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
verifyPhoneSMSCode
验证手机短信验证码。注意,验证短信验证码后,验证码就失效了,无法再用于手机号注册
verifyPhoneSMSCode({params}, callback(ret, err))
params
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:验证码 token,通过 getCaptchaCode 获取
phoneCode:
  • 类型: 字符串
  • 默认值:无
  • 描述:手机短信中的验证码内容
phone:
  • 类型: 字符串
  • 默认值:无
  • 描述:手机号
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 0,   // 验证码获取成功,数字类型      msg:            // 消息描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.verifyPhoneSMSCode({    "token": 'your_captcha_code_token',    "phoneCode": 'your_phone_sms_code',    "phone": 'your_phone_number'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
registerUser
用户注册。需指定用户类型注册。手机用户的用户名是手机号,邮箱用户的用户名是邮箱、普通用户的用户名可以是普通用户名
registerUser({params}, callback(ret, err))
params
userName:
  • 类型: 字符串类型
  • 默认值:无
  • 描述:用户名。
password:
  • 类型: 字符串类型
  • 默认值:无
  • 描述:密码。
verifyCode:
  • 类型: 字符串类型
  • 默认值:无
  • 描述:手机短信验证码。短信验证码注册后就失效了,不能被再次使用
accountType:
  • 类型: 字符串类型
  • 默认值:无
  • 描述:用户类型,详细见 GizUserAccountType 枚举定义。注册手机号时,此参数指定为手机用户,注册邮箱时,此参数指定为邮箱用户,注册普通用户名时,此参数指定为普通用户
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      uid:      // 注册成功后返回的uid,字符串类型      token:    // 注册成功后返回的token,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.registerUser({    "userName": 'your_phone_number',    "password": 'your_password',    "verifyCode": 'your_verify_code',    "accountType": 1}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
transAnonymousUser
匿名用户转换,可转换为手机用户或者普通用户。注意,待转换的帐号必须是还未注册过的
transAnonymousUser({params}, callback(ret, err))
params
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
userName:
  • 类型: 字符串
  • 默认值:无
  • 描述:待转换的普通账号或手机号
password:
  • 类型: 字符串
  • 默认值:无
  • 描述:转换后的帐号密码
verifyCode:
  • 类型: 字符串
  • 默认值:无
  • 描述:转换为手机用户时要使用的手机短信验证码
accountType:
  • 类型: 数值类型
  • 默认值:无
  • 描述:用户类型,详细见 GizThirdAccountType 枚举定义。待转换的用户名是手机号时,此参数指定为1,待转换用户名是普通账号时,此参数指定为0
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      uid:      // 注册成功后返回的uid,字符串类型      token:    // 注册成功后返回的token,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.transAnonymousUser({    "token": 'your_token',    "userName": 'your_phone_number',    "password": 'your_password',    "verifyCode": 'your_verify_code',    "accountType": 1}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
resetPassword
重置密码
resetPassword({params}, callback(ret, err))
params
userName:
  • 类型: 字符串
  • 默认值:无
  • 描述:待重置密码的手机号或邮箱
verifyCode:
  • 类型: 字符串
  • 默认值:无
  • 描述:重置手机用户密码时需要使用手机短信验证码
newPassword:
  • 类型: 字符串
  • 默认值:无
  • 描述:新密码
accountType:
  • 类型:数值类型
  • 默认值:无
  • 描述:用户类型,详细见 GizThirdAccountType 枚举定义。待重置密码的用户名是手机号时,此参数指定为手机用户,待重置密码的用户名是邮箱时,此参数指定为邮箱用户
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 0    // 执行成功,数字类型      msg:            // 错误描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.resetPassword({    "userName": 'your_phone_number',    "verifyCode": 'your_verify_code',    "newPassword": 'your_new_password',    "accountType": 1}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
changeUserPassword
修改用户密码
changeUserPassword({params}, callback(ret, err))
params
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
oldPassword:
  • 类型: 字符串
  • 默认值:无
  • 描述:旧密码
newPassword:
  • 类型: 字符串
  • 默认值:无
  • 描述:新密码
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 0    // 执行成功,数字类型      msg:            // 错误描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.changeUserPassword({    "token": 'your_token',    "oldPassword": 'your_old_password',    "newPassword": 'your_new_password'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
changeUserInfo
匿名用户转手机用户。手机匿名登录后,可以转换为手机用户,但需要先获取到手机验证码才可以转换。转换后,匿名用户已经绑定的设备,会迁移到转换后的用户账号下。
changeUserInfo({params}, callback(ret, err))
params
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
userName:
  • 类型: 字符串
  • 默认值:无
  • 描述:待修改的手机号或邮箱
verifyCode:
  • 类型: 字符串
  • 默认值:无
  • 描述:修改手机号时要使用的手机短信验证码
accountType:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户类型,详细见 GizThirdAccountType 枚举定义。修改手机号时,accountType传1;修改普通用户名时,accountType传2;只修改个人信息时,accountType传0;同时修改用户名和个人信息时,可根据待修改的是手机号还是邮箱来指定
additionalInfo:
  • 类型: 字符串
  • 默认值:无
  • 描述:待修改的个人信息,详细见 GizUserInfo 类定义。如果只修改个人信息,需要指定token,username、code不用传
  • 内部字段:  {      "name":         // 昵称,字符串类型      "gender":    // 性别,见UserGenderType枚举,数字类型      "birthday":     // 生日,字符串类型      "address":     // 住址,字符串类型      "remark":     // 备注,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      errorCode: 0,     // 转换成功,数字类型      msg:             // 消息描述,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码// 修改手机号var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.changeUserInfo({    "token": 'your_token',    "userName": 'your_phone_number',    "verifyCode": 'your_verify_code',    "accountType": 1}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getUserInfo
获取用户信息。用户登录后,可以获取用户的个人信息。
getUserInfo({params}, callback(ret, err))
params
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      "uid":             // 用户登录的uid,字符串类型      "username":     // 用户名,字符串类型      "email":         // email信息,字符串类型      "phone":        // 电话号码,字符串类型      "isAnonymous":    // 是否为匿名用户,布尔类型      "name":         // 昵称,字符串类型      "gender":        // 性别,UserGenderType枚举类型      "birthday":        // 生日,字符串类型      "address":        // 住址,字符串类型      "remark":         // 备注,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getUserInfo({    "token": 'your_token'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getGroups
获取用户账号下的设备分组列表。需要先完成用户登录,才能获取设备分组列表。设备分组是指把中控网关管理的子设备分成多个组,便于批量执行子设备操作。一个设备分组只能添加一种类型的设备。常见的应用场景,比如睡前把房间里所有的开关灯关掉,把床头的两个落地灯调暗,这时就可以把子设备分成两个组,一个是开关灯组,一个是落地灯组。
getGroups({params}, callback(ret, err))
params
uid:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 uid
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
specialProductKeys:
  • 类型: 字符串
  • 默认值:无
  • 描述:待筛选的组类型标识,字符串数组。不指定则不筛选
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      groups:[{      // 组对象(以下字段是组对象信息),数组类型          "gid":    // 组ID,字符串类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.getGroups({    "uid": 'your_uid',    "token": 'your_token',    "specialProductKeys": []}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addGroup
添加设备分组。添加后返回当前的设备分组列表
addGroup({params}, callback(ret, err))
params
uid:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 uid
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
productKey:
  • 类型: 字符串
  • 默认值:无
  • 描述:指定组类型标识
groupName:
  • 类型: 字符串
  • 默认值:无
  • 描述:指定组名称
specialDevices:
  • 类型: JSON对象
  • 默认值:无
  • 描述:指定加入组内的设备。字典数组,依赖键值 sdid(子设备标识码)、did(父设备标识码)。不加入设备则不传
  • 内部字段
      {      "mac":        // 子设备所属中控网关的mac地址,字符串类型      "did":         // 子设备所属中控网关的did,字符串类型      "subDid":    // 子设备的did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      groups:[{      // 组对象(以下字段是组对象信息),数组类型          "gid":    // 组ID,字符串类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.addGroup({    "uid": 'your_uid',    "token": 'your_token',    "productKey": 'your_group_type',    "groupName": 'your_group_name',    "specialDevices": []}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err));});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeGroup
删除设备分组。删除后返回当前的设备分组列表
removeGroup({params}, callback(ret, err))
params
uid:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 uid
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
gid:
  • 类型: 字符串
  • 默认值:无
  • 描述:待删除的组id
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      groups:[{      // 组对象(以下字段是组对象信息),数组类型          "gid":    // 组ID,字符串类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.removeGroup({    "uid": 'your_uid',    "token": 'your_token',    "gid": 'your_group_id'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
editGroup
编辑设备分组。编辑分组后返回当前的设备分组列表
editGroup({params}, callback(ret, err))
params
uid:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 uid
token:
  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token
gid:
  • 类型: 字符串
  • 默认值:无
  • 描述:待编辑组的组id
groupName:
  • 类型: 字符串
  • 默认值:无
  • 描述:待编辑组的组名称
specialDevices:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要编辑的组内设备信息,依赖键值 sdid(子设备标识码)、did(父设备标识码)。不指定设备则不传
  • 内部字段
      {      "mac":        // 子设备所属中控网关的mac地址,字符串类型      "did":         // 子设备所属中控网关的did,字符串类型      "subDid":    // 子设备的did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      groups:[{      // 组对象(以下字段是组对象信息),数组类型          "gid":    // 组ID,字符串类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型  }
示例代码var gizWifiSDK = api.require('gizWifiSDK');gizWifiSDK.editGroup({    "uid": 'your_uid',    "token": 'your_token',    "gid": 'your_group_id',    "groupName": 'your_group_name',    "specialDevices": []}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
gizWifiDevice类接口
机智云 Wi-Fi 的设备类。该类提供了设备登录,控制、接收设备信息功能。
registerNotifications
注册设备状态变化通知。只要得到设备的mac地址和did,就可以注册设备通知。注册后,设备后续的登录状态变化、运行状态变化都会实时上报给APP。设备解绑或断开连接后,就不会再上报数据了。
registerNotifications({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要注册通知的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {   // 执行成功的设备对象(以下字段是设备对象信息),对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }      netStatus: // 设备在线状态(见枚举定义GizWifiDeviceNetStatus),数字类型      data: {                    // 设备状态,字符串类型          "attrName":"attrValue",    // 数据点名称: 操作值      }      alerts: {                    // 报警,数组类型          "attrName": "attrValue"    // 数据点名称: 报警内容      }         faults: {                     // 故障,数组类型          "attrName": "attrValue"    // 数据点名称: 故障内容      }      binary:     // 二进制透传数据,base64编码字符串,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的设备对象(以下字段是设备对象信息),对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.registerNotifications({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSubscribe
设备订阅或解除订阅。订阅了设备,表示使用者关心这个设备的消息推送。解除订阅,表示使用者不关心这个设备的消息推送。订阅设备后,SDK将自动登录和自动绑定设备。解除订阅后,设备连接将自动断开,但不会自动解绑。一般来说,设备订阅都会成功的,SDK会记住设备是否被订阅了。
setSubscribe({params}, callback(ret, err))
params
subscribed:
  • 类型:布尔类型
  • 默认值:无
  • 描述:订阅或解除订阅。true表示订阅,false表示解除订阅
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要登录的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      isSubscribed:     // 设备是被订阅了还是被取消订阅了,布尔类型      device: {       // 执行成功的设备对象(以下字段是设备对象信息),对象类型          "mac":      // 设备mac地址,字符串类型          "did":      // 设备did,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的设备对象(以下字段是设备对象信息),对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.setSubscribe({    "subscribed": true,    "device": {        "mac": 'your_device_mac',        "did": 'your_device_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getDeviceStatus
获取设备状态。已订阅的设备变为可控状态后才能获取到状态,包括设备的运行状态、报警、故障、透传数据等。
getDeviceStatus({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要查询的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{       // 操作命令执行成功的设备对象(以下字段是设备对象信息),对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }      "data": {                    // 设备状态,对象类型          "attrName":"attrValue",    // 数据点名称: 操作值。如果数据点是扩展类型,操作值为base64编码字符串      }      "alerts": {                    // 报警,对象类型          "attrName": "attrValue"    // 数据点名称: 报警内容      }      "faults": {                     // 故障,对象类型          "attrName": "attrValue"    // 数据点名称: 故障内容      }      "binary":     // 二进制透传数据,base64编码字符串,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 查询失败的设备对象(以下字段是设备对象信息),对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.getDeviceStatus({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
write
给设备发送控制指令,已订阅的设备变为可控状态后才能发送控制指令。设备控制时也分为大循环和小循环(即远程和局域网环境),SDK会优先进行小循环控制。当设备只能通过大循环访问时,才进行大循环控制。APP的设备控制指令到达设备端后,设备状态变化时会上报当前状态。APP通过回调函数可以得到状态数据,包括设备的运行状态、报警、故障、透传数据等。
如果开发者有需要透传的数据指令,可以通过定义扩展类型的数据点实现。如果要透传的是二进制数据,需要先用base64编码转换为字符串再写入write接口的data参数。同样,设备向APP透传的二进制数据,APP接收后,要先经过base64解码为二进制数据才能正确使用。请注意,一定要用base64编解码,否则二进制数据无法正确透传。
要求:下发的指令格式需按照正确的json类型下发。例如,布尔类型的值,下发的是0或1,可能会导致无法下发。
write({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要发送操作指令的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型  }
sn:
  • 类型: 数字类型
  • 默认值:无
  • 描述:发送操作指令时可以携带指令序号,指令序号由App生成和维护
data:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要发送的操作指令。
  • 内部字段
      {      "data": {                    // 设备数据点对象类型          ……          "attrName": "attrValue",// 操作命令:数据点名称、操作值                                  // 数据点名称是字符串类型,操作值的类型是在数据点中定义的                                  // 如果数据点是扩展类型,操作值需为base64编码字符串          ……      }  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{       // 执行成功的设备对象(以下字段是设备对象信息),对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }      "sn":         // 操作指令下发时的指令序号      "data": {                       // 状态,对象类型          "attrName": "attrValue",    // 数据点名称: 操作值。如果数据点是扩展类型,操作值需为base64编码字符串      }      "alerts": {                    // 报警,对象类型          "attrName": "attrValue"    // 数据点名称: 报警内容      }      "faults": {                    // 故障,对象类型          "attrName":"attrValue"    // 数据点名称: 故障内容      }         "binary":         // 二进制透传数据,base64编码字符串,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的设备对象,对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.write({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac'    },    "sn": 5,    "data": {        "LED_G": 127,        "LED_B": 254,        "LED_R": 127,        "LED_OnOff": true,        "Motor_Speed": 2    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getHardwareInfo
获取设备硬件信息。只有在小循环时,设备登录后才能够获取到设备硬件信息。
getHardwareInfo({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {   // 执行成功的设备对象(以下字段是设备对象信息),对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }      hardwareInfo: {            // 设备硬件信息,对象类型          "wifiHardVer":        // WiFi硬件版本号,字符串类型          "wifiSoftVer":        // WiFi软件版本号,字符串类型          "mcuHardVer":        // 设备硬件版本号,字符串类型          "mcuSoftVer":        // 设备软件版本号,字符串类型          "firmwareId":        // 固件fid,字符串类型          "firmwareVer":        // 固件版本号,字符串类型          "productKey":        // 产品类型识别码      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的设备对象,对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.getHardwareInfo({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
exitProductionTesting
退出产测模式。不订阅设备就可以调用此接口,设备进入产测模式后会做出响应
exitProductionTesting({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {   // 执行成功的设备对象,对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的设备对象,对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.exitProductionTesting({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setCustomInfo
修改设备的备注和别名。设备绑定后才能修改
setCustomInfo({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要修改备注和别名的设备对象
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型  }
remark:
  • 类型: JSON对象
  • 默认值:无
  • 描述:待修改的备注信息。不修改可不传
alias:
  • 类型: JSON对象
  • 默认值:无
  • 描述:待修改的别名信息。不修改可不传
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {   // 执行成功的设备对象,对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的设备对象,对象类型          "mac":    // 设备mac地址,字符串类型          "did":     // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.setCustomInfo({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac'    },    "remark": "your_remark",    "alias": "your_alias"}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getDeviceInfo
获取设备基本信息。
getDeviceInfo({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:设备对象,设备mac和did可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 中控设备mac地址,字符串类型      "did":         // 中控设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {           // 设备对象(以下字段是设备信息),对象类型          mac:            // 设备MAC地址,字符串类型          did:              // 设备唯一标识,字符串类型          ip:                // 设备IP地址,字符串类型          productKey:        // 设备的产品识别码,字符串类型          productName:    // 设备的产品名称,字符串类型          remark:            // 设备备注信息,字符串类型          alias:            // 设备别名,字符串类型          type:            // 设备类型(见枚举定义GizWifiDeviceType),数字类型          netStatus:        // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型          isLAN:            // 设备是否是局域网设备,布尔类型          isBind:            // 设备是否已绑定,布尔类型          isDisabled:        // 设备是否已在云端注销,布尔类型          isProductDefined:  // 设备是否定义了数据点,布尔类型          isSubscribed:    // 设备是否已订阅,布尔类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device: {       // 设备对象(以下字段是设备对象信息),对象类型          "mac":        // 设备mac地址,字符串类型          "did":         // 设备did,字符串类型      }  }
示例代码var gizWifiDevice = api.require('gizWifiDevice');gizWifiDevice.getDeviceInfo({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
gizWifiCentralControlDevice类接口
机智云 Wi-Fi 的中控设备类。该类提供了中控设备获取子设备列表、添加子设备、删除子设备功能。中控设备类继承自GizWifiDevice类,可以使用GizWifiDevice类的所有接口。
在获取到设备列表时,通过GizWifiDevice类的getDeviceInfo()接口中的type字段信息,可以知道该设备是否为中控设备。中控设备登录后,就可以进行子设备添加、删除等操作了。
registerNotifications
注册子设备列表变化通知。当中控设备处于子设备加网状态时,会主动上报当前已入网的子设备。APP注册通知后,SDK就会将子设备列表上报给APP。
registerNotifications({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要注册通知的中控设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 中控设备mac地址,字符串类型      "did":         // 中控设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{       // 注册成功的中控设备对象,对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }      netStatus:     // 中控设备的网络状态(见枚举定义GizWifiDeviceNetStatus),数值类型      subDevices: {            // 中控设备上报的子设备列表,对象数组类型          "mac":                 // 中控设备mac,字符串类型          "did":                // 中控设备did,字符串类型          "subDid":            // 中控子设备did,字符串类型          "netStatus":        // 中控子设备是否在线(见枚举定义GizWifiDeviceNetStatus),数值类型          "subProductKey":     // 中控子设备类型标识码,字符串类型          "subProductName":     // 中控子设备产品名称,字符串类型          "type":             // 中控子设备类型(见枚举定义GizWifiDeviceType),数值类型          "productKey":         // 中控设备类型标识码,字符串类型          "productName":         // 中控设备产品名称,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device: {   // 注册失败的设备对象,对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }  }
示例代码var gizWifiCentralControlDevice = api.require('gizWifiCentralControlDevice');gizWifiCentralControlDevice.registerNotifications({    "device": {        "mac": 'your_device_mac',        "did": 'your_device_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getSubDevices
获取子设备列表。
getSubDevices({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:中控设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 中控设备mac地址,字符串类型      "did":         // 中控设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {   // 执行成功的中控设备对象,对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }      subDevices: {    // 中控设备上报的子设备列表,对象数组类型          "mac":                     // 中控设备mac,字符串类型          "did":                    // 中控设备did,字符串类型          "subDid":                 // 子设备did,字符串类型          "subProductKey":        // 子设备类型标识,字符串类型          "subProductName":        // 子设备产品名称,字符串类型          "type":                    // 子设备类型,数字类型          "netStatus":            // 中控子设备是否在线(见枚举定义GizWifiDeviceNetStatus),数值类型          "productKey":            // 中控设备类型标识,字符串类型          "productName":            // 中控设备产品名称,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的中控设备对象,对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }  }
示例代码var gizWifiCentralControlDevice = api.require('gizWifiCentralControlDevice');gizWifiCentralControlDevice.getSubDevices({    "device": {        "mac": 'your_device_mac',        "did": 'your_device_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addSubDevice
添加子设备。
addSubDevice({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:中控设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 中控设备mac地址,字符串类型      "did":         // 中控设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{       // 执行成功的中控设备对象,对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }      subDevices:{    // 中控设备上报的子设备列表,对象数组类型          "mac":         // 中控设备mac,字符串类型          "did":        // 中控设备did,字符串类型          "subDid":                 // 子设备did,字符串类型          "subProductKey":        // 子设备类型标识,字符串类型          "subProductName":        // 子设备产品名称,字符串类型          "type":                    // 子设备类型,数字类型          "netStatus":            // 中控子设备是否在线(见枚举定义GizWifiDeviceNetStatus),数值类型          "productKey":            // 中控设备类型标识,字符串类型          "productName":            // 中控设备产品名称,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的中控设备对象,对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }  }
示例代码var gizWifiCentralControlDevice = api.require('gizWifiCentralControlDevice');gizWifiCentralControlDevice.addSubDevice({    "device": {        "mac": 'your_device_mac',        "did": 'your_device_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteSubDevice
删除子设备。
deleteSubDevice({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:中控设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":    // 中控设备mac地址,字符串类型      "did":     // 中控设备did,字符串类型  }
subDid:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要删除的子设备did
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{       // 执行成功的中控设备对象(以下字段是设备对象信息),对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }      subDevices:{        // 中控设备上报的子设备列表,对象数组类型          "mac":                     // 中控设备mac,字符串类型          "did":                    // 中控设备did,字符串类型          "subDid":                 // 子设备did,字符串类型          "subProductKey":        // 子设备类型标识,字符串类型          "subProductName":        // 子设备产品名称,字符串类型          "type":                    // 子设备类型,数字类型          "netStatus":            // 中控子设备是否在线(见枚举定义GizWifiDeviceNetStatus),数值类型          "productKey":            // 中控设备类型标识,字符串类型          "productName":            // 中控设备产品名称,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 执行失败的中控设备对象,对象类型          "mac":    // 中控设备mac地址,字符串类型          "did":     // 中控设备did,字符串类型      }  }
示例代码var gizWifiCentralControlDevice = api.require('gizWifiCentralControlDevice');gizWifiCentralControlDevice.deleteSubDevice({    "device": {        "mac": 'your_device_mac',        "did": 'your_device_mac'    },    "subDid": 'your_sub_device_mac'}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
gizWifiSubDevice类接口
机智云 Wi-Fi 的子设备类。该类提供了子设备控制、子设备状态上报功能。子设备类继承自GizWifiDevice类,可以使用GizWifiDevice类的所有接口。
registerNotifications
注册子设备状态变化通知。
registerNotifications({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要注册通知的子设备对象,设备对象信息可以在获取子设备列表时得到
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型      "subDid":     // 子设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{       // 注册成功的子设备对象,对象类型          "mac":        // 中控设备mac地址,字符串类型          "did":         // 中控设备did,字符串类型          "subDid":     // 子设备did,字符串类型      }      netStatus:        // 子设备是否在线(见GizWifiDeviceNetStatus),数值类型      "data": {                    // 设备状态,对象类型          "attrName":"attrValue",    // 数据点名称: 操作值。如果数据点是扩展类型,操作值需为base64编码字符串      }      "alerts": {                    // 报警,对象类型          "attrName": "attrValue"    // 数据点名称: 报警内容      }      "faults": {                     // 故障,对象类型          "attrName": "attrValue"    // 数据点名称: 故障内容      }      "binary":         // 二进制透传数据,base64编码字符串,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device: {   // 注册失败的设备对象(以下字段是设备对象信息),对象类型          "mac":      // 设备mac地址,字符串类型          "did":      // 设备did,字符串类型          "subDid":     // 子设备did,字符串类型      }  }
示例代码var gizWifiSubDevice = api.require('gizWifiSubDevice');gizWifiSubDevice.registerNotifications({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac',        "subDid": 'your_subDevice_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getDeviceStatus
获取设备状态。已订阅的设备变为可控状态后才能获取到状态,包括设备的运行状态、报警、故障、透传数据等。
getDeviceStatus({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要查询的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型      "subDid":     // 子设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device:{       // 执行成功的设备对象(以下字段是设备对象信息),对象类型          "mac":      // 设备mac地址,字符串类型          "did":      // 设备did,字符串类型          "subDid":     // 子设备did,字符串类型      }      "data": {                    // 设备状态,对象类型          "attrName":"attrValue",    // 数据点名称: 操作值。如果数据点是扩展类型,操作值需为base64编码字符串      }      "alerts": {                    // 报警,对象类型          "attrName": "attrValue"    // 数据点名称: 报警内容      }      "faults": {                     // 故障,对象类型          "attrName": "attrValue"    // 数据点名称: 故障内容      }      "binary":     // 二进制透传数据,base64编码字符串,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 请求查询状态的设备对象(以下字段是设备对象信息),对象类型          "mac":      // 设备mac地址,字符串类型          "did":      // 设备did,字符串类型          "subDid":     // 子设备did,字符串类型      }  }
示例代码var gizWifiSubDevice = api.require('gizWifiSubDevice');gizWifiSubDevice.getDeviceStatus({    "device": {        "mac": 'your_device_mac',        "did": 'your_device_id',        "subDid": 'your_subDevcie_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
write
子设备控制。同普通设备控制一样。
write({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要发送操作指令的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型      "subDid":     // 子设备did,字符串类型  }
sn:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要发送的操作指令的指令序号,由App生成并维护
data:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要发送的操作指令,格式与普通设备相同
  • 内部字段
      {      "data": {        // 设备状态,字符串类型          "attrName":"attrValue",    // 数据点名称: 操作值。如果数据点是扩展类型,操作值需为base64编码字符串      }      "alerts": {                    // 报警,数组类型          "attrName": "attrValue"    // 数据点名称: 报警内容      }      "faults": {                     // 故障,数组类型          "attrName": "attrValue"    // 数据点名称: 故障内容      }      "binary":         // 二进制透传数据,base64编码字符串,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {       // 执行成功的设备对象(以下字段是设备对象信息),对象类型          "mac":        // 设备mac地址,字符串类型          "did":         // 设备did,字符串类型          "subDid":     // 子设备did,字符串类型      }      "sn":         // 命令序号,与App下发的序号对应,数字类型      "data": {                    // 设备状态,对象类型          "attrName":"attrValue",    // 数据点名称: 操作值。如果数据点是扩展类型,操作值需为base64编码字符串      }      "alerts": {                    // 报警,对象类型          "attrName": "attrValue"    // 数据点名称: 报警内容      }      "faults": {                     // 故障,对象类型          "attrName": "attrValue"    // 数据点名称: 故障内容      }      "binary":     // 二进制透传数据,base64编码字符串,字符串类型  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device: {       // 执行失败的设备对象(以下字段是设备对象信息),对象类型          "mac":        // 设备mac地址,字符串类型          "did":         // 设备did,字符串类型          "subDid":     // 子设备did,字符串类型      }  }
示例代码var gizWifiSubDevice = api.require('gizWifiSubDevice');gizWifiSubDevice.write({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac',        "subDid": 'your_subDevice_id'    },    "sn": 5,    "data": {        "LED_G": 127,        "LED_B": 254,        "LED_R": 127,        "LED_OnOff": true,        "Motor_Speed": 2    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getDeviceInfo
获取子设备基本信息。
getDeviceInfo({params}, callback(ret, err))
params
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:子设备对象,设备mac和did可以在获取分组设备列表时得到。
  • 内部字段
      {      "mac":        // 中控设备mac地址,字符串类型      "did":         // 中控设备did,字符串类型      "subDid":     // 子设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      device: {       // 子设备对象(以下字段是子设备信息),对象类型          "mac":                    // 中控设备mac地址,字符串类型          "did":                     // 中控设备did,字符串类型          "subDid":                 // 子设备did,字符串类型          "subProductKey":        // 子设备类型标识,字符串类型          "subProductName":        // 子设备产品名称,字符串类型          "type":             // 子设备类型(见GizWifiDeviceType),数值类型          "netStatus":        // 子设备是否在线(见GizWifiDeviceNetStatus),数值类型          "productKey":            // 中控设备类型标识,字符串类型          "productName":            // 中控设备产品名称,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      device:{       // 设备对象(以下字段是设备对象信息),对象类型          "mac":        // 设备mac地址,字符串类型          "did":         // 设备did,字符串类型          "subDid":     // 子设备did,字符串类型      }  }
示例代码var gizWifiSubDevice = api.require('gizWifiSubDevice');gizWifiSubDevice.getDeviceInfo({    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac',        "subDid": 'your_subDevice_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
gizWifiGroup类接口
机智云 Wi-Fi 的设备分组类。该类提供了中控子设备分组功能。
getDevices
获取分组设备列表。
getDevices({params}, callback(ret, err))
params
group:
  • 类型: JSON对象
  • 默认值:无
  • 描述:组对象,组对象信息可以在获取分组列表时得到。
  • 内部字段
      {      "gid":        // 组ID,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      group: {       // 获取组设备成功的组对象,对象类型          "gid":     // 组ID,字符串类型      }      devices: [{       // 分组子设备列表,对象数组类型          "mac":         // 设备mac,字符串类型          "did":        // 设备did,字符串类型          "subDid":    // 子设备did,字符串类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      group:{       // 获取组设备失败的组对象,对象类型          "gid":    // 组ID,字符串类型      }  }
示例代码var gizWifiGroup = api.require('gizWifiGroup');gizWifiGroup.getDevices({    "group": {        "gid": 'your_group_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addDevice
向组中添加设备。添加后,返回添加后的设备列表。
addDevice({params}, callback(ret, err))
params
group:
  • 类型: JSON对象
  • 默认值:无
  • 描述:组对象,组对象信息可以在获取分组列表时得到。
  • 内部字段
      {      "gid":        // 组ID,字符串类型  }
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要添加的设备对象,设备对象信息可以在获取分组设备列表时得到。
  • 内部字段
      {      "mac":        // 设备mac地址,字符串类型      "did":         // 设备did,字符串类型      "subDid":     // 子设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      group: {           // 添加组设备成功的组对象,对象类型          "gid":         // 组ID,字符串类型      }      devices: [{       // 分组子设备列表,对象数组类型          "mac":         // 设备mac,字符串类型          "did":        // 设备did,字符串类型          "subDid":    // 子设备did,字符串类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      group: {       // 添加组设备失败的组对象,对象类型          "gid":    // 组ID,字符串类型      }  }
示例代码var gizWifiGroup = api.require('gizWifiGroup');gizWifiGroup.addDevice({    "group": {        "gid": 'your_group_id'    },    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac',        "subDid": 'your_subDevice_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeDevice
删除分组内的设备。删除后,返回删除后的设备列表。
removeDevice({params}, callback(ret, err))
params
group:
  • 类型: JSON对象
  • 默认值:无
  • 描述:组对象,组对象信息可以在获取分组列表时得到。
  • 内部字段
      {      "gid":        // 组ID,字符串类型  }
device:
  • 类型: JSON对象
  • 默认值:无
  • 描述:要删除的设备对象,设备对象信息可以在获取分组设备列表时得到。
  • 内部字段
      {      "mac":        // 中控设备mac地址,字符串类型      "did":         // 中控设备did,字符串类型      "subDid":     // 子设备did,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      group: {           // 删除组设备成功的组对象,对象类型          "gid":         // 组ID,字符串类型      }      devices: [{       // 分组子设备列表,对象数组类型          "mac":         // 设备mac,字符串类型          "did":        // 设备did,字符串类型          "subDid":    // 子设备did,字符串类型      }]  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      group:{       // 删除组设备失败的组对象,对象类型          "gid":    // 组ID,字符串类型      }  }
示例代码var gizWifiGroup = api.require('gizWifiGroup');gizWifiGroup.removeDevice({    "group": {        "gid": 'your_group_id'    },    "device": {        "did": 'your_device_id',        "mac": 'your_device_mac',        "subDid": 'your_subDevice_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getGroupInfo
获取分组设备列表。
getGroupInfo({params}, callback(ret, err))
params
group:
  • 类型: JSON对象
  • 默认值:无
  • 描述:组对象,组对象信息可以在获取分组列表时得到。
  • 内部字段
      {      "gid":        // 组ID,字符串类型  }
callback(ret, err)
ret
  • 类型:JSON对象
  • 内部字段
      {      group: {       // 组对象,对象类型          "gid":             // 组ID,字符串类型          "groupName":     // 组名称,字符串类型          "productKey":     // 组类型标识,字符串类型      }  }
err
  • 类型:JSON对象
  • 内部字段
      {      errorCode:    // 错误代码(见枚举定义GizWifiErrorCode),数字类型      msg:        // 错误描述,字符串类型      group:{       // 组对象,对象类型          "gid":    // 组ID,字符串类型      }  }
示例代码var gizWifiGroup = api.require('gizWifiGroup');gizWifiGroup.getGroupInfo({    "group": {        "gid": 'your_group_id'    }}, function(ret, err) {    alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))});可用性
iOS系统,Android系统
可提供的1.0.0及更高版本



1、机智云QQ群: 287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits /   机智云智能宠物屋go-kit
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表