فهرست منبع

controller service add SendCommandV2

lijian 1 سال پیش
والد
کامیت
e4683543b5
2فایلهای تغییر یافته به همراه10 افزوده شده و 1 حذف شده
  1. 1 1
      services/apiprovider/actions.go
  2. 9 0
      services/controller/controller.go

+ 1 - 1
services/apiprovider/actions.go

@@ -297,7 +297,7 @@ func SendCommandToDeviceV2(device *models.Device, config *productconfig.ProductC
 	}
 	cmdreply := rpcs.ReplySendCommand{}
 
-	err = server.RPCCallByName(context.Background(), rpcs.ControllerName, "Agent.SendCommand", cmdargs, &cmdreply)
+	err = server.RPCCallByName(context.Background(), rpcs.ControllerName, "Controller.SendCommandV2", cmdargs, &cmdreply)
 	if err != nil {
 		server.Log.Errorf("send devie command error: %v", err)
 		r.JSON(http.StatusOK, renderError(ErrSystemFault, err))

+ 9 - 0
services/controller/controller.go

@@ -295,6 +295,15 @@ func (c *Controller) SendCommand(args rpcs.ArgsSendCommand, reply *rpcs.ReplySen
 	return server.RPCCallByHost(rpchost, "Access.SendCommand", args, reply)
 }
 
+// SendCommandV2 下发设备控制指令适配emqx
+func (c *Controller) SendCommandV2(args rpcs.ArgsSendCommand, reply *rpcs.ReplySendCommand) error {
+	rpchost, err := getAccessRPCHost(args.DeviceId)
+	if err != nil {
+		return err
+	}
+	return server.RPCCallByHost(rpchost, "Agent.SendCommand", args, reply)
+}
+
 func getAccessRPCHost(deviceid string) (string, error) {
 	args := rpcs.ArgsGetDeviceOnlineStatus{
 		Id: deviceid,