{
    "className": "Huawei",
    "protocol": "RTU",
    "endianness": "BigEndian",
    "errorLimitUntilNotReachable": 15,
    "checkReachableRegister": "inverterActivePower",
    "enums": [
        {
            "name": "InverterDeviceStatus",
            "values": [
                {
                    "key": "StandbyInitializing",
                    "value": 0
                },
                {
                    "key": "StandbyDetectingInsulationResistance",
                    "value": 1
                },
                {
                    "key": "StandbyDetectingIrradiation",
                    "value": 2
                },
                {
                    "key": "StandbyDridDetecting",
                    "value": 3
                },
                {
                    "key": "Starting",
                    "value": 256
                },
                {
                    "key": "OnGrid",
                    "value": 512
                },
                {
                    "key": "PowerLimited",
                    "value": 513
                },
                {
                    "key": "SelfDerating",
                    "value": 514
                },
                {
                    "key": "ShutdownFault",
                    "value": 768
                },
                {
                    "key": "ShutdownCommand",
                    "value": 769
                },
                {
                    "key": "ShutdownOVGR",
                    "value": 770
                },
                {
                    "key": "ShutdownCommunicationDisconnected",
                    "value": 771
                },
                {
                    "key": "ShutdownPowerLimit",
                    "value": 772
                },
                {
                    "key": "ShutdownManualStartupRequired",
                    "value": 773
                },
                {
                    "key": "ShutdownInputUnderpower",
                    "value": 774
                },
                {
                    "key": "GridSchedulingPCurve",
                    "value": 1025
                },
                {
                    "key": "GridSchedulingQUCurve",
                    "value": 1026
                },
                {
                    "key": "GridSchedulingPFUCurve",
                    "value": 1027
                },
                {
                    "key": "GridSchedulingDryContact",
                    "value": 1028
                },
                {
                    "key": "GridSchedulingQPCurve",
                    "value": 1029
                },
                {
                    "key": "SpotCheckReady",
                    "value": 1280
                },
                {
                    "key": "SpotChecking",
                    "value": 1281
                },
                {
                    "key": "Inspecting",
                    "value": 1536
                },
                {
                    "key": "AfciSelfCheck",
                    "value": 1792
                },
                {
                    "key": "IVScanning",
                    "value": 2048
                },
                {
                    "key": "DCInputDetection",
                    "value": 2304
                },
                {
                    "key": "RunningOffGridCharging",
                    "value": 2560
                },
                {
                    "key": "StandbyNoIrradiation",
                    "value": 40960
                }
            ]
        },
        {
            "name": "BatteryDeviceStatus",
            "values": [
                {
                    "key": "Offline",
                    "value": 0
                },
                {
                    "key": "Standby",
                    "value": 1
                },
                {
                    "key": "Running",
                    "value": 2
                },
                {
                    "key": "Fault",
                    "value": 3
                },
                {
                    "key": "SleepMode",
                    "value": 4
                }
            ]
        }
    ],
    "blocks": [
        {
            "id": "identifyer",
            "readSchedule": "init",
            "registers": [
                {
                    "id": "model",
                    "address": 30000,
                    "size": 15,
                    "type": "string",
                    "registerType": "holdingRegister",
                    "description": "Model",
                    "access": "RO"
                },
                {
                    "id": "serialNumber",
                    "address": 30015,
                    "size": 10,
                    "type": "string",
                    "registerType": "holdingRegister",
                    "description": "Serial number",
                    "access": "RO"
                },
                {
                    "id": "productNumber",
                    "address": 30025,
                    "size": 10,
                    "type": "string",
                    "registerType": "holdingRegister",
                    "description": "Product number",
                    "access": "RO"
                }
            ]
        },
        {
            "id": "setup",
            "readSchedule": "init",
            "registers": [
                {
                    "id": "modelId",
                    "address": 30070,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "holdingRegister",
                    "description": "Model ID",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "numberOfPvStrings",
                    "address": 30071,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "holdingRegister",
                    "description": "Number of PV strings",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "numberOfMppTracks",
                    "address": 30072,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "holdingRegister",
                    "description": "Number of MPP tracks",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "ratedPower",
                    "address": 30073,
                    "size": 2,
                    "type": "uint32",
                    "registerType": "holdingRegister",
                    "description": "Rated power (Pn)",
                    "unit": "kW",
                    "staticScaleFactor": -3,
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "maxActivePower",
                    "address": 30075,
                    "size": 2,
                    "type": "uint32",
                    "registerType": "holdingRegister",
                    "description": "Maximum active power (P max)",
                    "unit": "kW",
                    "staticScaleFactor": -3,
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "maxApparentPower",
                    "address": 30077,
                    "size": 2,
                    "type": "uint32",
                    "registerType": "holdingRegister",
                    "description": "Maximum apparant power (S max)",
                    "unit": "kVA",
                    "staticScaleFactor": -3,
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "maxReactivePowerToGrid",
                    "address": 30079,
                    "size": 2,
                    "type": "int32",
                    "registerType": "holdingRegister",
                    "description": "Maximum reactive power (Q max) - fed to grid",
                    "unit": "kVar",
                    "staticScaleFactor": -3,
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "maxReactivePowerFromGrid",
                    "address": 30081,
                    "size": 2,
                    "type": "int32",
                    "registerType": "holdingRegister",
                    "description": "Maximum reactive power (Q max) - absorbed from grid",
                    "unit": "kVar",
                    "staticScaleFactor": -3,
                    "defaultValue": "0",
                    "access": "RO"
                }
            ]
        }
    ],
    "registers": [
        {
            "id": "inverterActivePower",
            "address": 32080,
            "size": 2,
            "type": "int32",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Inverter active power",
            "unit": "kW",
            "staticScaleFactor": -3,
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "inverterDeviceStatus",
            "address": 32089,
            "size": 1,
            "type": "uint16",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Inverter device status",
            "enum": "InverterDeviceStatus",
            "defaultValue": "InverterDeviceStatusStandbyInitializing",
            "access": "RO"
        },
        {
            "id": "inverterEnergyProduced",
            "address": 32106,
            "size": 2,
            "type": "uint32",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Inverter energy produced",
            "unit": "kWh",
            "staticScaleFactor": -2,
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "powerMeterActivePower",
            "address": 37113,
            "size": 2,
            "type": "int32",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Power meter active power",
            "unit": "W",
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "powerMeterEnergyReturned",
            "address": 37119,
            "size": 2,
            "type": "int32",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": " Positive active electricity - To Grid",
            "unit": "kWh",
            "staticScaleFactor": -2,
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "powerMeterEnergyAquired",
            "address": 37121,
            "size": 2,
            "type": "int32",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Reverse active power - From Grid",
            "unit": "kWh",
            "staticScaleFactor": -2,
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "lunaBattery1Status",
            "address": 37000,
            "size": 1,
            "type": "uint16",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Luna 2000 Battery 1 status",
            "enum": "BatteryDeviceStatus",
            "defaultValue": "BatteryDeviceStatusOffline",
            "access": "RO"
        },
        {
            "id": "lunaBattery1Power",
            "address": 37001,
            "size": 2,
            "type": "int32",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Luna 2000 Battery 1 power",
            "unit": "W",
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "lunaBattery1Soc",
            "address": 37004,
            "size": 1,
            "type": "uint16",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Luna 2000 Battery 1 state of charge",
            "staticScaleFactor": -1,
            "unit": "%",
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "lunaBattery2Status",
            "address": 37741,
            "size": 1,
            "type": "uint16",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Luna 2000 Battery 2 status",
            "enum": "BatteryDeviceStatus",
            "defaultValue": "BatteryDeviceStatusOffline",
            "access": "RO"
        },
        {
            "id": "lunaBattery2Power",
            "address": 37743,
            "size": 2,
            "type": "int32",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Luna 2000 Battery 2 power",
            "unit": "W",
            "defaultValue": "0",
            "access": "RO"
        },
        {
            "id": "lunaBattery2Soc",
            "address": 37738,
            "size": 1,
            "type": "uint16",
            "registerType": "holdingRegister",
            "readSchedule": "update",
            "description": "Luna 2000 Battery 2 state of charge",
            "staticScaleFactor": -1,
            "unit": "%",
            "defaultValue": "0",
            "access": "RO"
        }
    ]
}

