iotkit-parent/data/converters/d7e84930-5460-4638-aa3f-e0c.../converter.js

55 lines
1.2 KiB
JavaScript
Raw Normal View History

var mid=1;
function getMid(){
mid++;
if(mid>10000){
mid=1;
}
return mid+"";
}
this.decode = function (msg) {
//对msg进行解析并返回物模型数据
var content=msg.content;
var type = content.type;
if (type=="report") {
//属性上报
return {
mid: msg.mid,
productKey: msg.productKey,
deviceName: msg.deviceName,
type:"property",
identifier: "report", //属性上报
occur: new Date().getTime(), //时间戳,设备上的事件或数据产生的本地时间
time: new Date().getTime(), //时间戳,消息上报时间
data: content.params,
};
}
return null;
};
this.encode = function (service,device) {
var type=service.type;
var identifier=service.identifier;
var entityId=service.deviceName;
var deviceMid=getMid();
var params={};
var target={};
if("property"==type&&"set"==identifier){
var domain=entityId.split(".")[0];
var powerstate=service.params.powerstate==1?"turn_on":"turn_off";
params.type="call_service";
params.domain=domain;
params.service=powerstate;
target.entity_id=entityId;
params.target=target;
}
return {
productKey:service.productKey,
deviceName:service.deviceName,
mid:deviceMid,
content:params
}
};