diff --git a/xaal.go b/xaal.go index e0d34d4713096c726e750a838a73a03fd17a1490..6088e193ea2f368cd9a7f1dadbe6601a832405df 100644 --- a/xaal.go +++ b/xaal.go @@ -135,7 +135,10 @@ func (dev *LinkQuality) update(payload map[string]interface{}) { value, err := convertToInt(payload[dev.Expose.Name]) if err == nil { value = value * 100 / 255 - dev.GetAttribute("level").SetValue(value) + oldValue := dev.GetAttribute("level").Value.(int) + if value > oldValue+5 || value < oldValue-5 { + dev.GetAttribute("level").SetValue(value) + } } }