set swarmalarm threshold to 750g, only send swarmalarm at daytime
This commit is contained in:
parent
f134736334
commit
f56c90fc13
|
|
@ -231,7 +231,7 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
|
||||||
multiply_by_2 = true
|
multiply_by_2 = true
|
||||||
}
|
}
|
||||||
w32 = int32(((float64(pl_128.W1-w1_0_real) / float64(pl_128.W1_C)) + (float64(pl_128.W2-w2_0_real) / float64(pl_128.W2_C))) / 5.0)
|
w32 = int32(((float64(pl_128.W1-w1_0_real) / float64(pl_128.W1_C)) + (float64(pl_128.W2-w2_0_real) / float64(pl_128.W2_C))) / 5.0)
|
||||||
if (multiply_by_2) {
|
if multiply_by_2 {
|
||||||
w32 = w32 * 2
|
w32 = w32 * 2
|
||||||
}
|
}
|
||||||
if w32 < 0 {
|
if w32 < 0 {
|
||||||
|
|
@ -278,6 +278,11 @@ func DecodePayload(s string, deveui string, devaddr string, lrrlat float32, lrrl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IsDayTime() bool {
|
||||||
|
hours, _, _ := time.Now().Clock()
|
||||||
|
return ((hours >= 6) && (hours <= 22))
|
||||||
|
}
|
||||||
|
|
||||||
func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint8, p uint8, w uint16, w1 int32, w2 int32, t int16, lrrlat float32, lrrlon float32, fw_version int32, w1_0 int32, w2_0 int32, w1_c float32, w2_c float32) {
|
func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint8, p uint8, w uint16, w1 int32, w2 int32, t int16, lrrlat float32, lrrlon float32, fw_version int32, w1_0 int32, w2_0 int32, w1_c float32, w2_c float32) {
|
||||||
// wir nehmen humidity als Referenz, wenn diese > 0 ist, dann ist es
|
// wir nehmen humidity als Referenz, wenn diese > 0 ist, dann ist es
|
||||||
// eine gueltige Messung
|
// eine gueltige Messung
|
||||||
|
|
@ -307,7 +312,7 @@ func WriteDatapoint(mytime int64, deveui string, devaddr string, v uint8, h uint
|
||||||
w_gram := uint32(w) * 5
|
w_gram := uint32(w) * 5
|
||||||
addValue(deveui, w_gram)
|
addValue(deveui, w_gram)
|
||||||
w_loss := getMaxValue(deveui) - w_gram
|
w_loss := getMaxValue(deveui) - w_gram
|
||||||
if w_loss > 500 {
|
if w_loss > 750 && IsDayTime() {
|
||||||
// Schwarmalarm!
|
// Schwarmalarm!
|
||||||
alertLogMap[deveui] = fmt.Sprintf("alert,deveui=%s reason=\"swarmalarm\",w=%di,w_loss=%di %d\n", deveui, w_gram, w_loss, mytime*60*1000*1000*1000)
|
alertLogMap[deveui] = fmt.Sprintf("alert,deveui=%s reason=\"swarmalarm\",w=%di,w_loss=%di %d\n", deveui, w_gram, w_loss, mytime*60*1000*1000*1000)
|
||||||
location, _ := time.LoadLocation("Europe/Zurich")
|
location, _ := time.LoadLocation("Europe/Zurich")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue