{
    "group": {
        "groups": [
            {
                "count": 0,
                "name": "module",
                "points": [
                    {
                        "desc": "Index of the module within the string.",
                        "label": "Module Index",
                        "mandatory": "M",
                        "name": "ModIdx",
                        "size": 1,
                        "type": "uint16"
                    },
                    {
                        "desc": "Number of stacks in this module.",
                        "label": "Stack Count",
                        "mandatory": "M",
                        "name": "ModNStk",
                        "size": 1,
                        "type": "uint16"
                    },
                    {
                        "desc": "Current status of the module.",
                        "label": "Module Status",
                        "mandatory": "M",
                        "name": "ModSt",
                        "size": 2,
                        "symbols": [
                            {
                                "name": "MODULE_ENABLED",
                                "value": 0
                            },
                            {
                                "name": "CONTACTOR_STATUS",
                                "value": 1
                            }
                        ],
                        "type": "bitfield32"
                    },
                    {
                        "desc": "State of charge for this module.",
                        "label": "Module State of Charge",
                        "mandatory": "M",
                        "name": "ModSoC",
                        "sf": "SoC_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "%"
                    },
                    {
                        "desc": "Open circuit voltage for this module.",
                        "label": "Open Circuit Voltage",
                        "mandatory": "M",
                        "name": "ModOCV",
                        "sf": "OCV_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "V"
                    },
                    {
                        "desc": "External voltage fo this module.",
                        "label": "External Voltage",
                        "mandatory": "M",
                        "name": "ModV",
                        "sf": "ModV_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "V"
                    },
                    {
                        "desc": "Maximum voltage for all cells in this module.",
                        "label": "Maximum Cell Voltage",
                        "name": "ModCellVMax",
                        "sf": "CellV_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "V"
                    },
                    {
                        "desc": "Cell with the maximum cell voltage.",
                        "label": "Max Cell Voltage Cell",
                        "name": "ModCellVMaxCell",
                        "size": 1,
                        "type": "uint16"
                    },
                    {
                        "desc": "Minimum voltage for all cells in this module.",
                        "label": "Minimum Cell Voltage",
                        "name": "ModCellVMin",
                        "sf": "CellV_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "V"
                    },
                    {
                        "desc": "Cell with the minimum cell voltage.",
                        "label": "Min Cell Voltage Cell",
                        "name": "ModCellVMinCell",
                        "size": 1,
                        "type": "uint16"
                    },
                    {
                        "desc": "Average voltage for all cells in this module.",
                        "label": "Average Cell Voltage",
                        "name": "ModCellVAvg",
                        "sf": "CellV_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "V"
                    },
                    {
                        "label": "Anolyte Temperature",
                        "name": "ModAnoTmp",
                        "sf": "Tmp_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "C"
                    },
                    {
                        "label": "Catholyte Temperature",
                        "name": "ModCatTmp",
                        "sf": "Tmp_SF",
                        "size": 1,
                        "type": "uint16",
                        "units": "C"
                    },
                    {
                        "label": "Contactor Status",
                        "name": "ModConSt",
                        "size": 2,
                        "symbols": [
                            {
                                "name": "CONTACTOR_0",
                                "value": 0
                            },
                            {
                                "name": "CONTACTOR_1",
                                "value": 1
                            },
                            {
                                "name": "CONTACTOR_2",
                                "value": 2
                            },
                            {
                                "name": "CONTACTOR_3",
                                "value": 3
                            },
                            {
                                "name": "CONTACTOR_4",
                                "value": 4
                            },
                            {
                                "name": "CONTACTOR_5",
                                "value": 5
                            },
                            {
                                "name": "CONTACTOR_6",
                                "value": 6
                            },
                            {
                                "name": "CONTACTOR_7",
                                "value": 7
                            },
                            {
                                "name": "CONTACTOR_8",
                                "value": 8
                            },
                            {
                                "name": "CONTACTOR_9",
                                "value": 9
                            },
                            {
                                "name": "CONTACTOR_10",
                                "value": 10
                            },
                            {
                                "name": "CONTACTOR_11",
                                "value": 11
                            },
                            {
                                "name": "CONTACTOR_12",
                                "value": 12
                            },
                            {
                                "name": "CONTACTOR_13",
                                "value": 13
                            },
                            {
                                "name": "CONTACTOR_14",
                                "value": 14
                            },
                            {
                                "name": "CONTACTOR_15",
                                "value": 15
                            },
                            {
                                "name": "CONTACTOR_16",
                                "value": 16
                            },
                            {
                                "name": "CONTACTOR_17",
                                "value": 17
                            },
                            {
                                "name": "CONTACTOR_18",
                                "value": 18
                            },
                            {
                                "name": "CONTACTOR_19",
                                "value": 19
                            },
                            {
                                "name": "CONTACTOR_20",
                                "value": 20
                            },
                            {
                                "name": "CONTACTOR_21",
                                "value": 21
                            },
                            {
                                "name": "CONTACTOR_22",
                                "value": 22
                            },
                            {
                                "name": "CONTACTOR_23",
                                "value": 23
                            },
                            {
                                "name": "CONTACTOR_24",
                                "value": 24
                            },
                            {
                                "name": "CONTACTOR_25",
                                "value": 25
                            },
                            {
                                "name": "CONTACTOR_26",
                                "value": 26
                            },
                            {
                                "name": "CONTACTOR_27",
                                "value": 27
                            },
                            {
                                "name": "CONTACTOR_28",
                                "value": 28
                            },
                            {
                                "name": "CONTACTOR_29",
                                "value": 29
                            },
                            {
                                "name": "CONTACTOR_30",
                                "value": 30
                            }
                        ],
                        "type": "bitfield32"
                    },
                    {
                        "desc": "Alarms, warnings and status values.  Bit flags.",
                        "label": "Module Event 1",
                        "mandatory": "M",
                        "name": "ModEvt1",
                        "size": 2,
                        "symbols": [
                            {
                                "name": "COMMUNICATION_ERROR",
                                "value": 0
                            },
                            {
                                "name": "OVER_TEMP_ALARM",
                                "value": 1
                            },
                            {
                                "name": "OVER_TEMP_WARNING",
                                "value": 2
                            },
                            {
                                "name": "UNDER_TEMP_ALARM",
                                "value": 3
                            },
                            {
                                "name": "UNDER_TEMP_WARNING",
                                "value": 4
                            },
                            {
                                "name": "OVER_CHARGE_CURRENT_ALARM",
                                "value": 5
                            },
                            {
                                "name": "OVER_CHARGE_CURRENT_WARNING",
                                "value": 6
                            },
                            {
                                "name": "OVER_DISCHARGE_CURRENT_ALARM",
                                "value": 7
                            },
                            {
                                "name": "OVER_DISCHARGE_CURRENT_WARNING",
                                "value": 8
                            },
                            {
                                "name": "OVER_VOLT_ALARM",
                                "value": 9
                            },
                            {
                                "name": "OVER_VOLT_WARNING",
                                "value": 10
                            },
                            {
                                "name": "UNDER_VOLT_ALARM",
                                "value": 11
                            },
                            {
                                "name": "UNDER_VOLT_WARNING",
                                "value": 12
                            },
                            {
                                "name": "UNDER_SOC_MIN_ALARM",
                                "value": 13
                            },
                            {
                                "name": "UNDER_SOC_MIN_WARNING",
                                "value": 14
                            },
                            {
                                "name": "OVER_SOC_MAX_ALARM",
                                "value": 15
                            },
                            {
                                "name": "OVER_SOC_MAX_WARNING",
                                "value": 16
                            },
                            {
                                "name": "VOLTAGE_IMBALANCE_WARNING",
                                "value": 17
                            },
                            {
                                "name": "RESERVED_1",
                                "value": 18
                            },
                            {
                                "name": "RESERVED_2",
                                "value": 19
                            },
                            {
                                "name": "CONTACTOR_ERROR",
                                "value": 20
                            },
                            {
                                "name": "FAN_ERROR",
                                "value": 21
                            },
                            {
                                "name": "GROUND_FAULT",
                                "value": 22
                            },
                            {
                                "name": "OPEN_DOOR_ERROR",
                                "value": 23
                            },
                            {
                                "name": "RESERVED_3",
                                "value": 24
                            },
                            {
                                "name": "RESERVED_4",
                                "value": 25
                            },
                            {
                                "name": "RESERVED_5",
                                "value": 26
                            },
                            {
                                "name": "FIRE_ALARM",
                                "value": 27
                            },
                            {
                                "name": "MODULE_CONFIGURATION_ALARM",
                                "value": 28
                            },
                            {
                                "name": "MODULE_CONFIGURATION_WARNING",
                                "value": 29
                            }
                        ],
                        "type": "bitfield32"
                    },
                    {
                        "desc": "Alarms, warnings and status values.  Bit flags.",
                        "label": "Module Event 2",
                        "mandatory": "M",
                        "name": "ModEvt2",
                        "size": 2,
                        "symbols": [
                            {
                                "name": "LEAK_ALARM",
                                "value": 0
                            },
                            {
                                "name": "PUMP_ALARM",
                                "value": 1
                            },
                            {
                                "name": "HIGH_PRESSURE_ALARM",
                                "value": 2
                            },
                            {
                                "name": "HIGH_PRESSURE_WARNING",
                                "value": 3
                            },
                            {
                                "name": "LOW_FLOW_ALARM",
                                "value": 4
                            },
                            {
                                "name": "LOW_FLOW_WARNING",
                                "value": 5
                            }
                        ],
                        "type": "bitfield32"
                    },
                    {
                        "label": "Connection Failure Reason",
                        "name": "ModConFail",
                        "size": 1,
                        "symbols": [
                            {
                                "name": "NO_FAILURE",
                                "value": 0
                            },
                            {
                                "name": "BUTTON_PUSHED",
                                "value": 1
                            },
                            {
                                "name": "MODULE_GROUND_FAULT",
                                "value": 2
                            },
                            {
                                "name": "OUTSIDE_VOLTAGE_RANGE",
                                "value": 3
                            },
                            {
                                "name": "MODULE_NOT_ENABLED",
                                "value": 4
                            },
                            {
                                "name": "FUSE_OPEN",
                                "value": 5
                            },
                            {
                                "name": "CONTACTOR_FAILURE",
                                "value": 6
                            },
                            {
                                "name": "PRECHARGE_FAILURE",
                                "value": 7
                            },
                            {
                                "name": "MODULE_FAULT",
                                "value": 8
                            }
                        ],
                        "type": "enum16"
                    },
                    {
                        "access": "RW",
                        "desc": "Enables and disables the module.",
                        "label": "Enable/Disable Module",
                        "name": "ModSetEna",
                        "size": 1,
                        "symbols": [
                            {
                                "name": "ENABLE_MODULE",
                                "value": 1
                            },
                            {
                                "name": "DISABLE_MODULE",
                                "value": 2
                            }
                        ],
                        "type": "enum16"
                    },
                    {
                        "access": "RW",
                        "desc": "Connects and disconnects the module.",
                        "label": "Connect/Disconnect Module ",
                        "name": "ModSetCon",
                        "size": 1,
                        "symbols": [
                            {
                                "name": "CONNECT_MODULE",
                                "value": 1
                            },
                            {
                                "name": "DISCONNECT_MODULE",
                                "value": 2
                            }
                        ],
                        "type": "enum16"
                    },
                    {
                        "desc": "Reason why the module is currently disabled.",
                        "label": "Disabled Reason",
                        "name": "ModDisRsn",
                        "size": 1,
                        "symbols": [
                            {
                                "name": "NONE",
                                "value": 0
                            },
                            {
                                "name": "FAULT",
                                "value": 1
                            },
                            {
                                "name": "MAINTENANCE",
                                "value": 2
                            },
                            {
                                "name": "EXTERNAL",
                                "value": 3
                            },
                            {
                                "name": "OTHER",
                                "value": 4
                            }
                        ],
                        "type": "enum16"
                    }
                ],
                "type": "group"
            }
        ],
        "label": "Flow Battery String Model",
        "name": "flow_battery_string",
        "points": [
            {
                "desc": "Model identifier",
                "label": "Model ID",
                "mandatory": "M",
                "name": "ID",
                "size": 1,
                "static": "S",
                "type": "uint16",
                "value": 807
            },
            {
                "desc": "Model length",
                "label": "Model Length",
                "mandatory": "M",
                "name": "L",
                "size": 1,
                "static": "S",
                "type": "uint16"
            },
            {
                "desc": "Index of the string within the bank.",
                "label": "String Index",
                "mandatory": "M",
                "name": "Idx",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Number of modules in this string.",
                "label": "Module Count",
                "mandatory": "M",
                "name": "NMod",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Number of electrically connected modules in this string.",
                "label": "Connected Module Count",
                "mandatory": "M",
                "name": "NModCon",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Maximum voltage for all modules in the string.",
                "label": "Max Module Voltage",
                "mandatory": "M",
                "name": "ModVMax",
                "sf": "ModV_SF",
                "size": 1,
                "type": "uint16",
                "units": "V"
            },
            {
                "desc": "Module with the maximum voltage.",
                "label": "Max Module Voltage Module",
                "name": "ModVMaxMod",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Minimum voltage for all modules in the string.",
                "label": "Min Module Voltage",
                "mandatory": "M",
                "name": "ModVMin",
                "sf": "ModV_SF",
                "size": 1,
                "type": "uint16",
                "units": "V"
            },
            {
                "desc": "Module with the minimum voltage.",
                "label": "Min Module Voltage Module",
                "name": "ModVMinMod",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Average voltage for all modules in the string.",
                "label": "Average Module Voltage",
                "mandatory": "M",
                "name": "ModVAvg",
                "sf": "ModV_SF",
                "size": 1,
                "type": "uint16",
                "units": "V"
            },
            {
                "desc": "Maximum voltage for all cells in the string.",
                "label": "Max Cell Voltage",
                "name": "CellVMax",
                "sf": "CellV_SF",
                "size": 1,
                "type": "uint16",
                "units": "V"
            },
            {
                "desc": "Module containing the cell with the maximum voltage.",
                "label": "Max Cell Voltage Module",
                "name": "CellVMaxMod",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Stack containing the cell with the maximum voltage.",
                "label": "Max Cell Voltage Stack",
                "name": "CellVMaxStk",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Minimum voltage for all cells in the string.",
                "label": "Min Cell Voltage",
                "name": "CellVMin",
                "sf": "CellV_SF",
                "size": 1,
                "type": "uint16",
                "units": "V"
            },
            {
                "desc": "Module containing the cell with the minimum voltage.",
                "label": "Min Cell Voltage Module",
                "name": "CellVMinMod",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Stack containing the cell with the minimum voltage.",
                "label": "Min Cell Voltage Stack",
                "name": "CellVMinStk",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Average voltage for all cells in the string.",
                "label": "Average Cell Voltage",
                "name": "CellVAvg",
                "sf": "CellV_SF",
                "size": 1,
                "type": "uint16",
                "units": "V"
            },
            {
                "desc": "Maximum electrolyte temperature for all modules in the string.",
                "label": "Max Temperature",
                "mandatory": "M",
                "name": "TmpMax",
                "sf": "Tmp_SF",
                "size": 1,
                "type": "int16",
                "units": "C"
            },
            {
                "desc": "Module with the maximum temperature.",
                "label": "Max Temperature Module",
                "name": "TmpMaxMod",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Minimum electrolyte temperature for all modules in the string.",
                "label": "Min Temperature",
                "mandatory": "M",
                "name": "TmpMin",
                "sf": "Tmp_SF",
                "size": 1,
                "type": "int16",
                "units": "C"
            },
            {
                "desc": "Module with the minimum temperature.",
                "label": "Min Temperature Module",
                "name": "TmpMinMod",
                "size": 1,
                "type": "uint16"
            },
            {
                "desc": "Average electrolyte temperature for all modules in the string.",
                "label": "Average Temperature",
                "mandatory": "M",
                "name": "TmpAvg",
                "sf": "Tmp_SF",
                "size": 1,
                "type": "int16",
                "units": "C"
            },
            {
                "desc": "Alarms, warnings and status values.  Bit flags.",
                "label": "String Event 1",
                "mandatory": "M",
                "name": "Evt1",
                "size": 2,
                "symbols": [
                    {
                        "name": "COMMUNICATION_ERROR",
                        "value": 0
                    },
                    {
                        "name": "OVER_TEMP_ALARM",
                        "value": 1
                    },
                    {
                        "name": "OVER_TEMP_WARNING",
                        "value": 2
                    },
                    {
                        "name": "UNDER_TEMP_ALARM",
                        "value": 3
                    },
                    {
                        "name": "UNDER_TEMP_WARNING",
                        "value": 4
                    },
                    {
                        "name": "OVER_CHARGE_CURRENT_ALARM",
                        "value": 5
                    },
                    {
                        "name": "OVER_CHARGE_CURRENT_WARNING",
                        "value": 6
                    },
                    {
                        "name": "OVER_DISCHARGE_CURRENT_ALARM",
                        "value": 7
                    },
                    {
                        "name": "OVER_DISCHARGE_CURRENT_WARNING",
                        "value": 8
                    },
                    {
                        "name": "OVER_VOLT_ALARM",
                        "value": 9
                    },
                    {
                        "name": "OVER_VOLT_WARNING",
                        "value": 10
                    },
                    {
                        "name": "UNDER_VOLT_ALARM",
                        "value": 11
                    },
                    {
                        "name": "UNDER_VOLT_WARNING",
                        "value": 12
                    },
                    {
                        "name": "UNDER_SOC_MIN_ALARM",
                        "value": 13
                    },
                    {
                        "name": "UNDER_SOC_MIN_WARNING",
                        "value": 14
                    },
                    {
                        "name": "OVER_SOC_MAX_ALARM",
                        "value": 15
                    },
                    {
                        "name": "OVER_SOC_MAX_WARNING",
                        "value": 16
                    },
                    {
                        "name": "VOLTAGE_IMBALANCE_WARNING",
                        "value": 17
                    },
                    {
                        "name": "RESERVED_1",
                        "value": 18
                    },
                    {
                        "name": "RESERVED_2",
                        "value": 19
                    },
                    {
                        "name": "CONTACTOR_ERROR",
                        "value": 20
                    },
                    {
                        "name": "FAN_ERROR",
                        "value": 21
                    },
                    {
                        "name": "GROUND_FAULT",
                        "value": 22
                    },
                    {
                        "name": "OPEN_DOOR_ERROR",
                        "value": 23
                    },
                    {
                        "name": "RESERVED_3",
                        "value": 24
                    },
                    {
                        "name": "OTHER_ALARM",
                        "value": 25
                    },
                    {
                        "name": "OTHER_WARNING",
                        "value": 26
                    },
                    {
                        "name": "FIRE_ALARM",
                        "value": 27
                    },
                    {
                        "name": "CONFIGURATION_ALARM",
                        "value": 28
                    },
                    {
                        "name": "CONFIGURATION_WARNING",
                        "value": 29
                    }
                ],
                "type": "bitfield32"
            },
            {
                "desc": "Alarms, warnings and status values.  Bit flags.",
                "label": "String Event 2",
                "mandatory": "M",
                "name": "Evt2",
                "size": 2,
                "symbols": [
                    {
                        "name": "LEAK_ALARM",
                        "value": 0
                    },
                    {
                        "name": "PUMP_ALARM",
                        "value": 1
                    },
                    {
                        "name": "HIGH_PRESSURE_ALARM",
                        "value": 2
                    },
                    {
                        "name": "HIGH_PRESSURE_WARNING",
                        "value": 3
                    },
                    {
                        "name": "LOW_FLOW_ALARM",
                        "value": 4
                    },
                    {
                        "name": "LOW_FLOW_WARNING",
                        "value": 5
                    }
                ],
                "type": "bitfield32"
            },
            {
                "desc": "Vendor defined events.",
                "label": "Vendor Event Bitfield 1",
                "mandatory": "M",
                "name": "EvtVnd1",
                "size": 2,
                "type": "bitfield32"
            },
            {
                "desc": "Vendor defined events.",
                "label": "Vendor Event Bitfield 2",
                "mandatory": "M",
                "name": "EvtVnd2",
                "size": 2,
                "type": "bitfield32"
            },
            {
                "mandatory": "M",
                "name": "ModV_SF",
                "size": 1,
                "type": "sunssf"
            },
            {
                "desc": "Scale factor for voltage.",
                "mandatory": "M",
                "name": "CellV_SF",
                "size": 1,
                "type": "sunssf"
            },
            {
                "desc": "Scale factor for temperature.",
                "mandatory": "M",
                "name": "Tmp_SF",
                "size": 1,
                "type": "sunssf"
            },
            {
                "desc": "Scale factor for state of charge.",
                "mandatory": "M",
                "name": "SoC_SF",
                "size": 1,
                "type": "sunssf"
            },
            {
                "desc": "Scale factor for open circuit voltage.",
                "mandatory": "M",
                "name": "OCV_SF",
                "size": 1,
                "type": "sunssf"
            },
            {
                "desc": "Pad register.",
                "label": "Pad",
                "mandatory": "M",
                "name": "Pad1",
                "size": 1,
                "type": "pad"
            }
        ],
        "type": "group"
    },
    "id": 807
}