From 7ee776d67a6a5bef7205f04bad90f6cdc79b9884 Mon Sep 17 00:00:00 2001 From: Pierrick Brossin Date: Mon, 27 Apr 2020 17:52:24 +0200 Subject: [PATCH] Fix interfaces with pointers (#7411) --- plugins/inputs/fibaro/fibaro.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/inputs/fibaro/fibaro.go b/plugins/inputs/fibaro/fibaro.go index 7def0ab09..62889cc8d 100644 --- a/plugins/inputs/fibaro/fibaro.go +++ b/plugins/inputs/fibaro/fibaro.go @@ -69,12 +69,12 @@ type Devices struct { Type string `json:"type"` Enabled bool `json:"enabled"` Properties struct { - BatteryLevel interface{} `json:"batteryLevel"` - Dead interface{} `json:"dead"` - Energy interface{} `json:"energy"` - Power interface{} `json:"power"` + BatteryLevel *string `json:"batteryLevel"` + Dead string `json:"dead"` + Energy *string `json:"energy"` + Power *string `json:"power"` Value interface{} `json:"value"` - Value2 interface{} `json:"value2"` + Value2 *string `json:"value2"` } `json:"properties"` } @@ -176,19 +176,19 @@ func (f *Fibaro) Gather(acc telegraf.Accumulator) error { fields := make(map[string]interface{}) if device.Properties.BatteryLevel != nil { - if fValue, err := strconv.ParseFloat(device.Properties.BatteryLevel.(string), 64); err == nil { + if fValue, err := strconv.ParseFloat(*device.Properties.BatteryLevel, 64); err == nil { fields["batteryLevel"] = fValue } } if device.Properties.Energy != nil { - if fValue, err := strconv.ParseFloat(device.Properties.Energy.(string), 64); err == nil { + if fValue, err := strconv.ParseFloat(*device.Properties.Energy, 64); err == nil { fields["energy"] = fValue } } if device.Properties.Power != nil { - if fValue, err := strconv.ParseFloat(device.Properties.Power.(string), 64); err == nil { + if fValue, err := strconv.ParseFloat(*device.Properties.Power, 64); err == nil { fields["power"] = fValue } } @@ -208,7 +208,7 @@ func (f *Fibaro) Gather(acc telegraf.Accumulator) error { } if device.Properties.Value2 != nil { - if fValue, err := strconv.ParseFloat(device.Properties.Value2.(string), 64); err == nil { + if fValue, err := strconv.ParseFloat(*device.Properties.Value2, 64); err == nil { fields["value2"] = fValue } }