mirror of
https://github.com/alexhopeoconnor/SunGather.git
synced 2026-10-04 02:48:12 +10:00
Merge pull request #75 from michbeck100/feature/add_default_value
Adds an optional default value for register values.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
version: 0.2.0
|
||||
version: 0.2.1
|
||||
vendor: Sungrow
|
||||
registers:
|
||||
- read:
|
||||
@@ -1144,6 +1144,7 @@ registers:
|
||||
value: "Restarting"
|
||||
- response: 0x4000
|
||||
value: "EMS Run"
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user