liuxiulin hai 8 meses
pai
achega
933efc89bb

+ 2 - 0
pkg/protocol/topic.go

@@ -51,6 +51,8 @@ const (
 	Gateway          = "gateway"
 	TopicHeadExt     = "$ext"
 	Ext              = "ext"
+	TopicHeadEvent   = "$event"
+	EventTopic       = "event"
 )
 
 type Direction int

+ 7 - 0
services/emqx-agent/sub_dev.go

@@ -62,6 +62,7 @@ const (
 	TopicShadow         = ShareSubTopicPrefix + protocol.TopicHeadShadow + "/up/#"
 	TopicGateway        = ShareSubTopicPrefix + protocol.TopicHeadGateway + "/up/#"
 	TopicExt            = ShareSubTopicPrefix + protocol.TopicHeadExt + "/up/#"
+	TopicEvent          = ShareSubTopicPrefix + protocol.TopicHeadEvent + "/up/#"
 )
 
 func NewSubDev(conf *client.MqttConfig) (SubDev, error) {
@@ -142,6 +143,12 @@ func (d *MqttClient) subDevMsg(cli mqtt.Client, handle Handle) error {
 	if err != nil {
 		return err
 	}
+	err = d.subscribeWithFunc(cli, TopicEvent, func(ctx context.Context, topic string, payload []byte) error {
+		return handle(ctx).Message(topic, payload)
+	})
+	if err != nil {
+		return err
+	}
 	return nil
 }
 

+ 24 - 24
services/knowoapi/controllers/device.go

@@ -311,9 +311,9 @@ func (a *DeviceController) PostRestart() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// PostClearData 清除设备配置数据
-// POST /device/clear_data
-func (a *DeviceController) PostClearData() {
+// PostClear 清除设备配置数据
+// POST /device/clear
+func (a *DeviceController) PostClear() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)
@@ -328,9 +328,9 @@ func (a *DeviceController) PostClearData() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// PostSetDataTrans 设备端自动上报配置
-// POST /device/data_trans
-func (a *DeviceController) PostSetDataTrans() {
+// PostDatatrans 设备端自动上报配置
+// POST /device/datarrans
+func (a *DeviceController) PostDatatrans() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)
@@ -345,9 +345,9 @@ func (a *DeviceController) PostSetDataTrans() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// PostGetInfo
-// POST /device/getInfo
-func (a *DeviceController) PostGetInfo() {
+// PostInfo
+// POST /device/info
+func (a *DeviceController) PostInfo() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)
@@ -362,9 +362,9 @@ func (a *DeviceController) PostGetInfo() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// PostForceRun 远程控制某个模块强制运行
-// POST /device/force_run
-func (a *DeviceController) PostForceRun() {
+// PostForcerun 远程控制某个模块强制运行
+// POST /device/forcerun
+func (a *DeviceController) PostForcerun() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)
@@ -379,9 +379,9 @@ func (a *DeviceController) PostForceRun() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// SetDeviceId  写入设备 ID
-// POST /device/set_id
-func (a *DeviceController) SetDeviceId() {
+// PostId  写入设备 ID
+// POST /device/id
+func (a *DeviceController) PostId() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)
@@ -396,9 +396,9 @@ func (a *DeviceController) SetDeviceId() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// PostSetFjsqStatus 智能分集水器控制
-// POST /device/fjsq_status
-func (a *DeviceController) PostSetFjsqStatus() {
+// PostFjsq 智能分集水器控制
+// POST /device/fjsq
+func (a *DeviceController) PostFjsq() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)
@@ -413,9 +413,9 @@ func (a *DeviceController) PostSetFjsqStatus() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// PostSetOutdoorPower 设置水系统外机电源状态
-// POST /device/outdoor_power
-func (a *DeviceController) PostSetOutdoorPower() {
+// PostOutdoorPower 设置水系统外机电源状态
+// POST /device/outdoorpower
+func (a *DeviceController) PostOutdoorPower() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)
@@ -430,9 +430,9 @@ func (a *DeviceController) PostSetOutdoorPower() {
 	done(a.Ctx, params.DeviceId)
 }
 
-// PostSetOutdoorTemp 设置水系统外机出水温度
-// POST /device/outdoor_temp
-func (a *DeviceController) PostSetOutdoorTemp() {
+// PostOutdoorTemp 设置水系统外机出水温度
+// POST /device/outdoortemp
+func (a *DeviceController) PostOutdoorTemp() {
 	params := new(models.SendCommandParams)
 	if err := parseBody(a.Ctx, params); err != nil {
 		badRequest(a.Ctx, err)