From 015f50b5f6f47bf3da0df689304cd7eda3cc1a21 Mon Sep 17 00:00:00 2001 From: Timo Schwaak <35019225+TimoS254@users.noreply.github.com> Date: Tue, 18 Jun 2024 08:26:20 +0200 Subject: [PATCH 1/2] Get forced Live and Excluded Homes from Environment Variable --- main.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/main.go b/main.go index 28a8087..cdd9fc5 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "log" "net/http" "os" + "strings" "time" "github.com/hasura/go-graphql-client" @@ -65,6 +66,20 @@ func init() { } else { userAgent = fmt.Sprintf("tibber-exporter/%s (https://github.com/terjesannum/tibber-exporter)", version.Version) } + + //Get Forcefully enabled realtime and excluded homes from env and append them to slice + liveFromEnv := strings.Split(os.Getenv("LIVE_HOMES"), ",") + if len(liveFromEnv) > 0 { + for _, liveHome := range liveFromEnv { + liveMeasurements = append(liveMeasurements, liveHome) + } + } + excludeFromEnv := strings.Split(os.Getenv("EXCLUDE_HOMES"), ",") + if len(excludeFromEnv) > 0 { + for _, excludeHome := range excludeFromEnv { + disableLiveMeasurements = append(disableLiveMeasurements, excludeHome) + } + } } func exit(msg string) { From a929b86f57e7794cf45f9502506bf5130a0b2de4 Mon Sep 17 00:00:00 2001 From: Timo Schwaak <35019225+TimoS254@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:13:34 +0200 Subject: [PATCH 2/2] Check that environment variable exists and substrings are not empty --- main.go | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/main.go b/main.go index cdd9fc5..ea2b29a 100644 --- a/main.go +++ b/main.go @@ -67,17 +67,23 @@ func init() { userAgent = fmt.Sprintf("tibber-exporter/%s (https://github.com/terjesannum/tibber-exporter)", version.Version) } - //Get Forcefully enabled realtime and excluded homes from env and append them to slice - liveFromEnv := strings.Split(os.Getenv("LIVE_HOMES"), ",") - if len(liveFromEnv) > 0 { - for _, liveHome := range liveFromEnv { - liveMeasurements = append(liveMeasurements, liveHome) + //Get homes with Forcefully enabled/disabled live Measurement Feature from Environment Variable and append them to slice + envEnabledHomes, envPresent := os.LookupEnv("TIBBER_LIVE_ENABLE_HOMES") + if envPresent { + envEnabledHomes := strings.Split(envEnabledHomes, ",") + for _, enabledHome := range envEnabledHomes { + if len(enabledHome) >= 1 { + liveMeasurements = append(liveMeasurements, enabledHome) + } } } - excludeFromEnv := strings.Split(os.Getenv("EXCLUDE_HOMES"), ",") - if len(excludeFromEnv) > 0 { - for _, excludeHome := range excludeFromEnv { - disableLiveMeasurements = append(disableLiveMeasurements, excludeHome) + envDisabledHomes, envPresent := os.LookupEnv("TIBBER_LIVE_DISABLE_HOMES") + if envPresent { + envDisabledHomes := strings.Split(envDisabledHomes, ",") + for _, disabledHome := range envDisabledHomes { + if len(disabledHome) >= 1 { + disableLiveMeasurements = append(disableLiveMeasurements, disabledHome) + } } } }