Repository: adamcharnock/mate3 (language: python)

Issue:
Store raw registers in field value
Might be useful for debugging (and exporting to JSON etc.) if the raw bytes were visible.

- [x] Add new `_registers` attribute or similar and ensure it's populated.
- [x] Add these registers as hex bytes or similar to the JSON output. (And the address too, if that isn't already.)


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 859f275..86b12f4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,13 +5,12 @@ name: Python package
 
 on:
   push:
-    branches: [ $default-branch ]
+    branches: [ master ]
   pull_request:
-    branches: [ $default-branch ]
+    branches: [ master ]
 
 jobs:
   build:
-
     runs-on: ubuntu-latest
     strategy:
       matrix:
@@ -23,23 +22,33 @@ jobs:
       uses: actions/setup-python@v2
       with:
         python-version: ${{ matrix.python-version }}
-    - name: Install dependencies
-      run: |
-        python -m pip install --upgrade pip
-        python -m pip install poetry
-        poetry install
+    - name: Install Poetry
+      uses: snok/install-poetry@v1.1.1
+      with:
+        virtualenvs-create: true
+        virtualenvs-in-project: false
+        virtualenvs-path: ~/.venv
+    - name: Load cached poetry venv
+      id: cache
+      uses: actions/cache@v2
+      with:
+        path: ~/.venv
+        key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
+    - name: Install poetry dependencies if required
+      if: steps.cache.outputs.cache-hit != 'true'
+      run: poetry install
     - name: Lint with flake8
       run: |
         # stop the build if there are Python syntax errors or undefined names
-        flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
+        poetry run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
         # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide.
         # Ignore models.py for now, as it's got lots of uber-long lines
-        flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude=models.py
+        poetry run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude=models.py
         # Now only do models.py, ignoring line length
-        flake8 mate3/sunspec/models.py --ignore=E501 --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
+        poetry run flake8 mate3/sunspec/models.py --ignore=E501 --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
     - name: Check black has been run (excluding auto-generated code)
       run: |
-        black . --check --exclude='setup.py|models.py'
+        poetry run black . --check --exclude='setup.py|models.py'
     - name: Test with pytest
       run: |
-        pytest
+        poetry run pytest
diff --git a/mate3/api.py b/mate3/api.py
index 04c0f7c..e126501 100644
--- a/mate3/api.py
+++ b/mate3/api.py
@@ -171,11 +171,23 @@ def _read_model(self, device_address: int, first: bool, all_reads: AllModelReads
                         )
                     implemented, raw_value = field.from_registers(field_registers)
                     model_reads.add(
-                        field.name, raw_value=raw_value, implemented=implemented, address=address, time=read_time
+                        field_name=field.name,
+                        registers=field_registers,
+                        raw_value=raw_value,
+                        implemented=implemented,
+                        address=address,
+                        time=read_time,
                     )
                 except Exception as e:
                     logger.warning(f"Error reading field {field.name} - so setting as not implemented. Message: {e}")
-                    model_reads.add(field.name, raw_value=None, implemented=False, address=address, time=read_time)
+                    model_reads.add(
+                        field_name=field.name,
+                        registers=[],
+                        raw_value=None,
+                        implemented=False,
+                        address=address,
+                        time=read_time,
+                    )
                 offset += field.size
 
         return model, model_reads
diff --git a/mate3/devices.py b/mate3/devices.py
index 3f621ca..0b9374c 100644
--- a/mate3/devices.py
+++ b/mate3/devices.py
@@ -313,6 +313,7 @@ def _update_model_and_config(
                 for field_name, field_read in reads.items():
                     field_value = getattr(device_val, field_name)
                     field_value._raw_value = field_read.raw_value
+                    field_value._registers = field_read.registers
                     field_value._implemented = field_read.implemented
                     field_value._last_read = field_read.time
 
@@ -337,6 +338,7 @@ def _create_new_model_values(
                 client=self._client,
                 field=field,
                 address=address,
+                registers=[],
                 scale_factor=None,
                 raw_value=None,
                 implemented=True,
diff --git a/mate3/field_values.py b/mate3/field_values.py
index 24d7927..c0b5cee 100644
--- a/mate3/field_values.py
+++ b/mate3/field_values.py
@@ -1,6 +1,6 @@
 import dataclasses as dc
 from datetime import datetime
-from typing import Any, Iterable, Optional
+from typing import Any, Iterable, Optional, Tuple
 
 from loguru import logger
 
@@ -20,6 +20,7 @@ def __init__(
         field: Field,
         scale_factor: Optional["FieldValue"],
         address: int,
+        registers: Iterable[int],
         raw_value: Any,
         implemented: bool,
         read_time: datetime,
@@ -28,6 +29,7 @@ def __init__(
         self.field = field
         self._scale_factor = scale_factor
         self._address = address
+        self._registers = tuple(registers)  # immutability is nice
         self._raw_value = raw_value
         self._implemented = implemented
         self._last_read = read_time
@@ -79,6 +81,10 @@ def scale_factor(self) -> Optional[int]:
     def address(self) -> int:
         return self._address
 
+    @property
+    def registers(self) -> Tuple[int]:
+        return self._registers
+
     @property
     def raw_value(self) -> Any:
         if self.field.mode not in (Mode.R, Mode.RW):
@@ -163,6 +169,20 @@ def read(self):
         self._implemented, self._raw_value = self.field.from_registers(registers)
         self._last_read = read_time
 
+    def to_dict(self):
+        return {
+            "implemented": self.implemented,
+            "scale_factor": self.scale_factor.value if self.scale_factor is not None else None,
+            "address": self.address,
+            "registers": self.registers,
+            "raw_value": self.raw_value
+            if self.raw_value is None or isinstance(self.raw_value, (str, int, float))
+            else repr(self.raw_value),
+            "value": self.value
+            if self.value is None or isinstance(self.value, (str, int, float))
+            else repr(self.value),
+        }
+
 
 @dc.dataclass
 class ModelValues:
@@ -173,7 +193,7 @@ class ModelValues:
     model: Model = dc.field(metadata={"field": False})
     address: Optional[int] = dc.field(metadata={"field": False})
 
-    def fields(self, modes: Optional[Iterable[Mode]] = None):
+    def fields(self, modes: Optional[Iterable[Mode]] = None) -> Iterable[FieldValue]:
         """
         Often we want to loop through all the fields for a model - ignoring those that aren't 'real' fields such as
         _address above, or the 'config' field that often gets added when a device has the 'realtime' and 'config'
diff --git a/mate3/main.py b/mate3/main.py
index 479be42..3f379ea 100644
--- a/mate3/main.py
+++ b/mate3/main.py
@@ -44,16 +44,7 @@ def read(client, args):
             name = device.__class__.__name__
             values = {}
             for value in device.fields([Mode.R, Mode.RW]):
-                values[value.field.name] = {
-                    "implemented": value.implemented,
-                    "scale_factor": value.scale_factor.value if value.scale_factor is not None else None,
-                    "raw_value": value.raw_value
-                    if value.raw_value is None or isinstance(value.raw_value, (str, int, float))
-                    else repr(value.raw_value),
-                    "value": value.value
-                    if value.value is None or isinstance(value.value, (str, int, float))
-                    else repr(value.value),
-                }
+                values[value.field.name] = value.to_dict()
             devices.append({"name": name, "address": device.address, "values": values})
         indent = None if args.format == "json" else 4
         print(json.dumps(devices, indent=indent))
diff --git a/mate3/read.py b/mate3/read.py
index 7b5757d..a4c0eca 100644
--- a/mate3/read.py
+++ b/mate3/read.py
@@ -1,6 +1,6 @@
 import dataclasses as dc
 from datetime import datetime
-from typing import Any
+from typing import Any, List
 
 
 @dc.dataclass
@@ -9,6 +9,7 @@ class FieldRead:
     implemented: bool
     address: int
     time: datetime
+    registers: List[int]
 
 
 class ModelRead(dict):
@@ -16,8 +17,10 @@ class ModelRead(dict):
     A class for storing all the reads for a given model for a given device.
     """
 
-    def add(self, field_name, raw_value, implemented, address, time):
-        self[field_name] = FieldRead(raw_value=raw_value, implemented=implemented, address=address, time=time)
+    def add(self, field_name, registers, raw_value, implemented, address, time):
+        self[field_name] = FieldRead(
+            registers=registers, raw_value=raw_value, implemented=implemented, address=address, time=time
+        )
 
 
 class AllModelReads(dict):
diff --git a/mate3/sunspec/fields.py b/mate3/sunspec/fields.py
index f1adf36..21ff9d7 100644
--- a/mate3/sunspec/fields.py
+++ b/mate3/sunspec/fields.py
@@ -277,12 +277,12 @@ def _to_registers(self, value):
         return (num >> 16, num & 0xFFFF)
 
 
-class BitfieldDescriptionMixin:
+class DescribedIntFlag(IntFlag):
     """
-    A mixin that allows us to define something as
+    An IntFlag we can use like this:
 
         @unique
-        class MyFlags(BitfieldDescriptionMixin, IntFlag):
+        class MyFlags(DescribedIntFlag):
             a = 1, "a description"
             b = 2, "b description"
 
diff --git a/mate3/sunspec/model_base.py b/mate3/sunspec/model_base.py
index 6843cce..436c77a 100644
--- a/mate3/sunspec/model_base.py
+++ b/mate3/sunspec/model_base.py
@@ -11,7 +11,7 @@ class Model:
     @classmethod
     def fields(cls, modes: Optional[Iterable[Mode]] = None):
         """
-        Often we want to loop through all the fields for a model - ignoring those that aren't 'real' fields such as 
+        Often we want to loop through all the fields for a model - ignoring those that aren't 'real' fields such as
         _address above, or the 'config' field that often gets added when a device has the 'realtime' and 'config'
         models.
         """
diff --git a/mate3/sunspec/models.py b/mate3/sunspec/models.py
index 41ae414..dc19902 100644
--- a/mate3/sunspec/models.py
+++ b/mate3/sunspec/models.py
@@ -12,14 +12,14 @@
     EnumInt16Field,
     Bit16Field,
     Bit32Field,
-    BitfieldDescriptionMixin,
+    DescribedIntFlag,
     AddressField
 )
 from mate3.sunspec.model_base import Model
 
 
 @unique
-class CCconfigFaultsFlags(BitfieldDescriptionMixin, IntFlag):
+class CCconfigFaultsFlags(DescribedIntFlag):
     fault_input_active = 16, "EX80 Fault Input Active"
     shorted_battery_temperature_sensor = 32, "Shorted Battery Temp sensor"
     over_temperature = 64, "Over Tempurature Fault"
@@ -27,13 +27,13 @@ class CCconfigFaultsFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class FNStatusFlags(BitfieldDescriptionMixin, IntFlag):
+class FNStatusFlags(DescribedIntFlag):
     relay_status = 1, "AUX Relay Enabled (Unset means 'AUX Relay Disabled')"
     charged_parms = 2, "Charged Parms Met (Unset means 'Charged Parms Not Met')"
 
 
 @unique
-class FXErrorFlags(BitfieldDescriptionMixin, IntFlag):
+class FXErrorFlags(DescribedIntFlag):
     low_vac = 1, "Low AC output voltage"
     stacking_error = 2, "Stacking error"
     over_temperature = 4, "Over temperature error"
@@ -45,7 +45,7 @@ class FXErrorFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class FXSellStatusFlags(BitfieldDescriptionMixin, IntFlag):
+class FXSellStatusFlags(DescribedIntFlag):
     ac_input_frequency_too_high = 1, "AC input frequency too high"
     ac_input_frequency_too_low = 2, "AC input frequency too low"
     ac_input_voltage_too_low = 4, "AC input voltage too low"
@@ -57,7 +57,7 @@ class FXSellStatusFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class FXWarningFlags(BitfieldDescriptionMixin, IntFlag):
+class FXWarningFlags(DescribedIntFlag):
     ac_input_frequency_too_high = 1, "AC input frequency too high"
     ac_input_frequency_too_low = 2, "AC input frequency too low"
     ac_input_voltage_too_low = 4, "AC input voltage too low"
@@ -69,7 +69,7 @@ class FXWarningFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class GSSingleErrorFlags(BitfieldDescriptionMixin, IntFlag):
+class GSSingleErrorFlags(DescribedIntFlag):
     low_vac = 1, "Low AC output voltage"
     stacking_error = 2, "Stacking error"
     over_temperature = 4, "Over temperature error"
@@ -81,7 +81,7 @@ class GSSingleErrorFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class GSSingleSellStatusFlags(BitfieldDescriptionMixin, IntFlag):
+class GSSingleSellStatusFlags(DescribedIntFlag):
     ac_input_frequency_too_high = 1, "AC input frequency too high"
     ac_input_frequency_too_low = 2, "AC input frequency too low"
     ac_input_voltage_too_low = 4, "AC input voltage too low"
@@ -92,7 +92,7 @@ class GSSingleSellStatusFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class GSSingleWarningFlags(BitfieldDescriptionMixin, IntFlag):
+class GSSingleWarningFlags(DescribedIntFlag):
     ac_input_frequency_too_high = 1, "AC input frequency too high"
     ac_input_frequency_too_low = 2, "AC input frequency too low"
     ac_input_voltage_too_low = 4, "AC input voltage too low"
@@ -104,7 +104,7 @@ class GSSingleWarningFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class GSSplitErrorFlags(BitfieldDescriptionMixin, IntFlag):
+class GSSplitErrorFlags(DescribedIntFlag):
     low_vac = 1, "Low AC output voltage"
     stacking_error = 2, "Stacking error"
     over_temperature = 4, "Over temperature error"
@@ -116,7 +116,7 @@ class GSSplitErrorFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class GSSplitSellStatusFlags(BitfieldDescriptionMixin, IntFlag):
+class GSSplitSellStatusFlags(DescribedIntFlag):
     ac_input_frequency_too_high = 1, "AC input frequency too high"
     ac_input_frequency_too_low = 2, "AC input frequency too low"
     ac_input_voltage_too_low = 4, "AC input voltage too low"
@@ -127,7 +127,7 @@ class GSSplitSellStatusFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class GSSplitWarningFlags(BitfieldDescriptionMixin, IntFlag):
+class GSSplitWarningFlags(DescribedIntFlag):
     ac_input_frequency_too_high = 1, "AC input frequency too high"
     ac_input_frequency_too_low = 2, "AC input frequency too low"
     ac_input_voltage_too_low = 4, "AC input voltage too low"
@@ -139,7 +139,7 @@ class GSSplitWarningFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class IEvent1Flags(BitfieldDescriptionMixin, IntFlag):
+class IEvent1Flags(DescribedIntFlag):
     battery_voltage = 2, "High Battery Voltage (Unset means 'Normal Battery Voltage')"
     ac_input = 4, "AC Input Disconnected (Unset means 'AC Input Connected')"
     inverter = 64, "Inverter Off (Unset means 'Inverter On')"
@@ -152,7 +152,7 @@ class IEvent1Flags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class OBControlStatusFlags(BitfieldDescriptionMixin, IntFlag):
+class OBControlStatusFlags(DescribedIntFlag):
     charging_absorb = 1, "Absorb Charging"
     float_charging = 2, "Float Charging"
     inverter_ac_input = 4, "Inverter AC Input Use (Unset means 'Inverter AC Input Drop')"
@@ -171,7 +171,7 @@ class OBControlStatusFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class OutBackErrorFlags(BitfieldDescriptionMixin, IntFlag):
+class OutBackErrorFlags(DescribedIntFlag):
     write_high_limit = 1, "High limit last write"
     write_low_limit = 2, "Low limit last write"
     write_invalid = 4, "Last write invalid"
@@ -190,12 +190,12 @@ class OutBackErrorFlags(BitfieldDescriptionMixin, IntFlag):
 
 
 @unique
-class OutBackStatusFlags(BitfieldDescriptionMixin, IntFlag):
+class OutBackStatusFlags(DescribedIntFlag):
     out_back_status_firmware_update_complete = 1, "Firmware Update Complete"
 
 
 @unique
-class OutBackUpdateDeviceFirmwarePortFlags(BitfieldDescriptionMixin, IntFlag):
+class OutBackUpdateDeviceFirmwarePortFlags(DescribedIntFlag):
     portnumber = 255, "Port Number"
     update_percentage = 65280, "Firmware Update Percentage"
 
diff --git a/mate3/sunspec/scripts/code_generator.py b/mate3/sunspec/scripts/code_generator.py
index 1655bfb..bc7ad3e 100644
--- a/mate3/sunspec/scripts/code_generator.py
+++ b/mate3/sunspec/scripts/code_generator.py
@@ -348,8 +348,8 @@ def _sanitise_rows(self, rows):
         """
         Sometimes the 'off' value is specified in the table too e.g.
             Virtual Name            Mask    Value   Description
-            OB_Inverter_AC_Input	0x0004	0x0004	Inverter AC Input Use
-            OB_Inverter_AC_Input	0x0004	0x0000	Inverter AC Input Drop
+            OB_Inverter_AC_Input    0x0004  x0004   Inverter AC Input Use
+            OB_Inverter_AC_Input    0x0004  0x0000  Inverter AC Input Drop
         In this case, we only keep the 'on' one (where value is !0) and then update the description of value + mask.
         """
         on_by_name = {}
@@ -384,7 +384,7 @@ def python_name(self):
 
     def generate_definition(self):
         class_name = self.python_name
-        code = f"@unique\nclass {class_name}(BitfieldDescriptionMixin, IntFlag):\n"
+        code = f"@unique\nclass {class_name}(DescribedIntFlag):\n"
         for row in self.rows:
             mask = int(row.mask, base=16)
             code += f'    {row.python_name} = {mask}, "{row.description}"\n'
@@ -525,7 +525,7 @@ def main():
     EnumInt16Field,
     Bit16Field,
     Bit32Field,
-    BitfieldDescriptionMixin,
+    DescribedIntFlag,
     AddressField
 )
 from mate3.sunspec.model_base import Model
diff --git a/poetry.lock b/poetry.lock
index ca2b6ae..9fc6ff3 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -57,7 +57,7 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>
 
 [[package]]
 name = "black"
-version = "18.9b0"
+version = "20.8b1"
 description = "The uncompromising code formatter."
 category = "dev"
 optional = false
@@ -65,12 +65,17 @@ python-versions = ">=3.6"
 
 [package.dependencies]
 appdirs = "*"
-attrs = ">=17.4.0"
-click = ">=6.5"
-toml = ">=0.9.4"
+click = ">=7.1.2"
+mypy-extensions = ">=0.4.3"
+pathspec = ">=0.6,<1"
+regex = ">=2020.1.8"
+toml = ">=0.10.1"
+typed-ast = ">=1.4.0"
+typing-extensions = ">=3.7.4"
 
 [package.extras]
-d = ["aiohttp (>=3.3.2)"]
+colorama = ["colorama (>=0.4.3)"]
+d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
 
 [[package]]
 name = "cerberus"
@@ -482,6 +487,14 @@ category = "dev"
 optional = false
 python-versions = ">=3.6"
 
+[[package]]
+name = "mypy-extensions"
+version = "0.4.3"
+description = "Experimental type system extensions for programs checked with the mypy typechecker."
+category = "dev"
+optional = false
+python-versions = "*"
+
 [[package]]
 name = "openpyxl"
 version = "3.0.5"
@@ -505,6 +518,14 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 [package.dependencies]
 pyparsing = ">=2.0.2"
 
+[[package]]
+name = "pathspec"
+version = "0.8.1"
+description = "Utility library for gitignore style pattern matching of file paths."
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
 [[package]]
 name = "pexpect"
 version = "4.8.0"
@@ -656,6 +677,14 @@ python-versions = ">=3.5"
 [package.dependencies]
 pytest = ">=5.3.0"
 
+[[package]]
+name = "regex"
+version = "2020.11.13"
+description = "Alternative regular expression module, to replace re."
+category = "dev"
+optional = false
+python-versions = "*"
+
 [[package]]
 name = "requests"
 version = "2.25.1"
@@ -729,6 +758,14 @@ category = "dev"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
+[[package]]
+name = "typed-ast"
+version = "1.4.2"
+description = "a fork of Python 2 and 3 ast modules with type comment support"
+category = "dev"
+optional = false
+python-versions = "*"
+
 [[package]]
 name = "typing-extensions"
 version = "3.7.4.3"
@@ -797,7 +834,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.7"
-content-hash = "ad6e572e64d870ea22c31445edbd5441fe715ab645536ab517844997d9040f50"
+content-hash = "1345585b6b9bfde8f033bf7b9c5d6d8fb7de8a55e95450bda3bc1c60ffa6825a"
 
 [metadata.files]
 aiohttp = [
@@ -856,8 +893,7 @@ attrs = [
     {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"},
 ]
 black = [
-    {file = "black-18.9b0-py36-none-any.whl", hash = "sha256:817243426042db1d36617910df579a54f1afd659adb96fc5032fcf4b36209739"},
-    {file = "black-18.9b0.tar.gz", hash = "sha256:e030a9a28f542debc08acceb273f228ac422798e5215ba2a791a6ddeaaca22a5"},
+    {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"},
 ]
 cerberus = [
     {file = "Cerberus-1.3.2.tar.gz", hash = "sha256:302e6694f206dd85cb63f13fd5025b31ab6d38c99c50c6d769f8fa0b0f299589"},
@@ -1067,6 +1103,10 @@ multidict = [
     {file = "multidict-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:7df80d07818b385f3129180369079bd6934cf70469f99daaebfac89dca288359"},
     {file = "multidict-5.1.0.tar.gz", hash = "sha256:25b4e5f22d3a37ddf3effc0710ba692cfc792c2b9edfb9c05aefe823256e84d5"},
 ]
+mypy-extensions = [
+    {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
+    {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
+]
 openpyxl = [
     {file = "openpyxl-3.0.5-py2.py3-none-any.whl", hash = "sha256:f7d666b569f729257082cf7ddc56262431878f602dcc2bc3980775c59439cdab"},
     {file = "openpyxl-3.0.5.tar.gz", hash = "sha256:18e11f9a650128a12580a58e3daba14e00a11d9e907c554a17ea016bf1a2c71b"},
@@ -1075,6 +1115,10 @@ packaging = [
     {file = "packaging-20.8-py2.py3-none-any.whl", hash = "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858"},
     {file = "packaging-20.8.tar.gz", hash = "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"},
 ]
+pathspec = [
+    {file = "pathspec-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"},
+    {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"},
+]
 pexpect = [
     {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
     {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
@@ -1126,6 +1170,49 @@ pytest-subtests = [
     {file = "pytest-subtests-0.4.0.tar.gz", hash = "sha256:8d9e2c1d1dce11f7b7d2c9d09202ebfc7757b7ff0cac9b72ad328edfe7ee037b"},
     {file = "pytest_subtests-0.4.0-py3-none-any.whl", hash = "sha256:3755a42b7416b99d90bb3cb2bd1ac4767d5e4b93b8853cb3565200a4e3a10b7e"},
 ]
+regex = [
+    {file = "regex-2020.11.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85"},
+    {file = "regex-2020.11.13-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a63f1a07932c9686d2d416fb295ec2c01ab246e89b4d58e5fa468089cab44b70"},
+    {file = "regex-2020.11.13-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6e4b08c6f8daca7d8f07c8d24e4331ae7953333dbd09c648ed6ebd24db5a10ee"},
+    {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:bba349276b126947b014e50ab3316c027cac1495992f10e5682dc677b3dfa0c5"},
+    {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:56e01daca75eae420bce184edd8bb341c8eebb19dd3bce7266332258f9fb9dd7"},
+    {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:6a8ce43923c518c24a2579fda49f093f1397dad5d18346211e46f134fc624e31"},
+    {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab79fcb02b930de09c76d024d279686ec5d532eb814fd0ed1e0051eb8bd2daa"},
+    {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:9801c4c1d9ae6a70aeb2128e5b4b68c45d4f0af0d1535500884d644fa9b768c6"},
+    {file = "regex-2020.11.13-cp36-cp36m-win32.whl", hash = "sha256:49cae022fa13f09be91b2c880e58e14b6da5d10639ed45ca69b85faf039f7a4e"},
+    {file = "regex-2020.11.13-cp36-cp36m-win_amd64.whl", hash = "sha256:749078d1eb89484db5f34b4012092ad14b327944ee7f1c4f74d6279a6e4d1884"},
+    {file = "regex-2020.11.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b2f4007bff007c96a173e24dcda236e5e83bde4358a557f9ccf5e014439eae4b"},
+    {file = "regex-2020.11.13-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:38c8fd190db64f513fe4e1baa59fed086ae71fa45083b6936b52d34df8f86a88"},
+    {file = "regex-2020.11.13-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5862975b45d451b6db51c2e654990c1820523a5b07100fc6903e9c86575202a0"},
+    {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:262c6825b309e6485ec2493ffc7e62a13cf13fb2a8b6d212f72bd53ad34118f1"},
+    {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bafb01b4688833e099d79e7efd23f99172f501a15c44f21ea2118681473fdba0"},
+    {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e32f5f3d1b1c663af7f9c4c1e72e6ffe9a78c03a31e149259f531e0fed826512"},
+    {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3bddc701bdd1efa0d5264d2649588cbfda549b2899dc8d50417e47a82e1387ba"},
+    {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02951b7dacb123d8ea6da44fe45ddd084aa6777d4b2454fa0da61d569c6fa538"},
+    {file = "regex-2020.11.13-cp37-cp37m-win32.whl", hash = "sha256:0d08e71e70c0237883d0bef12cad5145b84c3705e9c6a588b2a9c7080e5af2a4"},
+    {file = "regex-2020.11.13-cp37-cp37m-win_amd64.whl", hash = "sha256:1fa7ee9c2a0e30405e21031d07d7ba8617bc590d391adfc2b7f1e8b99f46f444"},
+    {file = "regex-2020.11.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:baf378ba6151f6e272824b86a774326f692bc2ef4cc5ce8d5bc76e38c813a55f"},
+    {file = "regex-2020.11.13-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e3faaf10a0d1e8e23a9b51d1900b72e1635c2d5b0e1bea1c18022486a8e2e52d"},
+    {file = "regex-2020.11.13-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a11a3e90bd9901d70a5b31d7dd85114755a581a5da3fc996abfefa48aee78af"},
+    {file = "regex-2020.11.13-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1ebb090a426db66dd80df8ca85adc4abfcbad8a7c2e9a5ec7513ede522e0a8f"},
+    {file = "regex-2020.11.13-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b2b1a5ddae3677d89b686e5c625fc5547c6e492bd755b520de5332773a8af06b"},
+    {file = "regex-2020.11.13-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2c99e97d388cd0a8d30f7c514d67887d8021541b875baf09791a3baad48bb4f8"},
+    {file = "regex-2020.11.13-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:c084582d4215593f2f1d28b65d2a2f3aceff8342aa85afd7be23a9cad74a0de5"},
+    {file = "regex-2020.11.13-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a3d748383762e56337c39ab35c6ed4deb88df5326f97a38946ddd19028ecce6b"},
+    {file = "regex-2020.11.13-cp38-cp38-win32.whl", hash = "sha256:7913bd25f4ab274ba37bc97ad0e21c31004224ccb02765ad984eef43e04acc6c"},
+    {file = "regex-2020.11.13-cp38-cp38-win_amd64.whl", hash = "sha256:6c54ce4b5d61a7129bad5c5dc279e222afd00e721bf92f9ef09e4fae28755683"},
+    {file = "regex-2020.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1862a9d9194fae76a7aaf0150d5f2a8ec1da89e8b55890b1786b8f88a0f619dc"},
+    {file = "regex-2020.11.13-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4902e6aa086cbb224241adbc2f06235927d5cdacffb2425c73e6570e8d862364"},
+    {file = "regex-2020.11.13-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7a25fcbeae08f96a754b45bdc050e1fb94b95cab046bf56b016c25e9ab127b3e"},
+    {file = "regex-2020.11.13-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:d2d8ce12b7c12c87e41123997ebaf1a5767a5be3ec545f64675388970f415e2e"},
+    {file = "regex-2020.11.13-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f7d29a6fc4760300f86ae329e3b6ca28ea9c20823df123a2ea8693e967b29917"},
+    {file = "regex-2020.11.13-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:717881211f46de3ab130b58ec0908267961fadc06e44f974466d1887f865bd5b"},
+    {file = "regex-2020.11.13-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:3128e30d83f2e70b0bed9b2a34e92707d0877e460b402faca908c6667092ada9"},
+    {file = "regex-2020.11.13-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f6a2229e8ad946e36815f2a03386bb8353d4bde368fdf8ca5f0cb97264d3b5c"},
+    {file = "regex-2020.11.13-cp39-cp39-win32.whl", hash = "sha256:f8f295db00ef5f8bae530fc39af0b40486ca6068733fb860b42115052206466f"},
+    {file = "regex-2020.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:a15f64ae3a027b64496a71ab1f722355e570c3fac5ba2801cafce846bf5af01d"},
+    {file = "regex-2020.11.13.tar.gz", hash = "sha256:83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562"},
+]
 requests = [
     {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"},
     {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"},
@@ -1183,6 +1270,38 @@ tomlkit = [
     {file = "tomlkit-0.7.0-py2.py3-none-any.whl", hash = "sha256:6babbd33b17d5c9691896b0e68159215a9387ebfa938aa3ac42f4a4beeb2b831"},
     {file = "tomlkit-0.7.0.tar.gz", hash = "sha256:ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618"},
 ]
+typed-ast = [
+    {file = "typed_ast-1.4.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:7703620125e4fb79b64aa52427ec192822e9f45d37d4b6625ab37ef403e1df70"},
+    {file = "typed_ast-1.4.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:c9aadc4924d4b5799112837b226160428524a9a45f830e0d0f184b19e4090487"},
+    {file = "typed_ast-1.4.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:9ec45db0c766f196ae629e509f059ff05fc3148f9ffd28f3cfe75d4afb485412"},
+    {file = "typed_ast-1.4.2-cp35-cp35m-win32.whl", hash = "sha256:85f95aa97a35bdb2f2f7d10ec5bbdac0aeb9dafdaf88e17492da0504de2e6400"},
+    {file = "typed_ast-1.4.2-cp35-cp35m-win_amd64.whl", hash = "sha256:9044ef2df88d7f33692ae3f18d3be63dec69c4fb1b5a4a9ac950f9b4ba571606"},
+    {file = "typed_ast-1.4.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c1c876fd795b36126f773db9cbb393f19808edd2637e00fd6caba0e25f2c7b64"},
+    {file = "typed_ast-1.4.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5dcfc2e264bd8a1db8b11a892bd1647154ce03eeba94b461effe68790d8b8e07"},
+    {file = "typed_ast-1.4.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8db0e856712f79c45956da0c9a40ca4246abc3485ae0d7ecc86a20f5e4c09abc"},
+    {file = "typed_ast-1.4.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:d003156bb6a59cda9050e983441b7fa2487f7800d76bdc065566b7d728b4581a"},
+    {file = "typed_ast-1.4.2-cp36-cp36m-win32.whl", hash = "sha256:4c790331247081ea7c632a76d5b2a265e6d325ecd3179d06e9cf8d46d90dd151"},
+    {file = "typed_ast-1.4.2-cp36-cp36m-win_amd64.whl", hash = "sha256:d175297e9533d8d37437abc14e8a83cbc68af93cc9c1c59c2c292ec59a0697a3"},
+    {file = "typed_ast-1.4.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf54cfa843f297991b7388c281cb3855d911137223c6b6d2dd82a47ae5125a41"},
+    {file = "typed_ast-1.4.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:b4fcdcfa302538f70929eb7b392f536a237cbe2ed9cba88e3bf5027b39f5f77f"},
+    {file = "typed_ast-1.4.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:987f15737aba2ab5f3928c617ccf1ce412e2e321c77ab16ca5a293e7bbffd581"},
+    {file = "typed_ast-1.4.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:37f48d46d733d57cc70fd5f30572d11ab8ed92da6e6b28e024e4a3edfb456e37"},
+    {file = "typed_ast-1.4.2-cp37-cp37m-win32.whl", hash = "sha256:36d829b31ab67d6fcb30e185ec996e1f72b892255a745d3a82138c97d21ed1cd"},
+    {file = "typed_ast-1.4.2-cp37-cp37m-win_amd64.whl", hash = "sha256:8368f83e93c7156ccd40e49a783a6a6850ca25b556c0fa0240ed0f659d2fe496"},
+    {file = "typed_ast-1.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:963c80b583b0661918718b095e02303d8078950b26cc00b5e5ea9ababe0de1fc"},
+    {file = "typed_ast-1.4.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e683e409e5c45d5c9082dc1daf13f6374300806240719f95dc783d1fc942af10"},
+    {file = "typed_ast-1.4.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:84aa6223d71012c68d577c83f4e7db50d11d6b1399a9c779046d75e24bed74ea"},
+    {file = "typed_ast-1.4.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:a38878a223bdd37c9709d07cd357bb79f4c760b29210e14ad0fb395294583787"},
+    {file = "typed_ast-1.4.2-cp38-cp38-win32.whl", hash = "sha256:a2c927c49f2029291fbabd673d51a2180038f8cd5a5b2f290f78c4516be48be2"},
+    {file = "typed_ast-1.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:c0c74e5579af4b977c8b932f40a5464764b2f86681327410aa028a22d2f54937"},
+    {file = "typed_ast-1.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:07d49388d5bf7e863f7fa2f124b1b1d89d8aa0e2f7812faff0a5658c01c59aa1"},
+    {file = "typed_ast-1.4.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:240296b27397e4e37874abb1df2a608a92df85cf3e2a04d0d4d61055c8305ba6"},
+    {file = "typed_ast-1.4.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d746a437cdbca200622385305aedd9aef68e8a645e385cc483bdc5e488f07166"},
+    {file = "typed_ast-1.4.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:14bf1522cdee369e8f5581238edac09150c765ec1cb33615855889cf33dcb92d"},
+    {file = "typed_ast-1.4.2-cp39-cp39-win32.whl", hash = "sha256:cc7b98bf58167b7f2db91a4327da24fb93368838eb84a44c472283778fc2446b"},
+    {file = "typed_ast-1.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:7147e2a76c75f0f64c4319886e7639e490fee87c9d25cb1d4faef1d8cf83a440"},
+    {file = "typed_ast-1.4.2.tar.gz", hash = "sha256:9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a"},
+]
 typing-extensions = [
     {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"},
     {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"},
diff --git a/pyproject.toml b/pyproject.toml
index d806b2a..d4698f2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -18,7 +18,6 @@ loguru = "^0.5.3"
 fixedint = "^0.1.6"
 
 [tool.poetry.dev-dependencies]
-black = {version = "^18.3-alpha.0", allow-prereleases = true}
 dephell = ">=0.7.6"
 pytest = "^6.2.1"
 pytest-dictsdiff = "^0.5.8"
@@ -26,6 +25,7 @@ pytest-subtests = "^0.4.0"
 pytest-console-scripts = "^1.1.0"
 openpyxl = "^3.0.5"
 flake8 = "^3.8.4"
+black = {version = "^20.8b1", allow-prereleases = true}
 
 [tool.poetry.scripts]
 mate3 = 'mate3.main:main'


Test patch:
diff --git a/mate3/tests/known_systems/chinezbrun/expected.json b/mate3/tests/known_systems/chinezbrun/expected.json
index 3b581e1..d5fcde8 100644
--- a/mate3/tests/known_systems/chinezbrun/expected.json
+++ b/mate3/tests/known_systems/chinezbrun/expected.json
@@ -1,4370 +1,7545 @@
 [
-  {
-    "name": "Mate3DeviceValues",
-    "address": 40069,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64110,
-        "value": 64110
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 420,
-        "value": 420
-      },
-      "major_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "mid_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 4,
-        "value": 4
-      },
-      "minor_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 2,
-        "value": 2
-      },
-      "encryption_key": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "mac_address": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "0090EA-E09F2E",
-        "value": "0090EA-E09F2E"
-      },
-      "enable_dhcp": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<enable_dhcp.DHCP Enabled: 1>",
-        "value": "<enable_dhcp.DHCP Enabled: 1>"
-      },
-      "tcpip_address": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "192.168.0.150",
-        "value": "192.168.0.150"
-      },
-      "tcpip_gateway_msw": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "192.168.0.1",
-        "value": "192.168.0.1"
-      },
-      "tcpip_netmask_msw": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "255.255.255.0",
-        "value": "255.255.255.0"
-      },
-      "tcpip_dns_1_msw": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "192.168.0.1",
-        "value": "192.168.0.1"
-      },
-      "tcpip_dns_2_msw": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "modbus_port": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 502,
-        "value": 502
-      },
-      "smtp_server_name": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "smtp_account_name": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "smtp_ssl_enable": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "smtp_email_user_name": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "status_email_interval": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "status_email_status_time": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "status_email_subject_line": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "status_email_to_address_1": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "status_email_to_address_2": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "alarm_email_enable": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "system_name": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "OutBack Power Technologies",
-        "value": "OutBack Power Technologies"
-      },
-      "alarm_email_to_address_1": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "alarm_email_to_address_2": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "sd_card_data_log_write_interval": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "sd_card_data_log_retain_days": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "sd_card_data_logging_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sd_card_data_logging_mode.Excel Format: 1>",
-        "value": "<sd_card_data_logging_mode.Excel Format: 1>"
-      },
-      "time_server_name": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "pool.ntp.org",
-        "value": "pool.ntp.org"
-      },
-      "enable_time_server": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<enable_time_server.Time  Server Enabled: 1>",
-        "value": "<enable_time_server.Time  Server Enabled: 1>"
-      },
-      "set_time_zone": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 200,
-        "value": 2.0
-      },
-      "enable_float_coordination": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<enable_float_coordination.Enabled: 1>",
-        "value": "<enable_float_coordination.Enabled: 1>"
-      },
-      "enable_fndc_charge_termination": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<enable_fndc_charge_termination.Enabled: 1>",
-        "value": "<enable_fndc_charge_termination.Enabled: 1>"
-      },
-      "enable_fndc_grid_tie_control": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<enable_fndc_grid_tie_control.Disabled: 0>",
-        "value": "<enable_fndc_grid_tie_control.Disabled: 0>"
-      },
-      "voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "hour_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ags_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_mode.Disabled: 0>",
-        "value": "<ags_mode.Disabled: 0>"
-      },
-      "ags_port": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "ags_port_type": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "ags_generator_type": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_generator_type.AC Gen: 0>",
-        "value": "<ags_generator_type.AC Gen: 0>"
-      },
-      "ags_dc_gen_absorb_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 760,
-        "value": 76.0
-      },
-      "ags_dc_gen_absorb_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 10,
-        "value": 1.0
-      },
-      "ags_fault_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 17,
-        "value": 17
-      },
-      "ags_gen_cool_down_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_gen_warm_up_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_generator_exercise_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_generator_exercise_mode.Disabled: 0>",
-        "value": "<ags_generator_exercise_mode.Disabled: 0>"
-      },
-      "ags_exercise_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_exercise_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_exercise_day": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_exercise_day.Sun: 0>",
-        "value": "<ags_exercise_day.Sun: 0>"
-      },
-      "ags_exercise_period": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 15,
-        "value": 15
-      },
-      "ags_exercise_interval": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 2,
-        "value": 2
-      },
-      "ags_sell_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_sell_mode.Selling Disabled: 1>",
-        "value": "<ags_sell_mode.Selling Disabled: 1>"
-      },
-      "ags_2_min_start_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_2_min_start_mode.Disabled: 0>",
-        "value": "<ags_2_min_start_mode.Disabled: 0>"
-      },
-      "ags_2_min_start_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 440,
-        "value": 44.0
-      },
-      "ags_2_hour_start_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_2_hour_start_mode.Disabled: 0>",
-        "value": "<ags_2_hour_start_mode.Disabled: 0>"
-      },
-      "ags_2_hour_start_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 472,
-        "value": 47.2
-      },
-      "ags_24_hour_start_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_24_hour_start_mode.Disabled: 0>",
-        "value": "<ags_24_hour_start_mode.Disabled: 0>"
-      },
-      "ags_24_hour_start_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 488,
-        "value": 48.8
-      },
-      "ags_load_start_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_load_start_mode.Disabled: 0>",
-        "value": "<ags_load_start_mode.Disabled: 0>"
-      },
-      "ags_load_start_kw": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_load_start_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "ags_load_stop_kw": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_load_stop_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "ags_soc_start_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_soc_start_mode.Disabled: 0>",
-        "value": "<ags_soc_start_mode.Disabled: 0>"
-      },
-      "ags_soc_start_percentage": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 60,
-        "value": 60
-      },
-      "ags_soc_stop_percentage": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 90,
-        "value": 90
-      },
-      "ags_enable_full_charge_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_enable_full_charge_mode.Disabled: 0>",
-        "value": "<ags_enable_full_charge_mode.Disabled: 0>"
-      },
-      "ags_full_charge_interval": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 14,
-        "value": 14
-      },
-      "ags_must_run_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_must_run_mode.Disabled: 0>",
-        "value": "<ags_must_run_mode.Disabled: 0>"
-      },
-      "ags_must_run_weekday_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_must_run_weekday_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_must_run_weekday_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_must_run_weekday_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_must_run_weekend_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_must_run_weekend_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_must_run_weekend_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_must_run_weekend_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ags_quiet_time_mode.Disabled: 0>",
-        "value": "<ags_quiet_time_mode.Disabled: 0>"
-      },
-      "ags_quiet_time_weekday_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_weekday_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_weekday_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_weekday_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_weekend_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_weekend_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_weekend_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_quiet_time_weekend_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ags_total_generator_run_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "hbx_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<hbx_mode.Disabled: 0>",
-        "value": "<hbx_mode.Disabled: 0>"
-      },
-      "hbx_grid_connect_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 492,
-        "value": 49.2
-      },
-      "hbx_grid_connect_delay": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "hbx_grid_disconnect_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 548,
-        "value": 54.8
-      },
-      "hbx_grid_disconnect_delay": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "hbx_grid_connect_soc": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 75,
-        "value": 75
-      },
-      "hbx_grid_disconnect_soc": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 97,
-        "value": 97
-      },
-      "grid_use_interval_1_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_use_interval_1_mode.Disabled: 0>",
-        "value": "<grid_use_interval_1_mode.Disabled: 0>"
-      },
-      "grid_use_interval_1_weekday_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 22,
-        "value": 22
-      },
-      "grid_use_interval_1_weekday_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 30,
-        "value": 30
-      },
-      "grid_use_interval_1_weekday_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 22,
-        "value": 22
-      },
-      "grid_use_interval_1_weekday_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "grid_use_interval_1_weekend_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_use_interval_1_weekend_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_use_interval_1_weekend_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_use_interval_1_weekend_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_use_interval_2_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_use_interval_2_mode.Disabled: 0>",
-        "value": "<grid_use_interval_2_mode.Disabled: 0>"
-      },
-      "grid_use_interval_2_weekday_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 22,
-        "value": 22
-      },
-      "grid_use_interval_2_weekday_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 30,
-        "value": 30
-      },
-      "grid_use_interval_2_weekday_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 22,
-        "value": 22
-      },
-      "grid_use_interval_2_weekday_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "grid_use_interval_3_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_use_interval_3_mode.Disabled: 0>",
-        "value": "<grid_use_interval_3_mode.Disabled: 0>"
-      },
-      "grid_use_interval_3_weekday_start_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_use_interval_3_weekday_start_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_use_interval_3_weekday_stop_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_use_interval_3_weekday_stop_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "load_grid_transfer_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<load_grid_transfer_mode.Disabled: 0>",
-        "value": "<load_grid_transfer_mode.Disabled: 0>"
-      },
-      "load_grid_transfer_threshold": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 10,
-        "value": 1.0
-      },
-      "load_grid_transfer_connect_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "load_grid_transfer_disconnect_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 10,
-        "value": 10
-      },
-      "load_grid_transfer_connect_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 492,
-        "value": 49.2
-      },
-      "load_grid_transfer_re_connect_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 548,
-        "value": 54.8
-      },
-      "global_charger_control_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<global_charger_control_mode.Disabled: 0>",
-        "value": "<global_charger_control_mode.Disabled: 0>"
-      },
-      "global_charger_control_output_limit": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 75,
-        "value": 75
-      },
-      "radian_ac_coupled_control_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<radian_ac_coupled_control_mode.Disabled: 0>",
-        "value": "<radian_ac_coupled_control_mode.Disabled: 0>"
-      },
-      "radian_ac_coupled_aux_port": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "web_reporting_base_url": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff",
-        "value": "\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff"
-      },
-      "web_user_logged_in_status": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<web_user_logged_in_status.WEB User NOT logged in: 0>",
-        "value": "<web_user_logged_in_status.WEB User NOT logged in: 0>"
-      },
-      "hub_type": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<hub_type.HUB10.3: 10>",
-        "value": "<hub_type.HUB10.3: 10>"
-      },
-      "hub_major_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "hub_mid_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "hub_minor_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "year": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 2020,
-        "value": 2020
-      },
-      "month": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 12,
-        "value": 12
-      },
-      "day": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 31,
-        "value": 31
-      },
-      "hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 9,
-        "value": 9
-      },
-      "minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 24,
-        "value": 24
-      },
-      "second": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 18,
-        "value": 18
-      },
-      "temp_battery": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 12,
-        "value": 12
-      },
-      "temp_ambient": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "temp_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "error": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "status": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "update_device_firmware_port": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 255,
-        "value": 255
-      },
-      "gateway_type": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "system_voltage": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 48,
-        "value": 48
-      },
-      "measured_system_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 506,
-        "value": 50.6
-      },
-      "ags_ac_reconnect_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "multi_phase_coordination": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<multi_phase_coordination.Disabled: 0>",
-        "value": "<multi_phase_coordination.Disabled: 0>"
-      },
-      "sched_1_ac_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sched_1_ac_mode.Mini Grid: 5>",
-        "value": "<sched_1_ac_mode.Mini Grid: 5>"
-      },
-      "sched_1_ac_mode_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 8,
-        "value": 8
-      },
-      "sched_1_ac_mode_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "sched_2_ac_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sched_2_ac_mode.Backup: 4>",
-        "value": "<sched_2_ac_mode.Backup: 4>"
-      },
-      "sched_2_ac_mode_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 13,
-        "value": 13
-      },
-      "sched_2_ac_mode_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "sched_3_ac_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sched_3_ac_mode.Disable: -1>",
-        "value": "<sched_3_ac_mode.Disable: -1>"
-      },
-      "sched_3_ac_mode_hour": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "sched_3_ac_mode_minute": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "auto_reboot": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<auto_reboot.Disable: 0>",
-        "value": "<auto_reboot.Disable: 0>"
-      },
-      "time_zone_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -2,
-        "value": -2
-      },
-      "spare_reg_3": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "spare_reg_4": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      }
+    {
+        "name": "Mate3DeviceValues",
+        "address": 40069,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40069,
+                "registers": [
+                    64110
+                ],
+                "raw_value": 64110,
+                "value": 64110
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40070,
+                "registers": [
+                    420
+                ],
+                "raw_value": 420,
+                "value": 420
+            },
+            "major_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40071,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "mid_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40072,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 4
+            },
+            "minor_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40073,
+                "registers": [
+                    2
+                ],
+                "raw_value": 2,
+                "value": 2
+            },
+            "encryption_key": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40074,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "mac_address": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40075,
+                "registers": [
+                    12336,
+                    14640,
+                    17729,
+                    11589,
+                    12345,
+                    17970,
+                    17664
+                ],
+                "raw_value": "0090EA-E09F2E",
+                "value": "0090EA-E09F2E"
+            },
+            "enable_dhcp": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40090,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<enable_dhcp.DHCP Enabled: 1>",
+                "value": "<enable_dhcp.DHCP Enabled: 1>"
+            },
+            "tcpip_address": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40091,
+                "registers": [
+                    49320,
+                    150
+                ],
+                "raw_value": "192.168.0.150",
+                "value": "192.168.0.150"
+            },
+            "tcpip_gateway_msw": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40093,
+                "registers": [
+                    49320,
+                    1
+                ],
+                "raw_value": "192.168.0.1",
+                "value": "192.168.0.1"
+            },
+            "tcpip_netmask_msw": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40095,
+                "registers": [
+                    65535,
+                    65280
+                ],
+                "raw_value": "255.255.255.0",
+                "value": "255.255.255.0"
+            },
+            "tcpip_dns_1_msw": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40097,
+                "registers": [
+                    49320,
+                    1
+                ],
+                "raw_value": "192.168.0.1",
+                "value": "192.168.0.1"
+            },
+            "tcpip_dns_2_msw": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40099,
+                "registers": [
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "modbus_port": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40101,
+                "registers": [
+                    502
+                ],
+                "raw_value": 502,
+                "value": 502
+            },
+            "smtp_server_name": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40102,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "smtp_account_name": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40122,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "smtp_ssl_enable": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40138,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "smtp_email_user_name": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40147,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "status_email_interval": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40167,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "status_email_status_time": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40168,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "status_email_subject_line": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40169,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "status_email_to_address_1": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40194,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "status_email_to_address_2": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40214,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "alarm_email_enable": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40234,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "system_name": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40235,
+                "registers": [
+                    20341,
+                    29762,
+                    24931,
+                    27424,
+                    20591,
+                    30565,
+                    29216,
+                    21605,
+                    25448,
+                    28271,
+                    27759,
+                    26473,
+                    25971,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "OutBack Power Technologies",
+                "value": "OutBack Power Technologies"
+            },
+            "alarm_email_to_address_1": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40265,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "alarm_email_to_address_2": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40280,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "sd_card_data_log_write_interval": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40316,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "sd_card_data_log_retain_days": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40317,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "sd_card_data_logging_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40318,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<sd_card_data_logging_mode.Excel Format: 1>",
+                "value": "<sd_card_data_logging_mode.Excel Format: 1>"
+            },
+            "time_server_name": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40319,
+                "registers": [
+                    28783,
+                    28524,
+                    11886,
+                    29808,
+                    11887,
+                    29287,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "pool.ntp.org",
+                "value": "pool.ntp.org"
+            },
+            "enable_time_server": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40339,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<enable_time_server.Time  Server Enabled: 1>",
+                "value": "<enable_time_server.Time  Server Enabled: 1>"
+            },
+            "set_time_zone": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 40340,
+                "registers": [
+                    200
+                ],
+                "raw_value": 200,
+                "value": 2.0
+            },
+            "enable_float_coordination": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40341,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<enable_float_coordination.Enabled: 1>",
+                "value": "<enable_float_coordination.Enabled: 1>"
+            },
+            "enable_fndc_charge_termination": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40342,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<enable_fndc_charge_termination.Enabled: 1>",
+                "value": "<enable_fndc_charge_termination.Enabled: 1>"
+            },
+            "enable_fndc_grid_tie_control": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40343,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<enable_fndc_grid_tie_control.Disabled: 0>",
+                "value": "<enable_fndc_grid_tie_control.Disabled: 0>"
+            },
+            "voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40344,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "hour_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40345,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ags_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40346,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_mode.Disabled: 0>",
+                "value": "<ags_mode.Disabled: 0>"
+            },
+            "ags_port": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40347,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "ags_port_type": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40348,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "ags_generator_type": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40349,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_generator_type.AC Gen: 0>",
+                "value": "<ags_generator_type.AC Gen: 0>"
+            },
+            "ags_dc_gen_absorb_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40350,
+                "registers": [
+                    760
+                ],
+                "raw_value": 760,
+                "value": 76.0
+            },
+            "ags_dc_gen_absorb_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40351,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 1.0
+            },
+            "ags_fault_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40352,
+                "registers": [
+                    17
+                ],
+                "raw_value": 17,
+                "value": 17
+            },
+            "ags_gen_cool_down_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40353,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_gen_warm_up_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40354,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_generator_exercise_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40355,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_generator_exercise_mode.Disabled: 0>",
+                "value": "<ags_generator_exercise_mode.Disabled: 0>"
+            },
+            "ags_exercise_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40356,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_exercise_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40357,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_exercise_day": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40358,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_exercise_day.Sun: 0>",
+                "value": "<ags_exercise_day.Sun: 0>"
+            },
+            "ags_exercise_period": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40359,
+                "registers": [
+                    15
+                ],
+                "raw_value": 15,
+                "value": 15
+            },
+            "ags_exercise_interval": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40360,
+                "registers": [
+                    2
+                ],
+                "raw_value": 2,
+                "value": 2
+            },
+            "ags_sell_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40361,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<ags_sell_mode.Selling Disabled: 1>",
+                "value": "<ags_sell_mode.Selling Disabled: 1>"
+            },
+            "ags_2_min_start_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40362,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_2_min_start_mode.Disabled: 0>",
+                "value": "<ags_2_min_start_mode.Disabled: 0>"
+            },
+            "ags_2_min_start_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40363,
+                "registers": [
+                    440
+                ],
+                "raw_value": 440,
+                "value": 44.0
+            },
+            "ags_2_hour_start_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40364,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_2_hour_start_mode.Disabled: 0>",
+                "value": "<ags_2_hour_start_mode.Disabled: 0>"
+            },
+            "ags_2_hour_start_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40365,
+                "registers": [
+                    472
+                ],
+                "raw_value": 472,
+                "value": 47.2
+            },
+            "ags_24_hour_start_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40366,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_24_hour_start_mode.Disabled: 0>",
+                "value": "<ags_24_hour_start_mode.Disabled: 0>"
+            },
+            "ags_24_hour_start_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40367,
+                "registers": [
+                    488
+                ],
+                "raw_value": 488,
+                "value": 48.8
+            },
+            "ags_load_start_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40368,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_load_start_mode.Disabled: 0>",
+                "value": "<ags_load_start_mode.Disabled: 0>"
+            },
+            "ags_load_start_kw": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40369,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_load_start_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40370,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "ags_load_stop_kw": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40371,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_load_stop_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40372,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "ags_soc_start_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40373,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_soc_start_mode.Disabled: 0>",
+                "value": "<ags_soc_start_mode.Disabled: 0>"
+            },
+            "ags_soc_start_percentage": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40374,
+                "registers": [
+                    60
+                ],
+                "raw_value": 60,
+                "value": 60
+            },
+            "ags_soc_stop_percentage": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40375,
+                "registers": [
+                    90
+                ],
+                "raw_value": 90,
+                "value": 90
+            },
+            "ags_enable_full_charge_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40376,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_enable_full_charge_mode.Disabled: 0>",
+                "value": "<ags_enable_full_charge_mode.Disabled: 0>"
+            },
+            "ags_full_charge_interval": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40377,
+                "registers": [
+                    14
+                ],
+                "raw_value": 14,
+                "value": 14
+            },
+            "ags_must_run_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40378,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_must_run_mode.Disabled: 0>",
+                "value": "<ags_must_run_mode.Disabled: 0>"
+            },
+            "ags_must_run_weekday_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40379,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_must_run_weekday_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40380,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_must_run_weekday_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40381,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_must_run_weekday_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40382,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_must_run_weekend_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40383,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_must_run_weekend_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40384,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_must_run_weekend_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40385,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_must_run_weekend_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40386,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40387,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ags_quiet_time_mode.Disabled: 0>",
+                "value": "<ags_quiet_time_mode.Disabled: 0>"
+            },
+            "ags_quiet_time_weekday_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40388,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_weekday_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40389,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_weekday_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40390,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_weekday_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40391,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_weekend_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40392,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_weekend_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40393,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_weekend_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40394,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_quiet_time_weekend_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40395,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ags_total_generator_run_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40396,
+                "registers": [
+                    0,
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "hbx_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40398,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<hbx_mode.Disabled: 0>",
+                "value": "<hbx_mode.Disabled: 0>"
+            },
+            "hbx_grid_connect_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40399,
+                "registers": [
+                    492
+                ],
+                "raw_value": 492,
+                "value": 49.2
+            },
+            "hbx_grid_connect_delay": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40400,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "hbx_grid_disconnect_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40401,
+                "registers": [
+                    548
+                ],
+                "raw_value": 548,
+                "value": 54.8
+            },
+            "hbx_grid_disconnect_delay": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40402,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "hbx_grid_connect_soc": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40403,
+                "registers": [
+                    75
+                ],
+                "raw_value": 75,
+                "value": 75
+            },
+            "hbx_grid_disconnect_soc": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40404,
+                "registers": [
+                    97
+                ],
+                "raw_value": 97,
+                "value": 97
+            },
+            "grid_use_interval_1_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40405,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<grid_use_interval_1_mode.Disabled: 0>",
+                "value": "<grid_use_interval_1_mode.Disabled: 0>"
+            },
+            "grid_use_interval_1_weekday_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40406,
+                "registers": [
+                    22
+                ],
+                "raw_value": 22,
+                "value": 22
+            },
+            "grid_use_interval_1_weekday_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40407,
+                "registers": [
+                    30
+                ],
+                "raw_value": 30,
+                "value": 30
+            },
+            "grid_use_interval_1_weekday_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40408,
+                "registers": [
+                    22
+                ],
+                "raw_value": 22,
+                "value": 22
+            },
+            "grid_use_interval_1_weekday_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40409,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "grid_use_interval_1_weekend_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40410,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_use_interval_1_weekend_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40411,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_use_interval_1_weekend_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40412,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_use_interval_1_weekend_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40413,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_use_interval_2_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40414,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<grid_use_interval_2_mode.Disabled: 0>",
+                "value": "<grid_use_interval_2_mode.Disabled: 0>"
+            },
+            "grid_use_interval_2_weekday_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40415,
+                "registers": [
+                    22
+                ],
+                "raw_value": 22,
+                "value": 22
+            },
+            "grid_use_interval_2_weekday_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40416,
+                "registers": [
+                    30
+                ],
+                "raw_value": 30,
+                "value": 30
+            },
+            "grid_use_interval_2_weekday_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40417,
+                "registers": [
+                    22
+                ],
+                "raw_value": 22,
+                "value": 22
+            },
+            "grid_use_interval_2_weekday_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40418,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "grid_use_interval_3_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40419,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<grid_use_interval_3_mode.Disabled: 0>",
+                "value": "<grid_use_interval_3_mode.Disabled: 0>"
+            },
+            "grid_use_interval_3_weekday_start_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40420,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_use_interval_3_weekday_start_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40421,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_use_interval_3_weekday_stop_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40422,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_use_interval_3_weekday_stop_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40423,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "load_grid_transfer_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40424,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<load_grid_transfer_mode.Disabled: 0>",
+                "value": "<load_grid_transfer_mode.Disabled: 0>"
+            },
+            "load_grid_transfer_threshold": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40425,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 1.0
+            },
+            "load_grid_transfer_connect_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40426,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "load_grid_transfer_disconnect_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40427,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 10
+            },
+            "load_grid_transfer_connect_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40428,
+                "registers": [
+                    492
+                ],
+                "raw_value": 492,
+                "value": 49.2
+            },
+            "load_grid_transfer_re_connect_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40429,
+                "registers": [
+                    548
+                ],
+                "raw_value": 548,
+                "value": 54.8
+            },
+            "global_charger_control_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40430,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<global_charger_control_mode.Disabled: 0>",
+                "value": "<global_charger_control_mode.Disabled: 0>"
+            },
+            "global_charger_control_output_limit": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40431,
+                "registers": [
+                    75
+                ],
+                "raw_value": 75,
+                "value": 75
+            },
+            "radian_ac_coupled_control_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40432,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<radian_ac_coupled_control_mode.Disabled: 0>",
+                "value": "<radian_ac_coupled_control_mode.Disabled: 0>"
+            },
+            "radian_ac_coupled_aux_port": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40433,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "web_reporting_base_url": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40436,
+                "registers": [
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535,
+                    65535
+                ],
+                "raw_value": "\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff",
+                "value": "\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff"
+            },
+            "web_user_logged_in_status": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40456,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<web_user_logged_in_status.WEB User NOT logged in: 0>",
+                "value": "<web_user_logged_in_status.WEB User NOT logged in: 0>"
+            },
+            "hub_type": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40457,
+                "registers": [
+                    10
+                ],
+                "raw_value": "<hub_type.HUB10.3: 10>",
+                "value": "<hub_type.HUB10.3: 10>"
+            },
+            "hub_major_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40458,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "hub_mid_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40459,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "hub_minor_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40460,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "year": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40461,
+                "registers": [
+                    2020
+                ],
+                "raw_value": 2020,
+                "value": 2020
+            },
+            "month": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40462,
+                "registers": [
+                    12
+                ],
+                "raw_value": 12,
+                "value": 12
+            },
+            "day": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40463,
+                "registers": [
+                    31
+                ],
+                "raw_value": 31,
+                "value": 31
+            },
+            "hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40464,
+                "registers": [
+                    9
+                ],
+                "raw_value": 9,
+                "value": 9
+            },
+            "minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40465,
+                "registers": [
+                    24
+                ],
+                "raw_value": 24,
+                "value": 24
+            },
+            "second": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40466,
+                "registers": [
+                    18
+                ],
+                "raw_value": 18,
+                "value": 18
+            },
+            "temp_battery": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40467,
+                "registers": [
+                    12
+                ],
+                "raw_value": 12,
+                "value": 12
+            },
+            "temp_ambient": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40468,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "temp_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40469,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "error": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40470,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "status": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40471,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "update_device_firmware_port": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40472,
+                "registers": [
+                    255
+                ],
+                "raw_value": 255,
+                "value": 255
+            },
+            "gateway_type": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40473,
+                "registers": [],
+                "raw_value": null,
+                "value": null
+            },
+            "system_voltage": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40474,
+                "registers": [
+                    48
+                ],
+                "raw_value": 48,
+                "value": 48
+            },
+            "measured_system_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40475,
+                "registers": [
+                    506
+                ],
+                "raw_value": 506,
+                "value": 50.6
+            },
+            "ags_ac_reconnect_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40476,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "multi_phase_coordination": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40477,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<multi_phase_coordination.Disabled: 0>",
+                "value": "<multi_phase_coordination.Disabled: 0>"
+            },
+            "sched_1_ac_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40478,
+                "registers": [
+                    5
+                ],
+                "raw_value": "<sched_1_ac_mode.Mini Grid: 5>",
+                "value": "<sched_1_ac_mode.Mini Grid: 5>"
+            },
+            "sched_1_ac_mode_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40479,
+                "registers": [
+                    8
+                ],
+                "raw_value": 8,
+                "value": 8
+            },
+            "sched_1_ac_mode_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40480,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "sched_2_ac_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40481,
+                "registers": [
+                    4
+                ],
+                "raw_value": "<sched_2_ac_mode.Backup: 4>",
+                "value": "<sched_2_ac_mode.Backup: 4>"
+            },
+            "sched_2_ac_mode_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40482,
+                "registers": [
+                    13
+                ],
+                "raw_value": 13,
+                "value": 13
+            },
+            "sched_2_ac_mode_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40483,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "sched_3_ac_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40484,
+                "registers": [
+                    65535
+                ],
+                "raw_value": "<sched_3_ac_mode.Disable: -1>",
+                "value": "<sched_3_ac_mode.Disable: -1>"
+            },
+            "sched_3_ac_mode_hour": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40485,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "sched_3_ac_mode_minute": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40486,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "auto_reboot": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40487,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<auto_reboot.Disable: 0>",
+                "value": "<auto_reboot.Disable: 0>"
+            },
+            "time_zone_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40488,
+                "registers": [
+                    65534
+                ],
+                "raw_value": -2,
+                "value": -2
+            },
+            "spare_reg_3": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40489,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "spare_reg_4": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40490,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            }
+        }
+    },
+    {
+        "name": "ChargeControllerDeviceValues",
+        "address": 40908,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40908,
+                "registers": [
+                    64111
+                ],
+                "raw_value": 64111,
+                "value": 64111
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40909,
+                "registers": [
+                    26
+                ],
+                "raw_value": 26,
+                "value": 26
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40910,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40911,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40912,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "power_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40913,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ah_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40914,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40915,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40916,
+                "registers": [
+                    507
+                ],
+                "raw_value": 507,
+                "value": 50.7
+            },
+            "array_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40917,
+                "registers": [
+                    872
+                ],
+                "raw_value": 872,
+                "value": 87.2
+            },
+            "battery_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40918,
+                "registers": [
+                    79
+                ],
+                "raw_value": 79,
+                "value": 7.9
+            },
+            "array_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40919,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 4
+            },
+            "charger_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40920,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<charger_state.Bulk: 2>",
+                "value": "<charger_state.Bulk: 2>"
+            },
+            "watts": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40921,
+                "registers": [
+                    400
+                ],
+                "raw_value": 400,
+                "value": 400
+            },
+            "todays_min_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40922,
+                "registers": [
+                    495
+                ],
+                "raw_value": 495,
+                "value": 49.5
+            },
+            "todays_max_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40923,
+                "registers": [
+                    519
+                ],
+                "raw_value": 519,
+                "value": 51.9
+            },
+            "voc": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40924,
+                "registers": [
+                    1101
+                ],
+                "raw_value": 1101,
+                "value": 110.1
+            },
+            "todays_peak_voc": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40925,
+                "registers": [
+                    110
+                ],
+                "raw_value": 110,
+                "value": 110
+            },
+            "todays_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40926,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "todays_ah": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40927,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "lifetime_kwh_hours": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40928,
+                "registers": [
+                    6109
+                ],
+                "raw_value": 6109,
+                "value": 6109
+            },
+            "lifetime_k_amp_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40929,
+                "registers": [
+                    1096
+                ],
+                "raw_value": 1096,
+                "value": 109.6
+            },
+            "lifetime_max_watts": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40930,
+                "registers": [
+                    4096
+                ],
+                "raw_value": 4096,
+                "value": 4096
+            },
+            "lifetime_max_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40931,
+                "registers": [
+                    644
+                ],
+                "raw_value": 644,
+                "value": 64.4
+            },
+            "lifetime_max_voc": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40932,
+                "registers": [
+                    1384
+                ],
+                "raw_value": 1384,
+                "value": 138.4
+            },
+            "temp_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40933,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "temp_output_fets": {
+                "implemented": false,
+                "scale_factor": 0,
+                "address": 40934,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "temp_enclosure": {
+                "implemented": false,
+                "scale_factor": 0,
+                "address": 40935,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            }
+        }
+    },
+    {
+        "name": "ChargeControllerConfigurationValues",
+        "address": 40936,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40936,
+                "registers": [
+                    64112
+                ],
+                "raw_value": 64112,
+                "value": 64112
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40937,
+                "registers": [
+                    88
+                ],
+                "raw_value": 88,
+                "value": 88
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40938,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40939,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40940,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "hours_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40941,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "power_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40942,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ah_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40943,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40944,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "faults": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40945,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "absorb_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40946,
+                "registers": [
+                    588
+                ],
+                "raw_value": 588,
+                "value": 58.8
+            },
+            "absorb_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40947,
+                "registers": [
+                    30
+                ],
+                "raw_value": 30,
+                "value": 3.0
+            },
+            "absorb_end_amps": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40948,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "rebulk_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40949,
+                "registers": [
+                    480
+                ],
+                "raw_value": 480,
+                "value": 48.0
+            },
+            "float_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40950,
+                "registers": [
+                    552
+                ],
+                "raw_value": 552,
+                "value": 55.2
+            },
+            "bulk_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40951,
+                "registers": [
+                    600
+                ],
+                "raw_value": 600,
+                "value": 60.0
+            },
+            "eq_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40952,
+                "registers": [
+                    636
+                ],
+                "raw_value": 636,
+                "value": 63.6
+            },
+            "eq_time_hours": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40953,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "auto_eq_days": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40954,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "mppt_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40955,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<mppt_mode.Auto: 0>",
+                "value": "<mppt_mode.Auto: 0>"
+            },
+            "sweep_width": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40956,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<sweep_width.Half: 1>",
+                "value": "<sweep_width.Half: 1>"
+            },
+            "sweep_max_percentage": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40957,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<sweep_max_percentage.90: 2>",
+                "value": "<sweep_max_percentage.90: 2>"
+            },
+            "u_pick_pwm_duty_cycle": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40958,
+                "registers": [
+                    770
+                ],
+                "raw_value": 770,
+                "value": 77.0
+            },
+            "grid_tie_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40959,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<grid_tie_mode.Grid Tie Mode disabled: 0>",
+                "value": "<grid_tie_mode.Grid Tie Mode disabled: 0>"
+            },
+            "temp_comp_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40960,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<temp_comp_mode.User Limited: 1>",
+                "value": "<temp_comp_mode.User Limited: 1>"
+            },
+            "temp_comp_lower_limit_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40961,
+                "registers": [
+                    530
+                ],
+                "raw_value": 530,
+                "value": 53.0
+            },
+            "temp_comp_upper_limit_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40962,
+                "registers": [
+                    630
+                ],
+                "raw_value": 630,
+                "value": 63.0
+            },
+            "temp_comp_slope": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40963,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "auto_restart_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40964,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>",
+                "value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>"
+            },
+            "wakeup_voc": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40965,
+                "registers": [
+                    60
+                ],
+                "raw_value": 60,
+                "value": 6.0
+            },
+            "snooze_mode_amps": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40966,
+                "registers": [
+                    6
+                ],
+                "raw_value": 6,
+                "value": 0.6
+            },
+            "wakeup_interval": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40967,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "aux_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40968,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<aux_mode.Diversion: Solid St: 2>",
+                "value": "<aux_mode.Diversion: Solid St: 2>"
+            },
+            "aux_control": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40969,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<aux_control.On: 2>",
+                "value": "<aux_control.On: 2>"
+            },
+            "aux_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40970,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<aux_state.Disabled: 0>",
+                "value": "<aux_state.Disabled: 0>"
+            },
+            "aux_polarity": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40971,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<aux_polarity.Low: 0>",
+                "value": "<aux_polarity.Low: 0>"
+            },
+            "aux_low_battery_disconnect": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40972,
+                "registers": [
+                    544
+                ],
+                "raw_value": 544,
+                "value": 54.4
+            },
+            "aux_low_battery_reconnect": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40973,
+                "registers": [
+                    576
+                ],
+                "raw_value": 576,
+                "value": 57.6
+            },
+            "aux_low_battery_disconnect_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40974,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "aux_vent_fan_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40975,
+                "registers": [
+                    560
+                ],
+                "raw_value": 560,
+                "value": 56.0
+            },
+            "aux_pv_limit_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40976,
+                "registers": [
+                    1400
+                ],
+                "raw_value": 1400,
+                "value": 140.0
+            },
+            "aux_pv_limit_hold_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40977,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "aux_night_light_thres_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40978,
+                "registers": [
+                    100
+                ],
+                "raw_value": 100,
+                "value": 10.0
+            },
+            "night_light_on_hours": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40979,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 4
+            },
+            "night_light_on_hyst_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40980,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "night_light_off_hyst_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40981,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "aux_error_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40982,
+                "registers": [
+                    460
+                ],
+                "raw_value": 460,
+                "value": 46.0
+            },
+            "aux_divert_hold_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40983,
+                "registers": [
+                    50
+                ],
+                "raw_value": 50,
+                "value": 5.0
+            },
+            "aux_divert_delay_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40984,
+                "registers": [
+                    8
+                ],
+                "raw_value": 8,
+                "value": 8
+            },
+            "aux_divert_relative_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40985,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "aux_divert_hyst_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40986,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "major_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40987,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "mid_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40988,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "minor_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40989,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "set_data_log_day_offset": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40990,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "get_current_data_log_day_offset": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40991,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "data_log_daily_ah": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40992,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "data_log_daily_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40993,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "data_log_daily_max_output_amps": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40994,
+                "registers": [
+                    88
+                ],
+                "raw_value": 88,
+                "value": 8.8
+            },
+            "data_log_daily_max_output_watts": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40995,
+                "registers": [
+                    447
+                ],
+                "raw_value": 447,
+                "value": 447
+            },
+            "data_log_daily_absorb_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40996,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "data_log_daily_float_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40997,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "data_log_daily_min_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40998,
+                "registers": [
+                    495
+                ],
+                "raw_value": 495,
+                "value": 49.5
+            },
+            "data_log_daily_max_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40999,
+                "registers": [
+                    519
+                ],
+                "raw_value": 519,
+                "value": 51.9
+            },
+            "data_log_daily_max_input_volts": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41000,
+                "registers": [
+                    110
+                ],
+                "raw_value": 110,
+                "value": 110
+            },
+            "clear_data_log_read": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41001,
+                "registers": [
+                    1059
+                ],
+                "raw_value": 1059,
+                "value": 1059
+            },
+            "stats_maximum_reset_read": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41003,
+                "registers": [
+                    14969
+                ],
+                "raw_value": 14969,
+                "value": 14969
+            },
+            "stats_totals_reset_read": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41005,
+                "registers": [
+                    16391
+                ],
+                "raw_value": 16391,
+                "value": 16391
+            },
+            "battery_voltage_calibrate_offset": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41007,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "serial_number": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 41008,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "model_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41017,
+                "registers": [
+                    17997,
+                    13872,
+                    11569,
+                    13616,
+                    22084,
+                    17152,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "FM60-150VDC",
+                "value": "FM60-150VDC"
+            }
+        }
+    },
+    {
+        "name": "ChargeControllerDeviceValues",
+        "address": 41026,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41026,
+                "registers": [
+                    64111
+                ],
+                "raw_value": 64111,
+                "value": 64111
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41027,
+                "registers": [
+                    26
+                ],
+                "raw_value": 26,
+                "value": 26
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41028,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 4
+            },
+            "voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41029,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41030,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "power_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41031,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ah_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41032,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41033,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41034,
+                "registers": [
+                    507
+                ],
+                "raw_value": 507,
+                "value": 50.7
+            },
+            "array_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41035,
+                "registers": [
+                    831
+                ],
+                "raw_value": 831,
+                "value": 83.1
+            },
+            "battery_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41036,
+                "registers": [
+                    55
+                ],
+                "raw_value": 55,
+                "value": 5.5
+            },
+            "array_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 41037,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "charger_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41038,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<charger_state.Bulk: 2>",
+                "value": "<charger_state.Bulk: 2>"
+            },
+            "watts": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 41039,
+                "registers": [
+                    278
+                ],
+                "raw_value": 278,
+                "value": 278
+            },
+            "todays_min_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41040,
+                "registers": [
+                    496
+                ],
+                "raw_value": 496,
+                "value": 49.6
+            },
+            "todays_max_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41041,
+                "registers": [
+                    521
+                ],
+                "raw_value": 521,
+                "value": 52.1
+            },
+            "voc": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41042,
+                "registers": [
+                    1009
+                ],
+                "raw_value": 1009,
+                "value": 100.9
+            },
+            "todays_peak_voc": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41043,
+                "registers": [
+                    100
+                ],
+                "raw_value": 100,
+                "value": 100
+            },
+            "todays_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41044,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "todays_ah": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 41045,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "lifetime_kwh_hours": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41046,
+                "registers": [
+                    6230
+                ],
+                "raw_value": 6230,
+                "value": 6230
+            },
+            "lifetime_k_amp_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41047,
+                "registers": [
+                    1120
+                ],
+                "raw_value": 1120,
+                "value": 112.0
+            },
+            "lifetime_max_watts": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 41048,
+                "registers": [
+                    3072
+                ],
+                "raw_value": 3072,
+                "value": 3072
+            },
+            "lifetime_max_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41049,
+                "registers": [
+                    646
+                ],
+                "raw_value": 646,
+                "value": 64.6
+            },
+            "lifetime_max_voc": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41050,
+                "registers": [
+                    1384
+                ],
+                "raw_value": 1384,
+                "value": 138.4
+            },
+            "temp_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41051,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "temp_output_fets": {
+                "implemented": false,
+                "scale_factor": 0,
+                "address": 41052,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "temp_enclosure": {
+                "implemented": false,
+                "scale_factor": 0,
+                "address": 41053,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            }
+        }
+    },
+    {
+        "name": "ChargeControllerConfigurationValues",
+        "address": 41054,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41054,
+                "registers": [
+                    64112
+                ],
+                "raw_value": 64112,
+                "value": 64112
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41055,
+                "registers": [
+                    88
+                ],
+                "raw_value": 88,
+                "value": 88
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41056,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 4
+            },
+            "voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41057,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41058,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "hours_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41059,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "power_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41060,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ah_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41061,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41062,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "faults": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41063,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "absorb_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41064,
+                "registers": [
+                    588
+                ],
+                "raw_value": 588,
+                "value": 58.8
+            },
+            "absorb_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41065,
+                "registers": [
+                    30
+                ],
+                "raw_value": 30,
+                "value": 3.0
+            },
+            "absorb_end_amps": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41066,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "rebulk_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41067,
+                "registers": [
+                    480
+                ],
+                "raw_value": 480,
+                "value": 48.0
+            },
+            "float_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41068,
+                "registers": [
+                    552
+                ],
+                "raw_value": 552,
+                "value": 55.2
+            },
+            "bulk_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41069,
+                "registers": [
+                    800
+                ],
+                "raw_value": 800,
+                "value": 80.0
+            },
+            "eq_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41070,
+                "registers": [
+                    636
+                ],
+                "raw_value": 636,
+                "value": 63.6
+            },
+            "eq_time_hours": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41071,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "auto_eq_days": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41072,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "mppt_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41073,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<mppt_mode.Auto: 0>",
+                "value": "<mppt_mode.Auto: 0>"
+            },
+            "sweep_width": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41074,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<sweep_width.Half: 1>",
+                "value": "<sweep_width.Half: 1>"
+            },
+            "sweep_max_percentage": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41075,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<sweep_max_percentage.90: 2>",
+                "value": "<sweep_max_percentage.90: 2>"
+            },
+            "u_pick_pwm_duty_cycle": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41076,
+                "registers": [
+                    770
+                ],
+                "raw_value": 770,
+                "value": 77.0
+            },
+            "grid_tie_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41077,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<grid_tie_mode.Grid Tie Mode disabled: 0>",
+                "value": "<grid_tie_mode.Grid Tie Mode disabled: 0>"
+            },
+            "temp_comp_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41078,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<temp_comp_mode.User Limited: 1>",
+                "value": "<temp_comp_mode.User Limited: 1>"
+            },
+            "temp_comp_lower_limit_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41079,
+                "registers": [
+                    530
+                ],
+                "raw_value": 530,
+                "value": 53.0
+            },
+            "temp_comp_upper_limit_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41080,
+                "registers": [
+                    630
+                ],
+                "raw_value": 630,
+                "value": 63.0
+            },
+            "temp_comp_slope": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 41081,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "auto_restart_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41082,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>",
+                "value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>"
+            },
+            "wakeup_voc": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41083,
+                "registers": [
+                    60
+                ],
+                "raw_value": 60,
+                "value": 6.0
+            },
+            "snooze_mode_amps": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41084,
+                "registers": [
+                    6
+                ],
+                "raw_value": 6,
+                "value": 0.6
+            },
+            "wakeup_interval": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41085,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "aux_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41086,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<aux_mode.Diversion: Solid St: 2>",
+                "value": "<aux_mode.Diversion: Solid St: 2>"
+            },
+            "aux_control": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41087,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<aux_control.On: 2>",
+                "value": "<aux_control.On: 2>"
+            },
+            "aux_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41088,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<aux_state.Disabled: 0>",
+                "value": "<aux_state.Disabled: 0>"
+            },
+            "aux_polarity": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41089,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<aux_polarity.Low: 0>",
+                "value": "<aux_polarity.Low: 0>"
+            },
+            "aux_low_battery_disconnect": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41090,
+                "registers": [
+                    544
+                ],
+                "raw_value": 544,
+                "value": 54.4
+            },
+            "aux_low_battery_reconnect": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41091,
+                "registers": [
+                    576
+                ],
+                "raw_value": 576,
+                "value": 57.6
+            },
+            "aux_low_battery_disconnect_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41092,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "aux_vent_fan_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41093,
+                "registers": [
+                    576
+                ],
+                "raw_value": 576,
+                "value": 57.6
+            },
+            "aux_pv_limit_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41094,
+                "registers": [
+                    1400
+                ],
+                "raw_value": 1400,
+                "value": 140.0
+            },
+            "aux_pv_limit_hold_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41095,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "aux_night_light_thres_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41096,
+                "registers": [
+                    100
+                ],
+                "raw_value": 100,
+                "value": 10.0
+            },
+            "night_light_on_hours": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41097,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 4
+            },
+            "night_light_on_hyst_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41098,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "night_light_off_hyst_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41099,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "aux_error_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41100,
+                "registers": [
+                    460
+                ],
+                "raw_value": 460,
+                "value": 46.0
+            },
+            "aux_divert_hold_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41101,
+                "registers": [
+                    50
+                ],
+                "raw_value": 50,
+                "value": 5.0
+            },
+            "aux_divert_delay_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41102,
+                "registers": [
+                    8
+                ],
+                "raw_value": 8,
+                "value": 8
+            },
+            "aux_divert_relative_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41103,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "aux_divert_hyst_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41104,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "major_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41105,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "mid_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41106,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "minor_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41107,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "set_data_log_day_offset": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41108,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "get_current_data_log_day_offset": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41109,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "data_log_daily_ah": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 41110,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "data_log_daily_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41111,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "data_log_daily_max_output_amps": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41112,
+                "registers": [
+                    59
+                ],
+                "raw_value": 59,
+                "value": 5.9
+            },
+            "data_log_daily_max_output_watts": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 41113,
+                "registers": [
+                    304
+                ],
+                "raw_value": 304,
+                "value": 304
+            },
+            "data_log_daily_absorb_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41114,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "data_log_daily_float_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41115,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "data_log_daily_min_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41116,
+                "registers": [
+                    496
+                ],
+                "raw_value": 496,
+                "value": 49.6
+            },
+            "data_log_daily_max_battery_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41117,
+                "registers": [
+                    521
+                ],
+                "raw_value": 521,
+                "value": 52.1
+            },
+            "data_log_daily_max_input_volts": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41118,
+                "registers": [
+                    100
+                ],
+                "raw_value": 100,
+                "value": 100
+            },
+            "clear_data_log_read": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41119,
+                "registers": [
+                    41149
+                ],
+                "raw_value": 41149,
+                "value": 41149
+            },
+            "stats_maximum_reset_read": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41121,
+                "registers": [
+                    59435
+                ],
+                "raw_value": 59435,
+                "value": 59435
+            },
+            "stats_totals_reset_read": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41123,
+                "registers": [
+                    59713
+                ],
+                "raw_value": 59713,
+                "value": 59713
+            },
+            "battery_voltage_calibrate_offset": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41125,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "serial_number": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 41126,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "model_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41135,
+                "registers": [
+                    17997,
+                    14384,
+                    11569,
+                    13616,
+                    22084,
+                    17152,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "FM80-150VDC",
+                "value": "FM80-150VDC"
+            }
+        }
+    },
+    {
+        "name": "FNDCDeviceValues",
+        "address": 41144,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41144,
+                "registers": [
+                    64118
+                ],
+                "raw_value": 64118,
+                "value": 64118
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41145,
+                "registers": [
+                    76
+                ],
+                "raw_value": 76,
+                "value": 76
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41146,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "dc_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41147,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "dc_current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41148,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "time_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41149,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41150,
+                "registers": [
+                    65534
+                ],
+                "raw_value": -2,
+                "value": -2
+            },
+            "kw_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41151,
+                "registers": [
+                    65534
+                ],
+                "raw_value": -2,
+                "value": -2
+            },
+            "shunt_a_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41152,
+                "registers": [
+                    128
+                ],
+                "raw_value": 128,
+                "value": 12.8
+            },
+            "shunt_b_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41153,
+                "registers": [
+                    65370
+                ],
+                "raw_value": -166,
+                "value": -16.6
+            },
+            "shunt_c_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41154,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41155,
+                "registers": [
+                    506
+                ],
+                "raw_value": 506,
+                "value": 50.6
+            },
+            "battery_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41156,
+                "registers": [
+                    65499
+                ],
+                "raw_value": -37,
+                "value": -3.7
+            },
+            "battery_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41157,
+                "registers": [
+                    12
+                ],
+                "raw_value": 12,
+                "value": 12
+            },
+            "status_flags": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41158,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "shunt_a_accumulated_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41159,
+                "registers": [
+                    7
+                ],
+                "raw_value": 7,
+                "value": 7
+            },
+            "shunt_a_accumulated_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41160,
+                "registers": [
+                    40
+                ],
+                "raw_value": 40,
+                "value": 0.4
+            },
+            "shunt_b_accumulated_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41161,
+                "registers": [
+                    65514
+                ],
+                "raw_value": -22,
+                "value": -22
+            },
+            "shunt_b_accumulated_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41162,
+                "registers": [
+                    65420
+                ],
+                "raw_value": -116,
+                "value": -1.16
+            },
+            "shunt_c_accumulated_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41163,
+                "registers": [
+                    2
+                ],
+                "raw_value": 2,
+                "value": 2
+            },
+            "shunt_c_accumulated_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41164,
+                "registers": [
+                    15
+                ],
+                "raw_value": 15,
+                "value": 0.15
+            },
+            "input_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41165,
+                "registers": [
+                    129
+                ],
+                "raw_value": 129,
+                "value": 12.9
+            },
+            "output_current": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41166,
+                "registers": [
+                    166
+                ],
+                "raw_value": 166,
+                "value": 16.6
+            },
+            "input_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41167,
+                "registers": [
+                    66
+                ],
+                "raw_value": 66,
+                "value": 0.66
+            },
+            "output_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41168,
+                "registers": [
+                    84
+                ],
+                "raw_value": 84,
+                "value": 0.84
+            },
+            "net_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41169,
+                "registers": [
+                    65518
+                ],
+                "raw_value": -18,
+                "value": -0.18
+            },
+            "days_since_charge_parameters_met": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41170,
+                "registers": [
+                    7
+                ],
+                "raw_value": 7,
+                "value": 0.7
+            },
+            "state_of_charge": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41171,
+                "registers": [
+                    96
+                ],
+                "raw_value": 96,
+                "value": 96
+            },
+            "todays_minimum_soc": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41172,
+                "registers": [
+                    96
+                ],
+                "raw_value": 96,
+                "value": 96
+            },
+            "todays_maximum_soc": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41173,
+                "registers": [
+                    100
+                ],
+                "raw_value": 100,
+                "value": 100
+            },
+            "todays_net_input_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41174,
+                "registers": [
+                    9
+                ],
+                "raw_value": 9,
+                "value": 9
+            },
+            "todays_net_input_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41175,
+                "registers": [
+                    47
+                ],
+                "raw_value": 47,
+                "value": 0.47
+            },
+            "todays_net_output_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41176,
+                "registers": [
+                    21
+                ],
+                "raw_value": 21,
+                "value": 21
+            },
+            "todays_net_output_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41177,
+                "registers": [
+                    108
+                ],
+                "raw_value": 108,
+                "value": 1.08
+            },
+            "todays_net_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41178,
+                "registers": [
+                    65524
+                ],
+                "raw_value": -12,
+                "value": -12
+            },
+            "todays_net_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41179,
+                "registers": [
+                    65475
+                ],
+                "raw_value": -61,
+                "value": -0.61
+            },
+            "charge_factor_corrected_net_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41180,
+                "registers": [
+                    65523
+                ],
+                "raw_value": -13,
+                "value": -13
+            },
+            "charge_factor_corrected_net_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41181,
+                "registers": [
+                    65472
+                ],
+                "raw_value": -64,
+                "value": -0.64
+            },
+            "todays_minimum_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41182,
+                "registers": [
+                    498
+                ],
+                "raw_value": 498,
+                "value": 49.8
+            },
+            "todays_minimum_battery_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41183,
+                "registers": [
+                    29725,
+                    24557
+                ],
+                "raw_value": 1948082157,
+                "value": 1948082157
+            },
+            "todays_maximum_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41185,
+                "registers": [
+                    520
+                ],
+                "raw_value": 520,
+                "value": 52.0
+            },
+            "todays_maximum_battery_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41186,
+                "registers": [
+                    63585,
+                    24556
+                ],
+                "raw_value": 4167131116,
+                "value": 4167131116
+            },
+            "cycle_charge_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41188,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "cycle_kwh_charge_efficiency": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41189,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 10
+            },
+            "total_days_at_100_percent": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41190,
+                "registers": [
+                    2469
+                ],
+                "raw_value": 2469,
+                "value": 246.9
+            },
+            "lifetime_k_ah_removed": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41191,
+                "registers": [
+                    200
+                ],
+                "raw_value": 200,
+                "value": 200
+            },
+            "shunt_a_historical_returned_to_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41192,
+                "registers": [
+                    7
+                ],
+                "raw_value": 7,
+                "value": 7
+            },
+            "shunt_a_historical_returned_to_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41193,
+                "registers": [
+                    40
+                ],
+                "raw_value": 40,
+                "value": 0.4
+            },
+            "shunt_a_historical_removed_from_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41194,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "shunt_a_historical_removed_from_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41195,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.01
+            },
+            "shunt_a_maximum_charge_rate": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41196,
+                "registers": [
+                    141
+                ],
+                "raw_value": 141,
+                "value": 14.1
+            },
+            "shunt_a_maximum_charge_rate_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41197,
+                "registers": [
+                    72
+                ],
+                "raw_value": 72,
+                "value": 0.72
+            },
+            "shunt_a_maximum_discharge_rate": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41198,
+                "registers": [
+                    65532
+                ],
+                "raw_value": -4,
+                "value": -0.4
+            },
+            "shunt_a_maximum_discharge_rate_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41199,
+                "registers": [
+                    65534
+                ],
+                "raw_value": -2,
+                "value": -0.02
+            },
+            "shunt_b_historical_returned_to_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41200,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "shunt_b_historical_returned_to_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41201,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "shunt_b_historical_removed_from_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41202,
+                "registers": [
+                    22
+                ],
+                "raw_value": 22,
+                "value": 22
+            },
+            "shunt_b_historical_removed_from_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41203,
+                "registers": [
+                    116
+                ],
+                "raw_value": 116,
+                "value": 1.16
+            },
+            "shunt_b_maximum_charge_rate": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41204,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.1
+            },
+            "shunt_b_maximum_charge_rate_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41205,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 0.01
+            },
+            "shunt_b_maximum_discharge_rate": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41206,
+                "registers": [
+                    65169
+                ],
+                "raw_value": -367,
+                "value": -36.7
+            },
+            "shunt_b_maximum_discharge_rate_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41207,
+                "registers": [
+                    65353
+                ],
+                "raw_value": -183,
+                "value": -1.83
+            },
+            "shunt_c_historical_returned_to_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41208,
+                "registers": [
+                    2
+                ],
+                "raw_value": 2,
+                "value": 2
+            },
+            "shunt_c_historical_returned_to_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41209,
+                "registers": [
+                    15
+                ],
+                "raw_value": 15,
+                "value": 0.15
+            },
+            "shunt_c_historical_removed_from_battery_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41210,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "shunt_c_historical_removed_from_battery_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41211,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "shunt_c_maximum_charge_rate": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41212,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 0.3
+            },
+            "shunt_c_maximum_charge_rate_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41213,
+                "registers": [
+                    2
+                ],
+                "raw_value": 2,
+                "value": 0.02
+            },
+            "shunt_c_maximum_discharge_rate": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41214,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -0.1
+            },
+            "shunt_c_maximum_discharge_rate_kw": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41215,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -0.01
+            },
+            "shunt_a_reset_maximum_data": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41216,
+                "registers": [
+                    17519
+                ],
+                "raw_value": 17519,
+                "value": 17519
+            },
+            "shunt_b_reset_maximum_data": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41218,
+                "registers": [
+                    6149
+                ],
+                "raw_value": 6149,
+                "value": 6149
+            },
+            "shunt_c_reset_maximum_data": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41220,
+                "registers": [
+                    16147
+                ],
+                "raw_value": 16147,
+                "value": 16147
+            }
+        }
+    },
+    {
+        "name": "FLEXnetDCConfigurationValues",
+        "address": 41222,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41222,
+                "registers": [
+                    64119
+                ],
+                "raw_value": 64119,
+                "value": 64119
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41223,
+                "registers": [
+                    52
+                ],
+                "raw_value": 52,
+                "value": 52
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41224,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "dc_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41225,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "dc_current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41226,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41227,
+                "registers": [
+                    65534
+                ],
+                "raw_value": -2,
+                "value": -2
+            },
+            "major_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41228,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "mid_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41229,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "minor_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41230,
+                "registers": [
+                    71
+                ],
+                "raw_value": 71,
+                "value": 71
+            },
+            "battery_capacity": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41231,
+                "registers": [
+                    380
+                ],
+                "raw_value": 380,
+                "value": 380
+            },
+            "charged_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41232,
+                "registers": [
+                    572
+                ],
+                "raw_value": 572,
+                "value": 57.2
+            },
+            "charged_time": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41233,
+                "registers": [
+                    30
+                ],
+                "raw_value": 30,
+                "value": 30
+            },
+            "battery_charged_amps": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41234,
+                "registers": [
+                    55
+                ],
+                "raw_value": 55,
+                "value": 5.5
+            },
+            "charge_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41235,
+                "registers": [
+                    95
+                ],
+                "raw_value": 95,
+                "value": 95
+            },
+            "shunt_a_enabled": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41236,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<shunt_a_enabled.Enabled: 0>",
+                "value": "<shunt_a_enabled.Enabled: 0>"
+            },
+            "shunt_b_enabled": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41237,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<shunt_b_enabled.Enabled: 0>",
+                "value": "<shunt_b_enabled.Enabled: 0>"
+            },
+            "shunt_c_enabled": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41238,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<shunt_c_enabled.Enabled: 0>",
+                "value": "<shunt_c_enabled.Enabled: 0>"
+            },
+            "relay_control": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41239,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<relay_control.Auto: 1>",
+                "value": "<relay_control.Auto: 1>"
+            },
+            "relay_invert_logic": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41240,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<relay_invert_logic.Normal: 1>",
+                "value": "<relay_invert_logic.Normal: 1>"
+            },
+            "relay_high_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41241,
+                "registers": [
+                    600
+                ],
+                "raw_value": 600,
+                "value": 60.0
+            },
+            "relay_low_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 41242,
+                "registers": [
+                    576
+                ],
+                "raw_value": 576,
+                "value": 57.6
+            },
+            "relay_soc_high": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41243,
+                "registers": [
+                    99
+                ],
+                "raw_value": 99,
+                "value": 99
+            },
+            "relay_soc_low": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41244,
+                "registers": [
+                    80
+                ],
+                "raw_value": 80,
+                "value": 80
+            },
+            "relay_high_enable_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41245,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "relay_low_enable_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41246,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "set_data_log_day_offset": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41247,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "get_current_data_log_day_offset": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41248,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "datalog_minimum_soc": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41249,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "datalog_input_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41250,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "datalog_input_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41251,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "datalog_output_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41252,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "datalog_output_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41253,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "datalog_net_ah": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41254,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "datalog_net_kwh": {
+                "implemented": true,
+                "scale_factor": -2,
+                "address": 41255,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "clear_data_log_read": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41256,
+                "registers": [
+                    28937
+                ],
+                "raw_value": 28937,
+                "value": 28937
+            },
+            "serial_number": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 41258,
+                "registers": [
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "model_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 41267,
+                "registers": [
+                    17996,
+                    17752,
+                    28261,
+                    29728,
+                    17475,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "FLEXnet DC",
+                "value": "FLEXnet DC"
+            }
+        }
+    },
+    {
+        "name": "SinglePhaseRadianInverterDeviceValues",
+        "address": 40630,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40630,
+                "registers": [
+                    64117
+                ],
+                "raw_value": 64117,
+                "value": 64117
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40631,
+                "registers": [
+                    46
+                ],
+                "raw_value": 46,
+                "value": 46
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40632,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "dc_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40633,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac_current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40634,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ac_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40635,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ac_frequency_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40636,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "inverter_output_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40637,
+                "registers": [
+                    3
+                ],
+                "raw_value": 3,
+                "value": 3
+            },
+            "inverter_charge_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40638,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "inverter_buy_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40639,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "inverter_sell_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40640,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_input_ac_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40641,
+                "registers": [
+                    214
+                ],
+                "raw_value": 214,
+                "value": 214
+            },
+            "gen_input_ac_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40642,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "output_ac_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40643,
+                "registers": [
+                    236
+                ],
+                "raw_value": 236,
+                "value": 236
+            },
+            "inverter_operating_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40644,
+                "registers": [
+                    2
+                ],
+                "raw_value": "<inverter_operating_mode.Inverting: 2>",
+                "value": "<inverter_operating_mode.Inverting: 2>"
+            },
+            "error_flags": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40645,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "warning_flags": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40646,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40647,
+                "registers": [
+                    508
+                ],
+                "raw_value": 508,
+                "value": 50.8
+            },
+            "temp_compensated_target_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40648,
+                "registers": [
+                    492
+                ],
+                "raw_value": 492,
+                "value": 49.2
+            },
+            "aux_output_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40649,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<aux_output_state.Enabled: 1>",
+                "value": "<aux_output_state.Enabled: 1>"
+            },
+            "aux_relay_output_state": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40650,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "l_module_transformer_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40651,
+                "registers": [
+                    40
+                ],
+                "raw_value": 40,
+                "value": 40
+            },
+            "l_module_capacitor_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40652,
+                "registers": [
+                    33
+                ],
+                "raw_value": 33,
+                "value": 33
+            },
+            "l_module_fet_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40653,
+                "registers": [
+                    39
+                ],
+                "raw_value": 39,
+                "value": 39
+            },
+            "r_module_transformer_temperature": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40654,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "r_module_capacitor_temperature": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40655,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "r_module_fet_temperature": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40656,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "battery_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40657,
+                "registers": [
+                    12
+                ],
+                "raw_value": 12,
+                "value": 12
+            },
+            "ac_input_selection": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40658,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_input_selection.Grid: 0>",
+                "value": "<ac_input_selection.Grid: 0>"
+            },
+            "ac_input_frequency": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40659,
+                "registers": [
+                    500
+                ],
+                "raw_value": 500,
+                "value": 50.0
+            },
+            "ac_input_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40660,
+                "registers": [
+                    214
+                ],
+                "raw_value": 214,
+                "value": 214
+            },
+            "ac_input_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40661,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_input_state.AC_Drop: 0>",
+                "value": "<ac_input_state.AC_Drop: 0>"
+            },
+            "minimum_ac_input_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40662,
+                "registers": [
+                    210
+                ],
+                "raw_value": 210,
+                "value": 210
+            },
+            "maximum_ac_input_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40663,
+                "registers": [
+                    240
+                ],
+                "raw_value": 240,
+                "value": 240
+            },
+            "sell_status": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40664,
+                "registers": [
+                    80
+                ],
+                "raw_value": 80,
+                "value": 80
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40665,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac1_buy_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40666,
+                "registers": [
+                    20
+                ],
+                "raw_value": 20,
+                "value": 2.0
+            },
+            "ac2_buy_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40667,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "ac1_sell_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40668,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "ac2_sell_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40669,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "output_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40670,
+                "registers": [
+                    8
+                ],
+                "raw_value": 8,
+                "value": 0.8
+            },
+            "charger_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40671,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "output_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40672,
+                "registers": [
+                    7
+                ],
+                "raw_value": 7,
+                "value": 0.7
+            },
+            "buy_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40673,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "sell_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40674,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "charge_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40675,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "load_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40676,
+                "registers": [
+                    7
+                ],
+                "raw_value": 7,
+                "value": 0.7
+            },
+            "ac_couple_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40677,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "gt_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40678,
+                "registers": [
+                    64116
+                ],
+                "raw_value": 64116,
+                "value": 64116
+            }
+        }
+    },
+    {
+        "name": "RadianInverterConfigurationValues",
+        "address": 40678,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40678,
+                "registers": [
+                    64116
+                ],
+                "raw_value": 64116,
+                "value": 64116
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40679,
+                "registers": [
+                    89
+                ],
+                "raw_value": 89,
+                "value": 89
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40680,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "dc_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40681,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac_current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40682,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40683,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "time_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40684,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "major_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40685,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "mid_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40686,
+                "registers": [
+                    6
+                ],
+                "raw_value": 6,
+                "value": 6
+            },
+            "minor_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40687,
+                "registers": [
+                    15
+                ],
+                "raw_value": 15,
+                "value": 15
+            },
+            "absorb_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40688,
+                "registers": [
+                    576
+                ],
+                "raw_value": 576,
+                "value": 57.6
+            },
+            "absorb_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40689,
+                "registers": [
+                    20
+                ],
+                "raw_value": 20,
+                "value": 2.0
+            },
+            "float_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40690,
+                "registers": [
+                    544
+                ],
+                "raw_value": 544,
+                "value": 54.4
+            },
+            "float_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40691,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 1.0
+            },
+            "re_float_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40692,
+                "registers": [
+                    500
+                ],
+                "raw_value": 500,
+                "value": 50.0
+            },
+            "eq_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40693,
+                "registers": [
+                    636
+                ],
+                "raw_value": 636,
+                "value": 63.6
+            },
+            "eq_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40694,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 1.0
+            },
+            "search_sensitivity": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40695,
+                "registers": [
+                    30
+                ],
+                "raw_value": 30,
+                "value": 30
+            },
+            "search_pulse_length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40696,
+                "registers": [
+                    8
+                ],
+                "raw_value": 8,
+                "value": 8
+            },
+            "search_pulse_spacing": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40697,
+                "registers": [
+                    60
+                ],
+                "raw_value": 60,
+                "value": 60
+            },
+            "ac_input_select_priority": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40698,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_input_select_priority.Grid: 0>",
+                "value": "<ac_input_select_priority.Grid: 0>"
+            },
+            "grid_ac_input_current_limit": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40699,
+                "registers": [
+                    300
+                ],
+                "raw_value": 300,
+                "value": 30.0
+            },
+            "gen_ac_input_current_limit": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40700,
+                "registers": [
+                    300
+                ],
+                "raw_value": 300,
+                "value": 30.0
+            },
+            "charger_ac_input_current_limit": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40701,
+                "registers": [
+                    75
+                ],
+                "raw_value": 75,
+                "value": 7.5
+            },
+            "charger_operating_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40702,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<charger_operating_mode.All Inverter Charging Disabled: 0>",
+                "value": "<charger_operating_mode.All Inverter Charging Disabled: 0>"
+            },
+            "ac_coupled": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40703,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_coupled.No: 0>",
+                "value": "<ac_coupled.No: 0>"
+            },
+            "grid_input_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40704,
+                "registers": [
+                    5
+                ],
+                "raw_value": "<grid_input_mode.Mini Grid: 5>",
+                "value": "<grid_input_mode.Mini Grid: 5>"
+            },
+            "grid_lower_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40705,
+                "registers": [
+                    204
+                ],
+                "raw_value": 204,
+                "value": 204
+            },
+            "grid_upper_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40706,
+                "registers": [
+                    252
+                ],
+                "raw_value": 252,
+                "value": 252
+            },
+            "grid_transfer_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40707,
+                "registers": [
+                    1000
+                ],
+                "raw_value": 1000,
+                "value": 1000
+            },
+            "grid_connect_delay": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40708,
+                "registers": [
+                    20
+                ],
+                "raw_value": 20,
+                "value": 2.0
+            },
+            "gen_input_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40709,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<gen_input_mode.Generator: 0>",
+                "value": "<gen_input_mode.Generator: 0>"
+            },
+            "gen_lower_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40710,
+                "registers": [
+                    204
+                ],
+                "raw_value": 204,
+                "value": 204
+            },
+            "gen_upper_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40711,
+                "registers": [
+                    252
+                ],
+                "raw_value": 252,
+                "value": 252
+            },
+            "gen_transfer_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40712,
+                "registers": [
+                    1000
+                ],
+                "raw_value": 1000,
+                "value": 1000
+            },
+            "gen_connect_delay": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40713,
+                "registers": [
+                    20
+                ],
+                "raw_value": 20,
+                "value": 2.0
+            },
+            "ac_output_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40714,
+                "registers": [
+                    230
+                ],
+                "raw_value": 230,
+                "value": 230
+            },
+            "low_battery_cut_out_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40715,
+                "registers": [
+                    468
+                ],
+                "raw_value": 468,
+                "value": 46.8
+            },
+            "low_battery_cut_in_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40716,
+                "registers": [
+                    500
+                ],
+                "raw_value": 500,
+                "value": 50.0
+            },
+            "aux_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40717,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<aux_mode.Load Shed: 1>",
+                "value": "<aux_mode.Load Shed: 1>"
+            },
+            "aux_control": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40718,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<aux_control.Auto: 1>",
+                "value": "<aux_control.Auto: 1>"
+            },
+            "aux_on_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40719,
+                "registers": [
+                    520
+                ],
+                "raw_value": 520,
+                "value": 52.0
+            },
+            "aux_on_delay_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40720,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 0.5
+            },
+            "aux_off_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40721,
+                "registers": [
+                    460
+                ],
+                "raw_value": 460,
+                "value": 46.0
+            },
+            "aux_off_delay_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40722,
+                "registers": [
+                    50
+                ],
+                "raw_value": 50,
+                "value": 5.0
+            },
+            "aux_relay_mode": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40723,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_control": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40724,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_on_battery_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40725,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_on_delay_time": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40726,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_off_battery_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40727,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_off_delay_time": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40728,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "stacking_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40729,
+                "registers": [
+                    10
+                ],
+                "raw_value": "<stacking_mode.Master: 10>",
+                "value": "<stacking_mode.Master: 10>"
+            },
+            "master_power_save_level": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40730,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "slave_power_save_level": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40731,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "sell_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40732,
+                "registers": [
+                    528
+                ],
+                "raw_value": 528,
+                "value": 52.8
+            },
+            "grid_tie_window": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40733,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "grid_tie_enable": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40734,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<grid_tie_enable.Yes: 1>",
+                "value": "<grid_tie_enable.Yes: 1>"
+            },
+            "grid_ac_input_voltage_calibrate_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40735,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "gen_ac_input_voltage_calibrate_factor": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40736,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "ac_output_voltage_calibrate_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40737,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "battery_voltage_calibrate_factor": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40738,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 0.4
+            },
+            "re_bulk_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40739,
+                "registers": [
+                    480
+                ],
+                "raw_value": 480,
+                "value": 48.0
+            },
+            "mini_grid_lbx_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40740,
+                "registers": [
+                    488
+                ],
+                "raw_value": 488,
+                "value": 48.8
+            },
+            "mini_grid_lbx_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40741,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "grid_zero_do_d_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40742,
+                "registers": [
+                    528
+                ],
+                "raw_value": 528,
+                "value": 52.8
+            },
+            "grid_zero_do_d_max_offset_ac_amps": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40743,
+                "registers": [
+                    50
+                ],
+                "raw_value": 50,
+                "value": 5.0
+            },
+            "serial_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40744,
+                "registers": [
+                    21328,
+                    16722,
+                    17696,
+                    18008,
+                    20992,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "SPARE FXR",
+                "value": "SPARE FXR"
+            },
+            "model_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40753,
+                "registers": [
+                    22086,
+                    22610,
+                    13104,
+                    13368,
+                    17664,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "VFXR3048E",
+                "value": "VFXR3048E"
+            },
+            "module_control": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40762,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "model_select": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40763,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<model_select.Full: 0>",
+                "value": "<model_select.Full: 0>"
+            },
+            "low_battery_cut_out_delay": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40764,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "high_battery_cut_out_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40765,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "high_battery_cut_in_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40766,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "high_battery_cut_out_delay": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40767,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "ee_write_enable": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40768,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            }
+        }
+    },
+    {
+        "name": "SinglePhaseRadianInverterDeviceValues",
+        "address": 40769,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40769,
+                "registers": [
+                    64117
+                ],
+                "raw_value": 64117,
+                "value": 64117
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40770,
+                "registers": [
+                    46
+                ],
+                "raw_value": 46,
+                "value": 46
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40771,
+                "registers": [
+                    2
+                ],
+                "raw_value": 2,
+                "value": 2
+            },
+            "dc_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40772,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac_current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40773,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ac_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40774,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "ac_frequency_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40775,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "inverter_output_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40776,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "inverter_charge_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40777,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "inverter_buy_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40778,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "inverter_sell_current": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40779,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "grid_input_ac_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40780,
+                "registers": [
+                    214
+                ],
+                "raw_value": 214,
+                "value": 214
+            },
+            "gen_input_ac_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40781,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "output_ac_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40782,
+                "registers": [
+                    234
+                ],
+                "raw_value": 234,
+                "value": 234
+            },
+            "inverter_operating_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40783,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<inverter_operating_mode.Off: 0>",
+                "value": "<inverter_operating_mode.Off: 0>"
+            },
+            "error_flags": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40784,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "warning_flags": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40785,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40786,
+                "registers": [
+                    508
+                ],
+                "raw_value": 508,
+                "value": 50.8
+            },
+            "temp_compensated_target_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40787,
+                "registers": [
+                    492
+                ],
+                "raw_value": 492,
+                "value": 49.2
+            },
+            "aux_output_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40788,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<aux_output_state.Enabled: 1>",
+                "value": "<aux_output_state.Enabled: 1>"
+            },
+            "aux_relay_output_state": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40789,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "l_module_transformer_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40790,
+                "registers": [
+                    16
+                ],
+                "raw_value": 16,
+                "value": 16
+            },
+            "l_module_capacitor_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40791,
+                "registers": [
+                    18
+                ],
+                "raw_value": 18,
+                "value": 18
+            },
+            "l_module_fet_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40792,
+                "registers": [
+                    21
+                ],
+                "raw_value": 21,
+                "value": 21
+            },
+            "r_module_transformer_temperature": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40793,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "r_module_capacitor_temperature": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40794,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "r_module_fet_temperature": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40795,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "battery_temperature": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40796,
+                "registers": [
+                    12
+                ],
+                "raw_value": 12,
+                "value": 12
+            },
+            "ac_input_selection": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40797,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_input_selection.Grid: 0>",
+                "value": "<ac_input_selection.Grid: 0>"
+            },
+            "ac_input_frequency": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40798,
+                "registers": [
+                    500
+                ],
+                "raw_value": 500,
+                "value": 50.0
+            },
+            "ac_input_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40799,
+                "registers": [
+                    214
+                ],
+                "raw_value": 214,
+                "value": 214
+            },
+            "ac_input_state": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40800,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_input_state.AC_Drop: 0>",
+                "value": "<ac_input_state.AC_Drop: 0>"
+            },
+            "minimum_ac_input_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40801,
+                "registers": [
+                    210
+                ],
+                "raw_value": 210,
+                "value": 210
+            },
+            "maximum_ac_input_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40802,
+                "registers": [
+                    240
+                ],
+                "raw_value": 240,
+                "value": 240
+            },
+            "sell_status": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40803,
+                "registers": [
+                    80
+                ],
+                "raw_value": 80,
+                "value": 80
+            },
+            "kwh_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40804,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac1_buy_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40805,
+                "registers": [
+                    23
+                ],
+                "raw_value": 23,
+                "value": 2.3
+            },
+            "ac2_buy_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40806,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "ac1_sell_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40807,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "ac2_sell_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40808,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "output_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40809,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "charger_kwh": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40810,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "output_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40811,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "buy_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40812,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "sell_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40813,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "charge_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40814,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "load_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40815,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "ac_couple_kw": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40816,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0.0
+            },
+            "gt_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40817,
+                "registers": [
+                    64116
+                ],
+                "raw_value": 64116,
+                "value": 64116
+            }
+        }
+    },
+    {
+        "name": "RadianInverterConfigurationValues",
+        "address": 40817,
+        "values": {
+            "did": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40817,
+                "registers": [
+                    64116
+                ],
+                "raw_value": 64116,
+                "value": 64116
+            },
+            "length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40818,
+                "registers": [
+                    89
+                ],
+                "raw_value": 89,
+                "value": 89
+            },
+            "port_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40819,
+                "registers": [
+                    2
+                ],
+                "raw_value": 2,
+                "value": 2
+            },
+            "dc_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40820,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac_current_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40821,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "ac_voltage_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40822,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "time_scale_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40823,
+                "registers": [
+                    65535
+                ],
+                "raw_value": -1,
+                "value": -1
+            },
+            "major_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40824,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "mid_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40825,
+                "registers": [
+                    6
+                ],
+                "raw_value": 6,
+                "value": 6
+            },
+            "minor_firmware_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40826,
+                "registers": [
+                    15
+                ],
+                "raw_value": 15,
+                "value": 15
+            },
+            "absorb_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40827,
+                "registers": [
+                    576
+                ],
+                "raw_value": 576,
+                "value": 57.6
+            },
+            "absorb_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40828,
+                "registers": [
+                    20
+                ],
+                "raw_value": 20,
+                "value": 2.0
+            },
+            "float_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40829,
+                "registers": [
+                    544
+                ],
+                "raw_value": 544,
+                "value": 54.4
+            },
+            "float_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40830,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 1.0
+            },
+            "re_float_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40831,
+                "registers": [
+                    500
+                ],
+                "raw_value": 500,
+                "value": 50.0
+            },
+            "eq_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40832,
+                "registers": [
+                    636
+                ],
+                "raw_value": 636,
+                "value": 63.6
+            },
+            "eq_time_hours": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40833,
+                "registers": [
+                    10
+                ],
+                "raw_value": 10,
+                "value": 1.0
+            },
+            "search_sensitivity": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40834,
+                "registers": [
+                    30
+                ],
+                "raw_value": 30,
+                "value": 30
+            },
+            "search_pulse_length": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40835,
+                "registers": [
+                    8
+                ],
+                "raw_value": 8,
+                "value": 8
+            },
+            "search_pulse_spacing": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40836,
+                "registers": [
+                    60
+                ],
+                "raw_value": 60,
+                "value": 60
+            },
+            "ac_input_select_priority": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40837,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_input_select_priority.Grid: 0>",
+                "value": "<ac_input_select_priority.Grid: 0>"
+            },
+            "grid_ac_input_current_limit": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40838,
+                "registers": [
+                    300
+                ],
+                "raw_value": 300,
+                "value": 30.0
+            },
+            "gen_ac_input_current_limit": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40839,
+                "registers": [
+                    300
+                ],
+                "raw_value": 300,
+                "value": 30.0
+            },
+            "charger_ac_input_current_limit": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40840,
+                "registers": [
+                    75
+                ],
+                "raw_value": 75,
+                "value": 7.5
+            },
+            "charger_operating_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40841,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<charger_operating_mode.All Inverter Charging Disabled: 0>",
+                "value": "<charger_operating_mode.All Inverter Charging Disabled: 0>"
+            },
+            "ac_coupled": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40842,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<ac_coupled.No: 0>",
+                "value": "<ac_coupled.No: 0>"
+            },
+            "grid_input_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40843,
+                "registers": [
+                    5
+                ],
+                "raw_value": "<grid_input_mode.Mini Grid: 5>",
+                "value": "<grid_input_mode.Mini Grid: 5>"
+            },
+            "grid_lower_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40844,
+                "registers": [
+                    204
+                ],
+                "raw_value": 204,
+                "value": 204
+            },
+            "grid_upper_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40845,
+                "registers": [
+                    252
+                ],
+                "raw_value": 252,
+                "value": 252
+            },
+            "grid_transfer_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40846,
+                "registers": [
+                    1000
+                ],
+                "raw_value": 1000,
+                "value": 1000
+            },
+            "grid_connect_delay": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40847,
+                "registers": [
+                    20
+                ],
+                "raw_value": 20,
+                "value": 2.0
+            },
+            "gen_input_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40848,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<gen_input_mode.Generator: 0>",
+                "value": "<gen_input_mode.Generator: 0>"
+            },
+            "gen_lower_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40849,
+                "registers": [
+                    204
+                ],
+                "raw_value": 204,
+                "value": 204
+            },
+            "gen_upper_input_voltage_limit": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40850,
+                "registers": [
+                    252
+                ],
+                "raw_value": 252,
+                "value": 252
+            },
+            "gen_transfer_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40851,
+                "registers": [
+                    1000
+                ],
+                "raw_value": 1000,
+                "value": 1000
+            },
+            "gen_connect_delay": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40852,
+                "registers": [
+                    20
+                ],
+                "raw_value": 20,
+                "value": 2.0
+            },
+            "ac_output_voltage": {
+                "implemented": true,
+                "scale_factor": 0,
+                "address": 40853,
+                "registers": [
+                    230
+                ],
+                "raw_value": 230,
+                "value": 230
+            },
+            "low_battery_cut_out_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40854,
+                "registers": [
+                    468
+                ],
+                "raw_value": 468,
+                "value": 46.8
+            },
+            "low_battery_cut_in_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40855,
+                "registers": [
+                    500
+                ],
+                "raw_value": 500,
+                "value": 50.0
+            },
+            "aux_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40856,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<aux_mode.Load Shed: 1>",
+                "value": "<aux_mode.Load Shed: 1>"
+            },
+            "aux_control": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40857,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<aux_control.Auto: 1>",
+                "value": "<aux_control.Auto: 1>"
+            },
+            "aux_on_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40858,
+                "registers": [
+                    520
+                ],
+                "raw_value": 520,
+                "value": 52.0
+            },
+            "aux_on_delay_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40859,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 0.5
+            },
+            "aux_off_battery_voltage": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40860,
+                "registers": [
+                    460
+                ],
+                "raw_value": 460,
+                "value": 46.0
+            },
+            "aux_off_delay_time": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40861,
+                "registers": [
+                    50
+                ],
+                "raw_value": 50,
+                "value": 5.0
+            },
+            "aux_relay_mode": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40862,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_control": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40863,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_on_battery_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40864,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_on_delay_time": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40865,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_off_battery_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40866,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "aux_relay_off_delay_time": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40867,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "stacking_mode": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40868,
+                "registers": [
+                    12
+                ],
+                "raw_value": "<stacking_mode.Slave: 12>",
+                "value": "<stacking_mode.Slave: 12>"
+            },
+            "master_power_save_level": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40869,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "slave_power_save_level": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40870,
+                "registers": [
+                    1
+                ],
+                "raw_value": 1,
+                "value": 1
+            },
+            "sell_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40871,
+                "registers": [
+                    528
+                ],
+                "raw_value": 528,
+                "value": 52.8
+            },
+            "grid_tie_window": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40872,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "grid_tie_enable": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40873,
+                "registers": [
+                    1
+                ],
+                "raw_value": "<grid_tie_enable.Yes: 1>",
+                "value": "<grid_tie_enable.Yes: 1>"
+            },
+            "grid_ac_input_voltage_calibrate_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40874,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "gen_ac_input_voltage_calibrate_factor": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40875,
+                "registers": [
+                    32768
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "ac_output_voltage_calibrate_factor": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40876,
+                "registers": [
+                    0
+                ],
+                "raw_value": 0,
+                "value": 0
+            },
+            "battery_voltage_calibrate_factor": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40877,
+                "registers": [
+                    4
+                ],
+                "raw_value": 4,
+                "value": 0.4
+            },
+            "re_bulk_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40878,
+                "registers": [
+                    480
+                ],
+                "raw_value": 480,
+                "value": 48.0
+            },
+            "mini_grid_lbx_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40879,
+                "registers": [
+                    488
+                ],
+                "raw_value": 488,
+                "value": 48.8
+            },
+            "mini_grid_lbx_delay": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40880,
+                "registers": [
+                    5
+                ],
+                "raw_value": 5,
+                "value": 5
+            },
+            "grid_zero_do_d_volts": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40881,
+                "registers": [
+                    528
+                ],
+                "raw_value": 528,
+                "value": 52.8
+            },
+            "grid_zero_do_d_max_offset_ac_amps": {
+                "implemented": true,
+                "scale_factor": -1,
+                "address": 40882,
+                "registers": [
+                    50
+                ],
+                "raw_value": 50,
+                "value": 5.0
+            },
+            "serial_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40883,
+                "registers": [
+                    21328,
+                    16722,
+                    17696,
+                    18008,
+                    20992,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "SPARE FXR",
+                "value": "SPARE FXR"
+            },
+            "model_number": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40892,
+                "registers": [
+                    22086,
+                    22610,
+                    13104,
+                    13368,
+                    17664,
+                    0,
+                    0,
+                    0,
+                    0
+                ],
+                "raw_value": "VFXR3048E",
+                "value": "VFXR3048E"
+            },
+            "module_control": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40901,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "model_select": {
+                "implemented": true,
+                "scale_factor": null,
+                "address": 40902,
+                "registers": [
+                    0
+                ],
+                "raw_value": "<model_select.Full: 0>",
+                "value": "<model_select.Full: 0>"
+            },
+            "low_battery_cut_out_delay": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40903,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "high_battery_cut_out_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40904,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "high_battery_cut_in_voltage": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40905,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "high_battery_cut_out_delay": {
+                "implemented": false,
+                "scale_factor": -1,
+                "address": 40906,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            },
+            "ee_write_enable": {
+                "implemented": false,
+                "scale_factor": null,
+                "address": 40907,
+                "registers": [
+                    65535
+                ],
+                "raw_value": null,
+                "value": null
+            }
+        }
     }
-  },
-  {
-    "name": "ChargeControllerDeviceValues",
-    "address": 40908,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64111,
-        "value": 64111
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 26,
-        "value": 26
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "power_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ah_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 507,
-        "value": 50.7
-      },
-      "array_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 872,
-        "value": 87.2
-      },
-      "battery_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 79,
-        "value": 7.9
-      },
-      "array_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 4,
-        "value": 4
-      },
-      "charger_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<charger_state.Bulk: 2>",
-        "value": "<charger_state.Bulk: 2>"
-      },
-      "watts": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 400,
-        "value": 400
-      },
-      "todays_min_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 495,
-        "value": 49.5
-      },
-      "todays_max_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 519,
-        "value": 51.9
-      },
-      "voc": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1101,
-        "value": 110.1
-      },
-      "todays_peak_voc": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 110,
-        "value": 110
-      },
-      "todays_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "todays_ah": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 3,
-        "value": 3
-      },
-      "lifetime_kwh_hours": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 6109,
-        "value": 6109
-      },
-      "lifetime_k_amp_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1096,
-        "value": 109.6
-      },
-      "lifetime_max_watts": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 4096,
-        "value": 4096
-      },
-      "lifetime_max_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 644,
-        "value": 64.4
-      },
-      "lifetime_max_voc": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1384,
-        "value": 138.4
-      },
-      "temp_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "temp_output_fets": {
-        "implemented": false,
-        "scale_factor": 0,
-        "raw_value": null,
-        "value": null
-      },
-      "temp_enclosure": {
-        "implemented": false,
-        "scale_factor": 0,
-        "raw_value": null,
-        "value": null
-      }
-    }
-  },
-  {
-    "name": "ChargeControllerConfigurationValues",
-    "address": 40936,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64112,
-        "value": 64112
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 88,
-        "value": 88
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "hours_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "power_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ah_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "faults": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "absorb_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 588,
-        "value": 58.8
-      },
-      "absorb_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 30,
-        "value": 3.0
-      },
-      "absorb_end_amps": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "rebulk_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 480,
-        "value": 48.0
-      },
-      "float_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 552,
-        "value": 55.2
-      },
-      "bulk_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 600,
-        "value": 60.0
-      },
-      "eq_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 636,
-        "value": 63.6
-      },
-      "eq_time_hours": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "auto_eq_days": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "mppt_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<mppt_mode.Auto: 0>",
-        "value": "<mppt_mode.Auto: 0>"
-      },
-      "sweep_width": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sweep_width.Half: 1>",
-        "value": "<sweep_width.Half: 1>"
-      },
-      "sweep_max_percentage": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sweep_max_percentage.90: 2>",
-        "value": "<sweep_max_percentage.90: 2>"
-      },
-      "u_pick_pwm_duty_cycle": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 770,
-        "value": 77.0
-      },
-      "grid_tie_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_tie_mode.Grid Tie Mode disabled: 0>",
-        "value": "<grid_tie_mode.Grid Tie Mode disabled: 0>"
-      },
-      "temp_comp_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<temp_comp_mode.User Limited: 1>",
-        "value": "<temp_comp_mode.User Limited: 1>"
-      },
-      "temp_comp_lower_limit_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 530,
-        "value": 53.0
-      },
-      "temp_comp_upper_limit_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 630,
-        "value": 63.0
-      },
-      "temp_comp_slope": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "auto_restart_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>",
-        "value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>"
-      },
-      "wakeup_voc": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 60,
-        "value": 6.0
-      },
-      "snooze_mode_amps": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 6,
-        "value": 0.6
-      },
-      "wakeup_interval": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "aux_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_mode.Diversion: Solid St: 2>",
-        "value": "<aux_mode.Diversion: Solid St: 2>"
-      },
-      "aux_control": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_control.On: 2>",
-        "value": "<aux_control.On: 2>"
-      },
-      "aux_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_state.Disabled: 0>",
-        "value": "<aux_state.Disabled: 0>"
-      },
-      "aux_polarity": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_polarity.Low: 0>",
-        "value": "<aux_polarity.Low: 0>"
-      },
-      "aux_low_battery_disconnect": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 544,
-        "value": 54.4
-      },
-      "aux_low_battery_reconnect": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 576,
-        "value": 57.6
-      },
-      "aux_low_battery_disconnect_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "aux_vent_fan_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 560,
-        "value": 56.0
-      },
-      "aux_pv_limit_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1400,
-        "value": 140.0
-      },
-      "aux_pv_limit_hold_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "aux_night_light_thres_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 100,
-        "value": 10.0
-      },
-      "night_light_on_hours": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 4,
-        "value": 4
-      },
-      "night_light_on_hyst_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "night_light_off_hyst_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "aux_error_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 460,
-        "value": 46.0
-      },
-      "aux_divert_hold_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 50,
-        "value": 5.0
-      },
-      "aux_divert_delay_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 8,
-        "value": 8
-      },
-      "aux_divert_relative_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "aux_divert_hyst_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "major_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "mid_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "minor_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "set_data_log_day_offset": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "get_current_data_log_day_offset": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "data_log_daily_ah": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 3,
-        "value": 3
-      },
-      "data_log_daily_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "data_log_daily_max_output_amps": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 88,
-        "value": 8.8
-      },
-      "data_log_daily_max_output_watts": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 447,
-        "value": 447
-      },
-      "data_log_daily_absorb_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "data_log_daily_float_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "data_log_daily_min_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 495,
-        "value": 49.5
-      },
-      "data_log_daily_max_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 519,
-        "value": 51.9
-      },
-      "data_log_daily_max_input_volts": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 110,
-        "value": 110
-      },
-      "clear_data_log_read": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1059,
-        "value": 1059
-      },
-      "stats_maximum_reset_read": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 14969,
-        "value": 14969
-      },
-      "stats_totals_reset_read": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 16391,
-        "value": 16391
-      },
-      "battery_voltage_calibrate_offset": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "serial_number": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "model_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "FM60-150VDC",
-        "value": "FM60-150VDC"
-      }
-    }
-  },
-  {
-    "name": "ChargeControllerDeviceValues",
-    "address": 41026,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64111,
-        "value": 64111
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 26,
-        "value": 26
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 4,
-        "value": 4
-      },
-      "voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "power_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ah_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 507,
-        "value": 50.7
-      },
-      "array_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 831,
-        "value": 83.1
-      },
-      "battery_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 55,
-        "value": 5.5
-      },
-      "array_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 3,
-        "value": 3
-      },
-      "charger_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<charger_state.Bulk: 2>",
-        "value": "<charger_state.Bulk: 2>"
-      },
-      "watts": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 278,
-        "value": 278
-      },
-      "todays_min_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 496,
-        "value": 49.6
-      },
-      "todays_max_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 521,
-        "value": 52.1
-      },
-      "voc": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1009,
-        "value": 100.9
-      },
-      "todays_peak_voc": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 100,
-        "value": 100
-      },
-      "todays_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "todays_ah": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 3,
-        "value": 3
-      },
-      "lifetime_kwh_hours": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 6230,
-        "value": 6230
-      },
-      "lifetime_k_amp_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1120,
-        "value": 112.0
-      },
-      "lifetime_max_watts": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 3072,
-        "value": 3072
-      },
-      "lifetime_max_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 646,
-        "value": 64.6
-      },
-      "lifetime_max_voc": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1384,
-        "value": 138.4
-      },
-      "temp_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "temp_output_fets": {
-        "implemented": false,
-        "scale_factor": 0,
-        "raw_value": null,
-        "value": null
-      },
-      "temp_enclosure": {
-        "implemented": false,
-        "scale_factor": 0,
-        "raw_value": null,
-        "value": null
-      }
-    }
-  },
-  {
-    "name": "ChargeControllerConfigurationValues",
-    "address": 41054,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64112,
-        "value": 64112
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 88,
-        "value": 88
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 4,
-        "value": 4
-      },
-      "voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "hours_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "power_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ah_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "faults": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "absorb_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 588,
-        "value": 58.8
-      },
-      "absorb_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 30,
-        "value": 3.0
-      },
-      "absorb_end_amps": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "rebulk_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 480,
-        "value": 48.0
-      },
-      "float_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 552,
-        "value": 55.2
-      },
-      "bulk_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 800,
-        "value": 80.0
-      },
-      "eq_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 636,
-        "value": 63.6
-      },
-      "eq_time_hours": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "auto_eq_days": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "mppt_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<mppt_mode.Auto: 0>",
-        "value": "<mppt_mode.Auto: 0>"
-      },
-      "sweep_width": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sweep_width.Half: 1>",
-        "value": "<sweep_width.Half: 1>"
-      },
-      "sweep_max_percentage": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<sweep_max_percentage.90: 2>",
-        "value": "<sweep_max_percentage.90: 2>"
-      },
-      "u_pick_pwm_duty_cycle": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 770,
-        "value": 77.0
-      },
-      "grid_tie_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_tie_mode.Grid Tie Mode disabled: 0>",
-        "value": "<grid_tie_mode.Grid Tie Mode disabled: 0>"
-      },
-      "temp_comp_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<temp_comp_mode.User Limited: 1>",
-        "value": "<temp_comp_mode.User Limited: 1>"
-      },
-      "temp_comp_lower_limit_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 530,
-        "value": 53.0
-      },
-      "temp_comp_upper_limit_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 630,
-        "value": 63.0
-      },
-      "temp_comp_slope": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "auto_restart_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>",
-        "value": "<auto_restart_mode.Restart every 90 minutes if absorb charging or float charging: 2>"
-      },
-      "wakeup_voc": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 60,
-        "value": 6.0
-      },
-      "snooze_mode_amps": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 6,
-        "value": 0.6
-      },
-      "wakeup_interval": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "aux_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_mode.Diversion: Solid St: 2>",
-        "value": "<aux_mode.Diversion: Solid St: 2>"
-      },
-      "aux_control": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_control.On: 2>",
-        "value": "<aux_control.On: 2>"
-      },
-      "aux_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_state.Disabled: 0>",
-        "value": "<aux_state.Disabled: 0>"
-      },
-      "aux_polarity": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_polarity.Low: 0>",
-        "value": "<aux_polarity.Low: 0>"
-      },
-      "aux_low_battery_disconnect": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 544,
-        "value": 54.4
-      },
-      "aux_low_battery_reconnect": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 576,
-        "value": 57.6
-      },
-      "aux_low_battery_disconnect_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "aux_vent_fan_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 576,
-        "value": 57.6
-      },
-      "aux_pv_limit_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1400,
-        "value": 140.0
-      },
-      "aux_pv_limit_hold_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "aux_night_light_thres_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 100,
-        "value": 10.0
-      },
-      "night_light_on_hours": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 4,
-        "value": 4
-      },
-      "night_light_on_hyst_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "night_light_off_hyst_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "aux_error_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 460,
-        "value": 46.0
-      },
-      "aux_divert_hold_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 50,
-        "value": 5.0
-      },
-      "aux_divert_delay_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 8,
-        "value": 8
-      },
-      "aux_divert_relative_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "aux_divert_hyst_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "major_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "mid_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 3,
-        "value": 3
-      },
-      "minor_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "set_data_log_day_offset": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "get_current_data_log_day_offset": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "data_log_daily_ah": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 3,
-        "value": 3
-      },
-      "data_log_daily_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "data_log_daily_max_output_amps": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 59,
-        "value": 5.9
-      },
-      "data_log_daily_max_output_watts": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 304,
-        "value": 304
-      },
-      "data_log_daily_absorb_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "data_log_daily_float_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "data_log_daily_min_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 496,
-        "value": 49.6
-      },
-      "data_log_daily_max_battery_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 521,
-        "value": 52.1
-      },
-      "data_log_daily_max_input_volts": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 100,
-        "value": 100
-      },
-      "clear_data_log_read": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 41149,
-        "value": 41149
-      },
-      "stats_maximum_reset_read": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 59435,
-        "value": 59435
-      },
-      "stats_totals_reset_read": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 59713,
-        "value": 59713
-      },
-      "battery_voltage_calibrate_offset": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "serial_number": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "model_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "FM80-150VDC",
-        "value": "FM80-150VDC"
-      }
-    }
-  },
-  {
-    "name": "FNDCDeviceValues",
-    "address": 41144,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64118,
-        "value": 64118
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 76,
-        "value": 76
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "dc_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "dc_current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "time_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -2,
-        "value": -2
-      },
-      "kw_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -2,
-        "value": -2
-      },
-      "shunt_a_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 128,
-        "value": 12.8
-      },
-      "shunt_b_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": -166,
-        "value": -16.6
-      },
-      "shunt_c_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 506,
-        "value": 50.6
-      },
-      "battery_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": -37,
-        "value": -3.7
-      },
-      "battery_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 12,
-        "value": 12
-      },
-      "status_flags": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "shunt_a_accumulated_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 7,
-        "value": 7
-      },
-      "shunt_a_accumulated_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 40,
-        "value": 0.4
-      },
-      "shunt_b_accumulated_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -22,
-        "value": -22
-      },
-      "shunt_b_accumulated_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": -116,
-        "value": -1.16
-      },
-      "shunt_c_accumulated_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 2,
-        "value": 2
-      },
-      "shunt_c_accumulated_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 15,
-        "value": 0.15
-      },
-      "input_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 129,
-        "value": 12.9
-      },
-      "output_current": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 166,
-        "value": 16.6
-      },
-      "input_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 66,
-        "value": 0.66
-      },
-      "output_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 84,
-        "value": 0.84
-      },
-      "net_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": -18,
-        "value": -0.18
-      },
-      "days_since_charge_parameters_met": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 7,
-        "value": 0.7
-      },
-      "state_of_charge": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 96,
-        "value": 96
-      },
-      "todays_minimum_soc": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 96,
-        "value": 96
-      },
-      "todays_maximum_soc": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 100,
-        "value": 100
-      },
-      "todays_net_input_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 9,
-        "value": 9
-      },
-      "todays_net_input_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 47,
-        "value": 0.47
-      },
-      "todays_net_output_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 21,
-        "value": 21
-      },
-      "todays_net_output_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 108,
-        "value": 1.08
-      },
-      "todays_net_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -12,
-        "value": -12
-      },
-      "todays_net_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": -61,
-        "value": -0.61
-      },
-      "charge_factor_corrected_net_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -13,
-        "value": -13
-      },
-      "charge_factor_corrected_net_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": -64,
-        "value": -0.64
-      },
-      "todays_minimum_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 498,
-        "value": 49.8
-      },
-      "todays_minimum_battery_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1948082157,
-        "value": 1948082157
-      },
-      "todays_maximum_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 520,
-        "value": 52.0
-      },
-      "todays_maximum_battery_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 4167131116,
-        "value": 4167131116
-      },
-      "cycle_charge_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "cycle_kwh_charge_efficiency": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 10,
-        "value": 10
-      },
-      "total_days_at_100_percent": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 2469,
-        "value": 246.9
-      },
-      "lifetime_k_ah_removed": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 200,
-        "value": 200
-      },
-      "shunt_a_historical_returned_to_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 7,
-        "value": 7
-      },
-      "shunt_a_historical_returned_to_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 40,
-        "value": 0.4
-      },
-      "shunt_a_historical_removed_from_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "shunt_a_historical_removed_from_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 1,
-        "value": 0.01
-      },
-      "shunt_a_maximum_charge_rate": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 141,
-        "value": 14.1
-      },
-      "shunt_a_maximum_charge_rate_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 72,
-        "value": 0.72
-      },
-      "shunt_a_maximum_discharge_rate": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": -4,
-        "value": -0.4
-      },
-      "shunt_a_maximum_discharge_rate_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": -2,
-        "value": -0.02
-      },
-      "shunt_b_historical_returned_to_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "shunt_b_historical_returned_to_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "shunt_b_historical_removed_from_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 22,
-        "value": 22
-      },
-      "shunt_b_historical_removed_from_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 116,
-        "value": 1.16
-      },
-      "shunt_b_maximum_charge_rate": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 1,
-        "value": 0.1
-      },
-      "shunt_b_maximum_charge_rate_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 1,
-        "value": 0.01
-      },
-      "shunt_b_maximum_discharge_rate": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": -367,
-        "value": -36.7
-      },
-      "shunt_b_maximum_discharge_rate_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": -183,
-        "value": -1.83
-      },
-      "shunt_c_historical_returned_to_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 2,
-        "value": 2
-      },
-      "shunt_c_historical_returned_to_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 15,
-        "value": 0.15
-      },
-      "shunt_c_historical_removed_from_battery_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "shunt_c_historical_removed_from_battery_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "shunt_c_maximum_charge_rate": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 3,
-        "value": 0.3
-      },
-      "shunt_c_maximum_charge_rate_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 2,
-        "value": 0.02
-      },
-      "shunt_c_maximum_discharge_rate": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": -1,
-        "value": -0.1
-      },
-      "shunt_c_maximum_discharge_rate_kw": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": -1,
-        "value": -0.01
-      },
-      "shunt_a_reset_maximum_data": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 17519,
-        "value": 17519
-      },
-      "shunt_b_reset_maximum_data": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 6149,
-        "value": 6149
-      },
-      "shunt_c_reset_maximum_data": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 16147,
-        "value": 16147
-      }
-    }
-  },
-  {
-    "name": "FLEXnetDCConfigurationValues",
-    "address": 41222,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64119,
-        "value": 64119
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 52,
-        "value": 52
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "dc_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "dc_current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -2,
-        "value": -2
-      },
-      "major_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "mid_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "minor_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 71,
-        "value": 71
-      },
-      "battery_capacity": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 380,
-        "value": 380
-      },
-      "charged_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 572,
-        "value": 57.2
-      },
-      "charged_time": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 30,
-        "value": 30
-      },
-      "battery_charged_amps": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 55,
-        "value": 5.5
-      },
-      "charge_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 95,
-        "value": 95
-      },
-      "shunt_a_enabled": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<shunt_a_enabled.Enabled: 0>",
-        "value": "<shunt_a_enabled.Enabled: 0>"
-      },
-      "shunt_b_enabled": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<shunt_b_enabled.Enabled: 0>",
-        "value": "<shunt_b_enabled.Enabled: 0>"
-      },
-      "shunt_c_enabled": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<shunt_c_enabled.Enabled: 0>",
-        "value": "<shunt_c_enabled.Enabled: 0>"
-      },
-      "relay_control": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<relay_control.Auto: 1>",
-        "value": "<relay_control.Auto: 1>"
-      },
-      "relay_invert_logic": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<relay_invert_logic.Normal: 1>",
-        "value": "<relay_invert_logic.Normal: 1>"
-      },
-      "relay_high_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 600,
-        "value": 60.0
-      },
-      "relay_low_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 576,
-        "value": 57.6
-      },
-      "relay_soc_high": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 99,
-        "value": 99
-      },
-      "relay_soc_low": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 80,
-        "value": 80
-      },
-      "relay_high_enable_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "relay_low_enable_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "set_data_log_day_offset": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "get_current_data_log_day_offset": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "datalog_minimum_soc": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "datalog_input_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "datalog_input_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "datalog_output_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "datalog_output_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "datalog_net_ah": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "datalog_net_kwh": {
-        "implemented": true,
-        "scale_factor": -2,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "clear_data_log_read": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 28937,
-        "value": 28937
-      },
-      "serial_number": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "model_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "FLEXnet DC",
-        "value": "FLEXnet DC"
-      }
-    }
-  },
-  {
-    "name": "SinglePhaseRadianInverterDeviceValues",
-    "address": 40630,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64117,
-        "value": 64117
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 46,
-        "value": 46
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "dc_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac_current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ac_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ac_frequency_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "inverter_output_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 3,
-        "value": 3
-      },
-      "inverter_charge_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "inverter_buy_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "inverter_sell_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_input_ac_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 214,
-        "value": 214
-      },
-      "gen_input_ac_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "output_ac_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 236,
-        "value": 236
-      },
-      "inverter_operating_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<inverter_operating_mode.Inverting: 2>",
-        "value": "<inverter_operating_mode.Inverting: 2>"
-      },
-      "error_flags": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "warning_flags": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 508,
-        "value": 50.8
-      },
-      "temp_compensated_target_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 492,
-        "value": 49.2
-      },
-      "aux_output_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_output_state.Enabled: 1>",
-        "value": "<aux_output_state.Enabled: 1>"
-      },
-      "aux_relay_output_state": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "l_module_transformer_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 40,
-        "value": 40
-      },
-      "l_module_capacitor_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 33,
-        "value": 33
-      },
-      "l_module_fet_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 39,
-        "value": 39
-      },
-      "r_module_transformer_temperature": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "r_module_capacitor_temperature": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "r_module_fet_temperature": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "battery_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 12,
-        "value": 12
-      },
-      "ac_input_selection": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_input_selection.Grid: 0>",
-        "value": "<ac_input_selection.Grid: 0>"
-      },
-      "ac_input_frequency": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 500,
-        "value": 50.0
-      },
-      "ac_input_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 214,
-        "value": 214
-      },
-      "ac_input_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_input_state.AC_Drop: 0>",
-        "value": "<ac_input_state.AC_Drop: 0>"
-      },
-      "minimum_ac_input_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 210,
-        "value": 210
-      },
-      "maximum_ac_input_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 240,
-        "value": 240
-      },
-      "sell_status": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 80,
-        "value": 80
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac1_buy_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 20,
-        "value": 2.0
-      },
-      "ac2_buy_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "ac1_sell_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "ac2_sell_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "output_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 8,
-        "value": 0.8
-      },
-      "charger_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "output_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 7,
-        "value": 0.7
-      },
-      "buy_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "sell_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "charge_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "load_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 7,
-        "value": 0.7
-      },
-      "ac_couple_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "gt_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64116,
-        "value": 64116
-      }
-    }
-  },
-  {
-    "name": "RadianInverterConfigurationValues",
-    "address": 40678,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64116,
-        "value": 64116
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 89,
-        "value": 89
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "dc_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac_current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "time_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "major_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "mid_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 6,
-        "value": 6
-      },
-      "minor_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 15,
-        "value": 15
-      },
-      "absorb_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 576,
-        "value": 57.6
-      },
-      "absorb_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 20,
-        "value": 2.0
-      },
-      "float_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 544,
-        "value": 54.4
-      },
-      "float_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 10,
-        "value": 1.0
-      },
-      "re_float_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 500,
-        "value": 50.0
-      },
-      "eq_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 636,
-        "value": 63.6
-      },
-      "eq_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 10,
-        "value": 1.0
-      },
-      "search_sensitivity": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 30,
-        "value": 30
-      },
-      "search_pulse_length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 8,
-        "value": 8
-      },
-      "search_pulse_spacing": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 60,
-        "value": 60
-      },
-      "ac_input_select_priority": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_input_select_priority.Grid: 0>",
-        "value": "<ac_input_select_priority.Grid: 0>"
-      },
-      "grid_ac_input_current_limit": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 300,
-        "value": 30.0
-      },
-      "gen_ac_input_current_limit": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 300,
-        "value": 30.0
-      },
-      "charger_ac_input_current_limit": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 75,
-        "value": 7.5
-      },
-      "charger_operating_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<charger_operating_mode.All Inverter Charging Disabled: 0>",
-        "value": "<charger_operating_mode.All Inverter Charging Disabled: 0>"
-      },
-      "ac_coupled": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_coupled.No: 0>",
-        "value": "<ac_coupled.No: 0>"
-      },
-      "grid_input_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_input_mode.Mini Grid: 5>",
-        "value": "<grid_input_mode.Mini Grid: 5>"
-      },
-      "grid_lower_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 204,
-        "value": 204
-      },
-      "grid_upper_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 252,
-        "value": 252
-      },
-      "grid_transfer_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1000,
-        "value": 1000
-      },
-      "grid_connect_delay": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 20,
-        "value": 2.0
-      },
-      "gen_input_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<gen_input_mode.Generator: 0>",
-        "value": "<gen_input_mode.Generator: 0>"
-      },
-      "gen_lower_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 204,
-        "value": 204
-      },
-      "gen_upper_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 252,
-        "value": 252
-      },
-      "gen_transfer_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1000,
-        "value": 1000
-      },
-      "gen_connect_delay": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 20,
-        "value": 2.0
-      },
-      "ac_output_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 230,
-        "value": 230
-      },
-      "low_battery_cut_out_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 468,
-        "value": 46.8
-      },
-      "low_battery_cut_in_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 500,
-        "value": 50.0
-      },
-      "aux_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_mode.Load Shed: 1>",
-        "value": "<aux_mode.Load Shed: 1>"
-      },
-      "aux_control": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_control.Auto: 1>",
-        "value": "<aux_control.Auto: 1>"
-      },
-      "aux_on_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 520,
-        "value": 52.0
-      },
-      "aux_on_delay_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 5,
-        "value": 0.5
-      },
-      "aux_off_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 460,
-        "value": 46.0
-      },
-      "aux_off_delay_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 50,
-        "value": 5.0
-      },
-      "aux_relay_mode": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_control": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_on_battery_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_on_delay_time": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_off_battery_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_off_delay_time": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "stacking_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<stacking_mode.Master: 10>",
-        "value": "<stacking_mode.Master: 10>"
-      },
-      "master_power_save_level": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "slave_power_save_level": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "sell_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 528,
-        "value": 52.8
-      },
-      "grid_tie_window": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "grid_tie_enable": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_tie_enable.Yes: 1>",
-        "value": "<grid_tie_enable.Yes: 1>"
-      },
-      "grid_ac_input_voltage_calibrate_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "gen_ac_input_voltage_calibrate_factor": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "ac_output_voltage_calibrate_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "battery_voltage_calibrate_factor": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 4,
-        "value": 0.4
-      },
-      "re_bulk_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 480,
-        "value": 48.0
-      },
-      "mini_grid_lbx_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 488,
-        "value": 48.8
-      },
-      "mini_grid_lbx_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "grid_zero_do_d_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 528,
-        "value": 52.8
-      },
-      "grid_zero_do_d_max_offset_ac_amps": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 50,
-        "value": 5.0
-      },
-      "serial_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "SPARE FXR",
-        "value": "SPARE FXR"
-      },
-      "model_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "VFXR3048E",
-        "value": "VFXR3048E"
-      },
-      "module_control": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "model_select": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<model_select.Full: 0>",
-        "value": "<model_select.Full: 0>"
-      },
-      "low_battery_cut_out_delay": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "high_battery_cut_out_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "high_battery_cut_in_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "high_battery_cut_out_delay": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "ee_write_enable": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      }
-    }
-  },
-  {
-    "name": "SinglePhaseRadianInverterDeviceValues",
-    "address": 40769,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64117,
-        "value": 64117
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 46,
-        "value": 46
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 2,
-        "value": 2
-      },
-      "dc_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac_current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ac_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "ac_frequency_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "inverter_output_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "inverter_charge_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "inverter_buy_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "inverter_sell_current": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "grid_input_ac_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 214,
-        "value": 214
-      },
-      "gen_input_ac_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 0,
-        "value": 0
-      },
-      "output_ac_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 234,
-        "value": 234
-      },
-      "inverter_operating_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<inverter_operating_mode.Off: 0>",
-        "value": "<inverter_operating_mode.Off: 0>"
-      },
-      "error_flags": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "warning_flags": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 508,
-        "value": 50.8
-      },
-      "temp_compensated_target_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 492,
-        "value": 49.2
-      },
-      "aux_output_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_output_state.Enabled: 1>",
-        "value": "<aux_output_state.Enabled: 1>"
-      },
-      "aux_relay_output_state": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "l_module_transformer_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 16,
-        "value": 16
-      },
-      "l_module_capacitor_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 18,
-        "value": 18
-      },
-      "l_module_fet_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 21,
-        "value": 21
-      },
-      "r_module_transformer_temperature": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "r_module_capacitor_temperature": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "r_module_fet_temperature": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "battery_temperature": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 12,
-        "value": 12
-      },
-      "ac_input_selection": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_input_selection.Grid: 0>",
-        "value": "<ac_input_selection.Grid: 0>"
-      },
-      "ac_input_frequency": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 500,
-        "value": 50.0
-      },
-      "ac_input_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 214,
-        "value": 214
-      },
-      "ac_input_state": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_input_state.AC_Drop: 0>",
-        "value": "<ac_input_state.AC_Drop: 0>"
-      },
-      "minimum_ac_input_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 210,
-        "value": 210
-      },
-      "maximum_ac_input_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 240,
-        "value": 240
-      },
-      "sell_status": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 80,
-        "value": 80
-      },
-      "kwh_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac1_buy_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 23,
-        "value": 2.3
-      },
-      "ac2_buy_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "ac1_sell_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "ac2_sell_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "output_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "charger_kwh": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "output_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "buy_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "sell_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "charge_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "load_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "ac_couple_kw": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 0,
-        "value": 0.0
-      },
-      "gt_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64116,
-        "value": 64116
-      }
-    }
-  },
-  {
-    "name": "RadianInverterConfigurationValues",
-    "address": 40817,
-    "values": {
-      "did": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 64116,
-        "value": 64116
-      },
-      "length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 89,
-        "value": 89
-      },
-      "port_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 2,
-        "value": 2
-      },
-      "dc_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac_current_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "ac_voltage_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "time_scale_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": -1,
-        "value": -1
-      },
-      "major_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "mid_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 6,
-        "value": 6
-      },
-      "minor_firmware_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 15,
-        "value": 15
-      },
-      "absorb_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 576,
-        "value": 57.6
-      },
-      "absorb_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 20,
-        "value": 2.0
-      },
-      "float_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 544,
-        "value": 54.4
-      },
-      "float_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 10,
-        "value": 1.0
-      },
-      "re_float_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 500,
-        "value": 50.0
-      },
-      "eq_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 636,
-        "value": 63.6
-      },
-      "eq_time_hours": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 10,
-        "value": 1.0
-      },
-      "search_sensitivity": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 30,
-        "value": 30
-      },
-      "search_pulse_length": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 8,
-        "value": 8
-      },
-      "search_pulse_spacing": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 60,
-        "value": 60
-      },
-      "ac_input_select_priority": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_input_select_priority.Grid: 0>",
-        "value": "<ac_input_select_priority.Grid: 0>"
-      },
-      "grid_ac_input_current_limit": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 300,
-        "value": 30.0
-      },
-      "gen_ac_input_current_limit": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 300,
-        "value": 30.0
-      },
-      "charger_ac_input_current_limit": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 75,
-        "value": 7.5
-      },
-      "charger_operating_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<charger_operating_mode.All Inverter Charging Disabled: 0>",
-        "value": "<charger_operating_mode.All Inverter Charging Disabled: 0>"
-      },
-      "ac_coupled": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<ac_coupled.No: 0>",
-        "value": "<ac_coupled.No: 0>"
-      },
-      "grid_input_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_input_mode.Mini Grid: 5>",
-        "value": "<grid_input_mode.Mini Grid: 5>"
-      },
-      "grid_lower_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 204,
-        "value": 204
-      },
-      "grid_upper_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 252,
-        "value": 252
-      },
-      "grid_transfer_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1000,
-        "value": 1000
-      },
-      "grid_connect_delay": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 20,
-        "value": 2.0
-      },
-      "gen_input_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<gen_input_mode.Generator: 0>",
-        "value": "<gen_input_mode.Generator: 0>"
-      },
-      "gen_lower_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 204,
-        "value": 204
-      },
-      "gen_upper_input_voltage_limit": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 252,
-        "value": 252
-      },
-      "gen_transfer_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1000,
-        "value": 1000
-      },
-      "gen_connect_delay": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 20,
-        "value": 2.0
-      },
-      "ac_output_voltage": {
-        "implemented": true,
-        "scale_factor": 0,
-        "raw_value": 230,
-        "value": 230
-      },
-      "low_battery_cut_out_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 468,
-        "value": 46.8
-      },
-      "low_battery_cut_in_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 500,
-        "value": 50.0
-      },
-      "aux_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_mode.Load Shed: 1>",
-        "value": "<aux_mode.Load Shed: 1>"
-      },
-      "aux_control": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<aux_control.Auto: 1>",
-        "value": "<aux_control.Auto: 1>"
-      },
-      "aux_on_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 520,
-        "value": 52.0
-      },
-      "aux_on_delay_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 5,
-        "value": 0.5
-      },
-      "aux_off_battery_voltage": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 460,
-        "value": 46.0
-      },
-      "aux_off_delay_time": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 50,
-        "value": 5.0
-      },
-      "aux_relay_mode": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_control": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_on_battery_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_on_delay_time": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_off_battery_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "aux_relay_off_delay_time": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "stacking_mode": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<stacking_mode.Slave: 12>",
-        "value": "<stacking_mode.Slave: 12>"
-      },
-      "master_power_save_level": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "slave_power_save_level": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 1,
-        "value": 1
-      },
-      "sell_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 528,
-        "value": 52.8
-      },
-      "grid_tie_window": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "grid_tie_enable": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<grid_tie_enable.Yes: 1>",
-        "value": "<grid_tie_enable.Yes: 1>"
-      },
-      "grid_ac_input_voltage_calibrate_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "gen_ac_input_voltage_calibrate_factor": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "ac_output_voltage_calibrate_factor": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 0,
-        "value": 0
-      },
-      "battery_voltage_calibrate_factor": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 4,
-        "value": 0.4
-      },
-      "re_bulk_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 480,
-        "value": 48.0
-      },
-      "mini_grid_lbx_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 488,
-        "value": 48.8
-      },
-      "mini_grid_lbx_delay": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": 5,
-        "value": 5
-      },
-      "grid_zero_do_d_volts": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 528,
-        "value": 52.8
-      },
-      "grid_zero_do_d_max_offset_ac_amps": {
-        "implemented": true,
-        "scale_factor": -1,
-        "raw_value": 50,
-        "value": 5.0
-      },
-      "serial_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "SPARE FXR",
-        "value": "SPARE FXR"
-      },
-      "model_number": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "VFXR3048E",
-        "value": "VFXR3048E"
-      },
-      "module_control": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      },
-      "model_select": {
-        "implemented": true,
-        "scale_factor": null,
-        "raw_value": "<model_select.Full: 0>",
-        "value": "<model_select.Full: 0>"
-      },
-      "low_battery_cut_out_delay": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "high_battery_cut_out_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "high_battery_cut_in_voltage": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "high_battery_cut_out_delay": {
-        "implemented": false,
-        "scale_factor": -1,
-        "raw_value": null,
-        "value": null
-      },
-      "ee_write_enable": {
-        "implemented": false,
-        "scale_factor": null,
-        "raw_value": null,
-        "value": null
-      }
-    }
-  }
-]
\ No newline at end of file
+]
diff --git a/mate3/tests/test_known_systems.py b/mate3/tests/test_known_systems.py
index 6eea50f..8946084 100644
--- a/mate3/tests/test_known_systems.py
+++ b/mate3/tests/test_known_systems.py
@@ -17,16 +17,7 @@ def _test_read_gives_expected_results(client, system_dir):
         name = device.__class__.__name__
         values = {}
         for value in device.fields([Mode.R, Mode.RW]):
-            values[value.field.name] = {
-                "implemented": value.implemented,
-                "scale_factor": None if value.scale_factor is None else value.scale_factor.value,
-                "raw_value": value.raw_value
-                if value.raw_value is None or isinstance(value.raw_value, (str, int, float))
-                else repr(value.raw_value),
-                "value": value.value
-                if value.value is None or isinstance(value.value, (str, int, float))
-                else repr(value.value),
-            }
+            values[value.field.name] = value.to_dict()
         read_devices.append({"name": name, "address": device.address, "values": values})
 
     # Compare them with what we expect: