emu
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
2023-12-11 16:50:28 +01:00
parent 668fc20be9
commit b3de6182b3
4 changed files with 87 additions and 73 deletions

View File

@ -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