From 57c63adeb27df2533793e422e7821525287bb0a9 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Wed, 27 Dec 2023 12:00:02 +0100 Subject: [PATCH] handover FrmPayload to model parsers too --- .../handlers/ttn/models/draginoLdds75/draginoLdds75.go | 2 +- .../handlers/ttn/models/draginoLmds200/draginoLmds200.go | 2 +- src/udi/handlers/ttn/models/draginoLse01/draginoLse01.go | 2 +- .../ttn/models/emuProfIILoRaCfg1/emuProfIILoRaCfg1.go | 2 +- src/udi/handlers/ttn/ttn.go | 8 ++++++-- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/udi/handlers/ttn/models/draginoLdds75/draginoLdds75.go b/src/udi/handlers/ttn/models/draginoLdds75/draginoLdds75.go index 1077678..b96b7f6 100644 --- a/src/udi/handlers/ttn/models/draginoLdds75/draginoLdds75.go +++ b/src/udi/handlers/ttn/models/draginoLdds75/draginoLdds75.go @@ -26,7 +26,7 @@ type message struct { 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 { return fmt.Errorf("Unexpected fPort %d", fPort) } diff --git a/src/udi/handlers/ttn/models/draginoLmds200/draginoLmds200.go b/src/udi/handlers/ttn/models/draginoLmds200/draginoLmds200.go index ccd5c27..cd9707e 100644 --- a/src/udi/handlers/ttn/models/draginoLmds200/draginoLmds200.go +++ b/src/udi/handlers/ttn/models/draginoLmds200/draginoLmds200.go @@ -26,7 +26,7 @@ type message struct { 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 { return fmt.Errorf("Unexpected fPort %d", fPort) } diff --git a/src/udi/handlers/ttn/models/draginoLse01/draginoLse01.go b/src/udi/handlers/ttn/models/draginoLse01/draginoLse01.go index 1206e64..211cc13 100644 --- a/src/udi/handlers/ttn/models/draginoLse01/draginoLse01.go +++ b/src/udi/handlers/ttn/models/draginoLse01/draginoLse01.go @@ -24,7 +24,7 @@ type message struct { 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 { return fmt.Errorf("Unexpected fPort %d", fPort) } diff --git a/src/udi/handlers/ttn/models/emuProfIILoRaCfg1/emuProfIILoRaCfg1.go b/src/udi/handlers/ttn/models/emuProfIILoRaCfg1/emuProfIILoRaCfg1.go index a53604b..6c0cb3f 100644 --- a/src/udi/handlers/ttn/models/emuProfIILoRaCfg1/emuProfIILoRaCfg1.go +++ b/src/udi/handlers/ttn/models/emuProfIILoRaCfg1/emuProfIILoRaCfg1.go @@ -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) switch fPort { case 1: diff --git a/src/udi/handlers/ttn/ttn.go b/src/udi/handlers/ttn/ttn.go index 78bfd9c..7ada7ba 100644 --- a/src/udi/handlers/ttn/ttn.go +++ b/src/udi/handlers/ttn/ttn.go @@ -133,7 +133,7 @@ func (self *TTNHandler) Handle(message handler.MessageT) { 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 { case "emu-prof-ii-lora-cfg1": parser = emuProfIILoRaCfg1.Parse @@ -149,7 +149,11 @@ func (self *TTNHandler) Handle(message handler.MessageT) { } 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 { self.Lost("Model parser failed", err3, message) return