From 066a4895f7b5399664259777c17b0216ca39eff8 Mon Sep 17 00:00:00 2001 From: Michael Kotten Date: Fri, 19 Aug 2022 13:58:50 +0200 Subject: [PATCH 1/2] Adds an optional default value for register values. Will be used if datarange values don't match. --- SunGather/registers-sungrow.yaml | 3 ++- SunGather/sungather.py | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/SunGather/registers-sungrow.yaml b/SunGather/registers-sungrow.yaml index 358ffc5..3390fd9 100644 --- a/SunGather/registers-sungrow.yaml +++ b/SunGather/registers-sungrow.yaml @@ -1140,7 +1140,8 @@ registers: value: "Restarting" - response: 0x4000 value: "EMS Run" - models: ["SH5K-20","SH3K6","SH4K6","SH5K-V13","SH5K-30","SH3K6-30","SH4K6-30","SH5.0RS","SH3.6RS","SH4.6RS","SH6.0RS","SH10RT","SH8.0RT","SH6.0RT","SH5.0RT"] + default: "Unknown" + models: ["SH5K-20","SH3K6","SH4K6","SH5K-V13","SH5K-30","SH3K6-30","SH4K6-30","SH5.0RS","SH3.6RS","SH4.6RS","SH6.0RS","SH10RT","SH8.0RT","SH6.0RT","SH5.0RT"] - name: "running_state" level: 2 address: 13001 diff --git a/SunGather/sungather.py b/SunGather/sungather.py index 285d500..5ccf0d5 100644 --- a/SunGather/sungather.py +++ b/SunGather/sungather.py @@ -233,14 +233,18 @@ class SungrowInverter(): # We convert a system response to a human value if register.get('datarange'): + match = False for value in register.get('datarange'): if value['response'] == rr.registers[num]: register_value = value['value'] - - + match = True + if not match: + default = register.get('default') + logging.debug(f"No matching value for {register_value} in datarange of {register_name}, using default {default}") + register_value = default if register.get('accuracy'): - register_value = round(register_value * register.get('accuracy'),2) + register_value = round(register_value * register.get('accuracy'), 2) # Set the final register value with adjustments above included self.latest_scrape[register_name] = register_value From b63019b4c20abba00d83b4bf681e1d877259452f Mon Sep 17 00:00:00 2001 From: bohdan-s Date: Wed, 16 Nov 2022 14:03:38 +1100 Subject: [PATCH 2/2] Update registers-sungrow.yaml --- SunGather/registers-sungrow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SunGather/registers-sungrow.yaml b/SunGather/registers-sungrow.yaml index 3ae2f73..5fa42bf 100644 --- a/SunGather/registers-sungrow.yaml +++ b/SunGather/registers-sungrow.yaml @@ -1144,7 +1144,7 @@ registers: value: "Restarting" - response: 0x4000 value: "EMS Run" - default: "Unknown"======= + default: "Unknown" models: ["SH5K-20","SH3K6","SH4K6","SH5K-V13","SH5K-30","SH3K6-30","SH4K6-30","SH5.0RS","SH3.6RS","SH4.6RS","SH6.0RS","SH10RT","SH10RT-V112","SH8.0RT","SH6.0RT","SH5.0RT"] - name: "running_state" level: 2