fix bugs
This commit is contained in:
parent
bebcfbf846
commit
16dc34b858
|
|
@ -1,2 +1,3 @@
|
||||||
lorahandler
|
lorahandler
|
||||||
lorahandler.log*
|
lorahandler.log*
|
||||||
|
logs/*
|
||||||
|
|
|
||||||
|
|
@ -203,21 +203,37 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
|
||||||
// the second measurement as first..., the same for humidity, which is usually too low...
|
// the second measurement as first..., the same for humidity, which is usually too low...
|
||||||
t := pl_1.T
|
t := pl_1.T
|
||||||
t = t + int16(pl_1.TC1)
|
t = t + int16(pl_1.TC1)
|
||||||
WriteDatapoint(tfp, deveui, devaddr, pl_1.Vbat, pl_1.H2, pl_1.P1, pl_1.W1, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 0 {
|
||||||
|
WriteDatapoint(tfp, deveui, devaddr, pl_1.Vbat, pl_1.H2, pl_1.P1, pl_1.W1, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
//t = t + int16(pl_1.TC1)
|
//t = t + int16(pl_1.TC1)
|
||||||
WriteDatapoint(tfp+(step), deveui, devaddr, 0, pl_1.H2, pl_1.P2, pl_1.W2, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 1 {
|
||||||
|
WriteDatapoint(tfp+(step), deveui, devaddr, 0, pl_1.H2, pl_1.P2, pl_1.W2, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
t = t + int16(pl_1.TC2)
|
t = t + int16(pl_1.TC2)
|
||||||
WriteDatapoint(tfp+(2*step), deveui, devaddr, 0, pl_1.H3, pl_1.P3, pl_1.W3, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 2 {
|
||||||
|
WriteDatapoint(tfp+(2*step), deveui, devaddr, 0, pl_1.H3, pl_1.P3, pl_1.W3, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
t = t + int16(pl_1.TC3)
|
t = t + int16(pl_1.TC3)
|
||||||
WriteDatapoint(tfp+(3*step), deveui, devaddr, 0, pl_1.H4, pl_1.P4, pl_1.W4, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 3 {
|
||||||
|
WriteDatapoint(tfp+(3*step), deveui, devaddr, 0, pl_1.H4, pl_1.P4, pl_1.W4, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
t = t + int16(pl_1.TC4)
|
t = t + int16(pl_1.TC4)
|
||||||
WriteDatapoint(tfp+(4*step), deveui, devaddr, 0, pl_1.H5, pl_1.P5, pl_1.W5, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 4 {
|
||||||
|
WriteDatapoint(tfp+(4*step), deveui, devaddr, 0, pl_1.H5, pl_1.P5, pl_1.W5, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
t = t + int16(pl_1.TC5)
|
t = t + int16(pl_1.TC5)
|
||||||
WriteDatapoint(tfp+(5*step), deveui, devaddr, 0, pl_1.H6, pl_1.P6, pl_1.W6, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 5 {
|
||||||
|
WriteDatapoint(tfp+(5*step), deveui, devaddr, 0, pl_1.H6, pl_1.P6, pl_1.W6, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
t = t + int16(pl_1.TC6)
|
t = t + int16(pl_1.TC6)
|
||||||
WriteDatapoint(tfp+(6*step), deveui, devaddr, 0, pl_1.H7, pl_1.P7, pl_1.W7, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 6 {
|
||||||
|
WriteDatapoint(tfp+(6*step), deveui, devaddr, 0, pl_1.H7, pl_1.P7, pl_1.W7, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
t = t + int16(pl_1.TC7)
|
t = t + int16(pl_1.TC7)
|
||||||
WriteDatapoint(tfp+(7*step), deveui, devaddr, 0, pl_1.H8, pl_1.P8, pl_1.W8, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
if valid_measurements > 7 {
|
||||||
|
WriteDatapoint(tfp+(7*step), deveui, devaddr, 0, pl_1.H8, pl_1.P8, pl_1.W8, 0, 0, t, lrrlat, lrrlon, 0, 0, 0, 0, 0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if s[0:2] == "80" {
|
} else if s[0:2] == "80" {
|
||||||
fmt.Printf("{\n")
|
fmt.Printf("{\n")
|
||||||
|
|
@ -295,7 +311,7 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
|
||||||
deleteValues(deveui)
|
deleteValues(deveui)
|
||||||
}
|
}
|
||||||
if val2, ok2 := alertLogMap[deveui]; ok2 {
|
if val2, ok2 := alertLogMap[deveui]; ok2 {
|
||||||
WriteStringToFile(val2)
|
WriteStringToFile(val2, deveui)
|
||||||
delete(alertLogMap, deveui)
|
delete(alertLogMap, deveui)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -329,7 +345,7 @@ func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint
|
||||||
}
|
}
|
||||||
s = fmt.Sprintf("measurement,deveui=%s devaddr=\"%s\",%sh=%di,p=%di,w=%di,t=%.1f,lrrlat=%f,lrrlon=%f%s %d\n", deveui, devaddr, sv, h, int32(p)+825, uint32(w)*5, float32(t)/10, lrrlat, lrrlon, sfw, mytime*60*1000*1000*1000)
|
s = fmt.Sprintf("measurement,deveui=%s devaddr=\"%s\",%sh=%di,p=%di,w=%di,t=%.1f,lrrlat=%f,lrrlon=%f%s %d\n", deveui, devaddr, sv, h, int32(p)+825, uint32(w)*5, float32(t)/10, lrrlat, lrrlon, sfw, mytime*60*1000*1000*1000)
|
||||||
|
|
||||||
WriteStringToFile(s)
|
WriteStringToFile(s, deveui)
|
||||||
|
|
||||||
w_gram := uint32(w) * 5
|
w_gram := uint32(w) * 5
|
||||||
addValue(deveui, w_gram)
|
addValue(deveui, w_gram)
|
||||||
|
|
@ -343,7 +359,7 @@ func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func WriteStringToFile(s string) {
|
func WriteStringToFile(s string, deveui string) {
|
||||||
n, err := file.WriteString(s)
|
n, err := file.WriteString(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
|
|
@ -353,6 +369,17 @@ func WriteStringToFile(s string) {
|
||||||
fmt.Println("failed to write data")
|
fmt.Println("failed to write data")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Also write to individual files
|
||||||
|
datestr := time.Now().Format("2006-01")
|
||||||
|
individual_file := "/home/beieli/lorahandler/logs/" + deveui + "-" + datestr + ".log"
|
||||||
|
fi, err := os.OpenFile(individual_file, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
defer fi.Close()
|
||||||
|
fi.WriteString(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Convert2Hex(payload_raw string) (string, error) {
|
func Convert2Hex(payload_raw string) (string, error) {
|
||||||
|
|
|
||||||
|
|
@ -121,8 +121,8 @@ func addValue(deveui string, value uint32) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// we set an expiration time of one hour
|
// we set an expiration time of three hours
|
||||||
_, err3 := conn.Do("EXPIRE", lastvaluesPrefix+deveui, 3600)
|
_, err3 := conn.Do("EXPIRE", lastvaluesPrefix+deveui, 10800)
|
||||||
|
|
||||||
if err3 != nil {
|
if err3 != nil {
|
||||||
return
|
return
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue