|
@@ -26,40 +26,38 @@ func (mp *MQTTProvider) ValidateDeviceToken(deviceid string, token []byte) error
|
|
}
|
|
}
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
-func (mp *MQTTProvider) OnDeviceOnline(args rpcs.ArgsGetOnline) error {
|
|
|
|
|
|
+func (mp *MQTTProvider) OnDeviceOnline(args rpcs.ArgsGetOnline, VendorId string) error {
|
|
reply := rpcs.ReplyGetOnline{}
|
|
reply := rpcs.ReplyGetOnline{}
|
|
err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetOnline", args, &reply)
|
|
err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetOnline", args, &reply)
|
|
if err != nil {
|
|
if err != nil {
|
|
server.Log.Errorf("device online error. args: %v, error: %v", args, err)
|
|
server.Log.Errorf("device online error. args: %v, error: %v", args, err)
|
|
}
|
|
}
|
|
- //// 拉取期望状态
|
|
|
|
- //var desired *rpcs.DeviceDesiredReply
|
|
|
|
- //if err = server.RPCCallByName(nil, rpcs.ShadowServiceName,
|
|
|
|
- // "ShadowServer.GetDeviceDesired", args.Id, &desired); err != nil {
|
|
|
|
- // return err
|
|
|
|
- //}
|
|
|
|
- //j, err := gjson.DecodeToJson(desired.Data)
|
|
|
|
- //if err != nil {
|
|
|
|
- // server.Log.Errorf("不正确的期望值格式%s", desired.Data)
|
|
|
|
- //} else {
|
|
|
|
- // if j != nil {
|
|
|
|
- // // TODO: 向设备同步期望值
|
|
|
|
- //
|
|
|
|
- // }
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
|
|
+ var cReply rpcs.ReplyEmptyResult
|
|
|
|
+ var cArgs rpcs.ArgsGetStatus
|
|
|
|
+ cArgs.VendorId = VendorId
|
|
|
|
+ cArgs.Id = args.Id
|
|
|
|
+ if err = server.RPCCallByName(nil, rpcs.ControllerName, "Controller.Online", &cArgs, &cReply); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
-func (mp *MQTTProvider) OnDeviceOffline(deviceid string) error {
|
|
|
|
|
|
+func (mp *MQTTProvider) OnDeviceOffline(deviceid string, vendorId string) error {
|
|
args := rpcs.ArgsGetOffline{
|
|
args := rpcs.ArgsGetOffline{
|
|
- Id: deviceid,
|
|
|
|
|
|
+ Id: deviceid,
|
|
|
|
+ VendorId: vendorId,
|
|
}
|
|
}
|
|
reply := rpcs.ReplyGetOffline{}
|
|
reply := rpcs.ReplyGetOffline{}
|
|
err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetOffline", args, &reply)
|
|
err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetOffline", args, &reply)
|
|
if err != nil {
|
|
if err != nil {
|
|
server.Log.Errorf("device offline error. deviceid: %v, error: %v", deviceid, err)
|
|
server.Log.Errorf("device offline error. deviceid: %v, error: %v", deviceid, err)
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ var cReply rpcs.ReplyEmptyResult
|
|
|
|
+ var cArgs rpcs.ArgsGetStatus
|
|
|
|
+ cArgs.VendorId = vendorId
|
|
|
|
+ cArgs.Id = args.Id
|
|
|
|
+ if err = server.RPCCallByName(nil, rpcs.ControllerName, "Controller.Offline", &cArgs, &cReply); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
func (mp *MQTTProvider) OnDeviceHeartBeat(deviceid string) error {
|
|
func (mp *MQTTProvider) OnDeviceHeartBeat(deviceid string) error {
|
|
@@ -82,10 +80,10 @@ func (mp *MQTTProvider) OnDeviceMessage(deviceid, vendorId string, msgtype strin
|
|
switch act {
|
|
switch act {
|
|
case klink.DevSendAction:
|
|
case klink.DevSendAction:
|
|
processReportStatus(deviceid, vendorId, message)
|
|
processReportStatus(deviceid, vendorId, message)
|
|
- case klink.DevLoginAction:
|
|
|
|
- _ = processDevLogin(deviceid)
|
|
|
|
- case klink.DevLogoutAction:
|
|
|
|
- _ = processDevLogout(deviceid)
|
|
|
|
|
|
+ //case klink.DevLoginAction:
|
|
|
|
+ // _ = processDevLogin(deviceid)
|
|
|
|
+ //case klink.DevLogoutAction:
|
|
|
|
+ // _ = processDevLogout(deviceid)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
case "e":
|
|
case "e":
|