/**
* 11、根据设备id和属性id 获取值
*
*回调方法:
通过0.1方法callbackdata(id,name,data)回调
回调name : GetAttrDiscriptionByAttrId
返回数据:
多值:{"value":["2907","3000"],"attribute_id":"0x0009000b"}
单值:{"value":"1","attribute_id":"0x0009000b"}
*/
LenSmJs.GetAttrDiscriptionByAttrId_h5 = function(gadgetId, actionId){
if(LenSmJs.isiOS == true){
GetAttrDiscriptionByAttrId("gadgetId="+gadgetId,"actionId="+actionId);
}else{
JsInterface.GetAttrDiscriptionByAttrId(gadgetId,actionId);
}
};
/**
* 12、根据gadgetId获取设备信息,包含设备名,信息状态等,
*
*回调方法:0.1方法callbackdata(id,name,data)
其中回调name : GetGagdgetInfoWithId;
返回数据:
data.gadget_name; //设备名字
data.room_id; //room id
data.client_data; //client_data
data.push_msg_flag; //是否要推送信息
推送消息判断,
data.push_msg_flag;当为1 或者 true时,为打开消息,反之 为关闭消息
PS:
data.push_msg_flag
IOS是 string 0 关闭 1 打开
Android 是 布尔类型 false 关闭 true 打开
*/
LenSmJs.GetGagdgetInfoWithId_h5 = function(gadgetId){
if(LenSmJs.isiOS == true){
GetGagdgetInfoWithId("gadget_id="+gadgetId);
}else{
JsInterface.GetGagdgetInfoWithId(gadgetId);
}
};
/**
* 13、修改设备信息
* 参数同 方法 12
*
* 回调方法:通过方法0.1callbackdata(id,name,data)
其中name : ModifyGagdgetInfoWithId;
返回值:
{“state”:”0”key)}
state 字符串 0 失败 1 成功;
key : 传什么返回什么,以便于区分究竟是修改了哪个信息的返回结果
*/
LenSmJs.ModifyGagdgetInfoWithId_h5 = function(gadgetId, gadgetName, roomId, clientData, push_msg_flag,key){
if(LenSmJs.isiOS == true){
ModifyGagdgetInfoWithId("gadgetId="+gadgetId,"gadgetName="+gadgetName,"roomId="+roomId,"clientData="+clientData,"push_msg_flag="+push_msg_flag,"key="+key);
}else{
JsInterface.ModifyGagdgetInfoWithId(gadgetId, gadgetName, roomId, clientData, push_msg_flag,key);
}
};
/**
* 20、Android设备绑定
*
* 参数:
* var gadgetKinds string //空气净化器的是“LenovoSmartAir”
var ssid = remCount; //账号
var psd = remPass; //密码
var ls = "cn"; //服务器
var sl = "dev"; //服务器级别
var perCode = "";
var timeZone = LenSmJs.getTimezoneName_h5(); //本地时区
var cn = "false"; //网络配置流程+绑定流程
var wctom = "60000"; //wifi连接超时时间
var stom = "60000"; //softAp超时时间
var btom = "120000"; //绑定超时时间
var cgtom = "120000"; //创建设备超时时间
var ip = "192.168.199.1" 固定
var commongadget = "true" 固定
返回:是通过 0.1 方法返回的,
其中每一步返回的name,及结果是:
//andriod 返回 start
if(name == "onDeviceWifiConnectSuccess"){
//设备wiif连接成功
}
if(name == "onDeviceWifiConnectTimeout"){
//设备wifi连接超时
}
if(name == "onSoftApSuccess"){
//softAp成功
}
if(name == "onSoftApTimeout"){
//softAp超时
}
if(name == "onBindSuccess"){
//绑定成功
}
if(name == "onBindError"){
//绑定失败
if(data == "103" || data == "-8" || data == "42409" ){
//失败 提示被其他用户绑定
}else{
//绑定超时
}
}
if(name == "onCreateGadgetSuccess"){
//创建设备成功
返回结果:
字符串,逗号“,”分割:第一个是状态值,第二个是设备名字,第三个是设备id
var gadgetName = data.split(",")[1]; :设备名字
var gadgetId = data.split(",")[2]; :设备号
}
if(name == "onCreateGadgetTimeout"){
//创建设备超时
}
*
* */
//第一步 注册监听:
//LenSmJs.getAddListener_h5();
//第二步 开始绑定
LenSmJs.startAutoFindDeviceBySoftAp_h5 = function(gadgetKinds,ssid, psd, ip, ls, sl, perCode, timeZone, cn, wctom, stom, btom, cgtom, commongadget){
if(LenSmJs.isAndroid == true){
JsInterface.startAutoFindDeviceBySoftAp(gadgetKinds,ssid, psd, ip, ls, sl, perCode, timeZone, cn, wctom, stom, btom, cgtom, commongadget);
}
};
/**
* 第三步 Android停止自动发现设备接口(用户点击左上角返回键或者系统返回键调用)
*/
LenSmJs.stopAutoFindDevice_h5 = function(){
if(LenSmJs.isAndroid == true){
JsInterface.stopAutoFindDevice();
}
};
/**
* 局域网内发现设备
* 有建权
*/
LenSmJs.ethernetFindHub_h5 = function(preCode){
if(LenSmJs.isiOS == true) {
ethernetFindHub("pre_code="+preCode);
}else{
JsInterface.ethernetFindHub(preCode);
}
};
/**
* 局域网内发现设备
* 无建权
*/
LenSmJs.ethernetFindHubWithoutAuth_h5 = function(){
if(LenSmJs.isiOS == true) {
ethernetFindHubWithoutAuth();
}else{
JsInterface.ethernetFindHubWithoutAuth();
}
};
/**
* 停止 局域网内发现设备
*/
LenSmJs.stopEthernetFindHub_h5 = function(){
if(LenSmJs.isiOS == true) {
stopEthernetFindHub();
}else{
JsInterface.stopEthernetFindHub();
}
};