handover FrmPayload to model parsers too

This commit is contained in:
2023-12-27 12:00:02 +01:00
parent e209598f9e
commit 57c63adeb2
5 changed files with 10 additions and 6 deletions

View File

@ -26,7 +26,7 @@ type message struct {
TempC_DS18B20 string `json:"TempC_DS18B20"` TempC_DS18B20 string `json:"TempC_DS18B20"`
} }
func Parse(fPort int, decodedPayload []byte, variables *map[string]database.VariableType, device *database.Device) error { func Parse(fPort int, decodedPayload []byte, _ string, variables *map[string]database.VariableType, device *database.Device) error {
if fPort != 2 { if fPort != 2 {
return fmt.Errorf("Unexpected fPort %d", fPort) return fmt.Errorf("Unexpected fPort %d", fPort)
} }

View File

@ -26,7 +26,7 @@ type message struct {
Dis2 int `json:"dis2"` Dis2 int `json:"dis2"`
} }
func Parse(fPort int, decodedPayload []byte, variables *map[string]database.VariableType, device *database.Device) error { func Parse(fPort int, decodedPayload []byte, _ string, variables *map[string]database.VariableType, device *database.Device) error {
if fPort != 2 { if fPort != 2 {
return fmt.Errorf("Unexpected fPort %d", fPort) return fmt.Errorf("Unexpected fPort %d", fPort)
} }

View File

@ -24,7 +24,7 @@ type message struct {
Water_SOIL string `json:"water_SOIL"` Water_SOIL string `json:"water_SOIL"`
} }
func Parse(fPort int, decodedPayload []byte, variables *map[string]database.VariableType, device *database.Device) error { func Parse(fPort int, decodedPayload []byte, _ string, variables *map[string]database.VariableType, device *database.Device) error {
if fPort != 2 { if fPort != 2 {
return fmt.Errorf("Unexpected fPort %d", fPort) return fmt.Errorf("Unexpected fPort %d", fPort)
} }

View File

@ -177,7 +177,7 @@ type emuMessage1 struct {
func Parse(fPort int, decodedPayload []byte, variables *map[string]database.VariableType, _ *database.Device) error { func Parse(fPort int, decodedPayload []byte, _ string, variables *map[string]database.VariableType, _ *database.Device) error {
//log.Printf("Parse input: %d, %s", fPort, decodedPayload) //log.Printf("Parse input: %d, %s", fPort, decodedPayload)
switch fPort { switch fPort {
case 1: case 1:

View File

@ -133,7 +133,7 @@ func (self *TTNHandler) Handle(message handler.MessageT) {
log.Printf("DeviceLabel: %s, DeviceType: %s", device.Label, device.DeviceType.ModelIdentifier) log.Printf("DeviceLabel: %s, DeviceType: %s", device.Label, device.DeviceType.ModelIdentifier)
var parser func(int, []byte, *map[string]database.VariableType, *database.Device) error var parser func(int, []byte, string, *map[string]database.VariableType, *database.Device) error
switch device.DeviceType.ModelIdentifier { switch device.DeviceType.ModelIdentifier {
case "emu-prof-ii-lora-cfg1": case "emu-prof-ii-lora-cfg1":
parser = emuProfIILoRaCfg1.Parse parser = emuProfIILoRaCfg1.Parse
@ -149,7 +149,11 @@ func (self *TTNHandler) Handle(message handler.MessageT) {
} }
measurement.Values = make(map[string]database.VariableType) measurement.Values = make(map[string]database.VariableType)
err3 := parser(uplinkMessage.UplinkMessage.FPort, uplinkMessage.UplinkMessage.DecodedPayload.Payload, &(measurement.Values), device) err3 := parser(uplinkMessage.UplinkMessage.FPort,
uplinkMessage.UplinkMessage.DecodedPayload.Payload,
uplinkMessage.UplinkMessage.FrmPayload,
&(measurement.Values),
device)
if err3 != nil { if err3 != nil {
self.Lost("Model parser failed", err3, message) self.Lost("Model parser failed", err3, message)
return return