@ -5,7 +5,7 @@ import "fmt"
|
||||
import "encoding/json"
|
||||
import "udi/config"
|
||||
import "udi/handlers/handler"
|
||||
import "udi/handlers/ttn/models/emuProfIILoRa"
|
||||
import "udi/handlers/ttn/models/emuProfIILoRaCfg1"
|
||||
import "udi/database"
|
||||
|
||||
var idSeq int = 0
|
||||
@ -115,13 +115,16 @@ func (self *TTNHandler) Handle(message handler.MessageT) {
|
||||
|
||||
log.Printf("DeviceLabel: %s, DeviceType: %s", device.Label, device.DeviceType.ModelIdentifier)
|
||||
|
||||
var parser func(interface{}) ([]database.VariableType, error)
|
||||
var parser func(int, interface{}) (map[string]database.VariableType, error)
|
||||
switch device.DeviceType.ModelIdentifier {
|
||||
case "emu-prof-ii-lora":
|
||||
parser = emuProfIILoRa.Parse
|
||||
case "emu-prof-ii-lora-cfg1":
|
||||
parser = emuProfIILoRaCfg1.Parse
|
||||
default:
|
||||
lost(fmt.Sprintf("No parser found for %s", device.DeviceType.ModelIdentifier), message)
|
||||
return
|
||||
}
|
||||
|
||||
_, err3 := parser(uplinkMessage.UplinkMessage.DecodedPayload)
|
||||
_, err3 := parser(uplinkMessage.UplinkMessage.FPort, uplinkMessage.UplinkMessage.DecodedPayload)
|
||||
if err3 != nil {
|
||||
lost(fmt.Sprintf("Model parser failed: %s", err3), message)
|
||||
return
|
||||
|
Reference in New Issue
Block a user