From 7b18b115c850f3292a7d804f4b62bf21e6030210 Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Fri, 30 Nov 2018 16:14:47 +0100 Subject: [PATCH] fix: send only to enabled remotes data --- pkg/httpcall/temperature.go | 36 ++++++++++++++++++---------------- pkg/temperature/temperature.go | 13 ++++++++---- 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/pkg/httpcall/temperature.go b/pkg/httpcall/temperature.go index afe70c7..de5581f 100644 --- a/pkg/httpcall/temperature.go +++ b/pkg/httpcall/temperature.go @@ -28,25 +28,27 @@ func SendTemperatures(temperatures []*stypes.Temperature, configDir string) erro temperaturesAsReader := bytes.NewReader(temperaturesAsBytes) for _, remote := range cnf.Remotes { - requestURL := fmt.Sprintf("%s%s", remote.Address, "/temperatures") - req, err := http.NewRequest("POST", requestURL, temperaturesAsReader) - if err != nil { - return err - } - - client := http.Client{} - resp, err := client.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - if resp.StatusCode < 200 || resp.StatusCode > 299 { - b, err := ioutil.ReadAll(resp.Body) + if remote.Enabled { + requestURL := fmt.Sprintf("%s%s", remote.Address, "/temperatures") + req, err := http.NewRequest("POST", requestURL, temperaturesAsReader) if err != nil { - return fmt.Errorf("Invalid HTTP-Statuscode - expected 200, got %d - can not read response body: %v", resp.StatusCode, err) + return err + } + + client := http.Client{} + resp, err := client.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + if resp.StatusCode < 200 || resp.StatusCode > 299 { + b, err := ioutil.ReadAll(resp.Body) + if err != nil { + return fmt.Errorf("Invalid HTTP-Statuscode - expected 200, got %d - can not read response body: %v", resp.StatusCode, err) + } + return fmt.Errorf("Invalid HTTP-Statuscode - expected 200, got %d: %v", resp.StatusCode, string(b)) } - return fmt.Errorf("Invalid HTTP-Statuscode - expected 200, got %d: %v", resp.StatusCode, string(b)) } } diff --git a/pkg/temperature/temperature.go b/pkg/temperature/temperature.go index d280f13..2ac5ef0 100644 --- a/pkg/temperature/temperature.go +++ b/pkg/temperature/temperature.go @@ -37,15 +37,20 @@ func Get(sensorNames []string, push bool, configDir string, w io.Writer) error { if len(sensorNames) > 0 { for _, sensorName := range sensorNames { for _, sensor := range cnf.Sensors { - if sensorName == *sensor.SensorName || - sensorName == sensor.SensorID || - sensorName == *sensor.WireID { + if sensorName == *sensor.SensorName && *sensor.SensorEnabled || + sensorName == sensor.SensorID && *sensor.SensorEnabled || + sensorName == *sensor.WireID && *sensor.SensorEnabled { sensors = append(sensors, sensor) } } } } else { - sensors = append(sensors, cnf.Sensors...) + for _, sensor := range cnf.Sensors { + if *sensor.SensorEnabled { + sensors = append(sensors, sensor) + } + } + } // check if sensor exists in cnf and has a wire id