{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Treetech", "model": "AVR", "models": [ "AVR" ], "vendor_website": "treetech.com.br", "description": "Voltage regulator relay for transformer tap changers: tap position, load voltage, current, power, regulation state, alarms, relays and maintenance counters", "revision": 1, "revised": "2026-11-10", "firmware": "1.02 r1", "source": "Treetech AVR Mapa de Protocolos de Comunicação MAP-103, rev. 1.00", "sources": [ { "title": "AVR - Relé Regulador de Tensão: Mapa de Protocolos de Comunicação (MAP-103)", "version": "1.00", "date": "2025-08-18", "url": "https://treetech.com.br/wp-content/uploads/2025/09/Treetech_AVR_v2_mapa_de_protocolo_pt_1.00.pdf", "note": "section 2 (Modbus); linked in issue #153" } ], "notes": [ "Modbus RTU on RS-485, FC01 to FC06, FC15 and FC16. Addresses are 0-based, as sent on the wire.", "Baud rate is selectable (4800 to 115200 bit/s), 8 data bits, no parity, 1 or 2 stop bits (detected automatically). The document gives no factory default for the baud rate or the address; 9600 and 1 are assumed here.", "The document lists every value as a 16-bit word without stating a scale. Scales are applied where the documented range makes them clear (frequency, angles, power factor, VT voltage) or where the TMV / SDV / SDT document (MAP-013) lists the same register with an engineering range; those descriptions say so. The line current stays raw.", "Left out: the regulation sets (registers 20100 to 20620 and coils 20100 to 20601), the relay-to-alarm association coils, the password and mass-memory registers, the 48-bit timestamp, the tap changer rated current (21305, whose range differs from the TMV document) and the squared-current limits in 21404 to 21408.", "The document was written for firmware 1.02 r1. Written from that document; this map has not been tested on a device." ], "protocol": "rtu", "unit_id": 1, "baudrate": 9600, "parity": "N", "databits": 8, "stopbits": 1, "byte_order": "big", "word_order": "big", "address_base": 0, "x_status": "official", "enums": { "device_status": {"0": "Normal", "1": "Maintenance", "2": "Major alarm", "3": "Medium alarm", "4": "Minor alarm", "5": "Starting"}, "calibration_status": {"0": "Ok", "1": "Error", "2": "Starting", "3": "Calibrating"}, "tap_display": {"0": "Bilateral", "1": "Bilateral inverted", "2": "Alphanumeric", "3": "Alphanumeric inverted", "4": "Simple numeric"}, "tap_measure": {"0": "Normal", "1": "Simple calibration", "2": "Advanced calibration"}, "tap_command": {"0": "Stop", "1": "Lower", "2": "Raise"}, "baud_rate": {"0": "4800", "1": "9600", "2": "19200", "3": "38400", "4": "57600", "5": "115200"}, "uart_protocol": {"1": "Modbus", "2": "DNP3"}, "alarm_class": {"0": "Disabled", "1": "Blue", "2": "Yellow", "3": "Red"}, "phase_shift": {"0": "0°", "1": "30°", "2": "60°", "3": "90°", "4": "120°", "5": "150°", "6": "180°", "7": "210°", "8": "240°", "9": "270°", "10": "300°", "11": "330°"}, "relay_mode": {"0": "Normal", "1": "Inverted"}, "active": {"0": "Inactive", "1": "Active"}, "quality": {"0": "Bad", "1": "Good"}, "relay_state": {"0": "Not energised", "1": "Energised"}, "command_mode": {"0": "Manual", "1": "Automatic"} }, "registers": [ {"name": "Tap changer positions", "group": "Tap changer", "area": "holding", "address": 300, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 49, "description": "Number of taps the tap changer has"}, {"name": "Tap display type", "group": "Tap changer", "area": "holding", "address": 301, "type": "uint16", "access": "RW", "enum": "tap_display"}, {"name": "Potentiometer resistance per step", "group": "Tap changer", "area": "holding", "address": 302, "type": "uint16", "scale": 0.1, "unit": "ohm", "access": "RW", "write_min": 4.7, "write_max": 20, "description": "Range 47 to 200, read as tenths (the TMV document lists the same register as 4.7 to 20)"}, {"name": "Tap change time", "group": "Tap changer", "area": "holding", "address": 303, "type": "uint16", "unit": "s", "access": "RW", "write_min": 1, "write_max": 100, "description": "Time the tap changer takes for a complete tap change"}, {"name": "Neutral tap position", "group": "Tap changer", "area": "holding", "address": 304, "type": "uint16", "access": "RW", "write_min": 2, "write_max": 34, "description": "Counted from the start of the measuring range"}, {"name": "Minimum tap", "group": "Tap changer", "area": "holding", "address": 305, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 49}, {"name": "Maximum tap", "group": "Tap changer", "area": "holding", "address": 306, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 49}, {"name": "Potentiometer start offset", "group": "Tap changer", "area": "holding", "address": 307, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 5}, {"name": "Potentiometer end offset", "group": "Tap changer", "area": "holding", "address": 308, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 5}, {"name": "Intermediate tap position, rule 1", "group": "Tap changer", "area": "holding", "address": 309, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 48}, {"name": "Intermediate tap count, rule 1", "group": "Tap changer", "area": "holding", "address": 310, "type": "uint16", "access": "RW", "write_min": 2, "write_max": 5}, {"name": "Intermediate tap position, rule 2", "group": "Tap changer", "area": "holding", "address": 311, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 48}, {"name": "Intermediate tap count, rule 2", "group": "Tap changer", "area": "holding", "address": 312, "type": "uint16", "access": "RW", "write_min": 2, "write_max": 5}, {"name": "Intermediate tap position, rule 3", "group": "Tap changer", "area": "holding", "address": 313, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 48}, {"name": "Intermediate tap count, rule 3", "group": "Tap changer", "area": "holding", "address": 314, "type": "uint16", "access": "RW", "write_min": 2, "write_max": 5}, {"name": "Potentiometer measuring method", "group": "Tap changer", "area": "holding", "address": 315, "type": "uint16", "access": "RW", "enum": "tap_measure"}, {"name": "Tap at calibration", "group": "Tap changer", "area": "holding", "address": 316, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 49}, {"name": "Potentiometer temperature at calibration", "group": "Tap changer", "area": "holding", "address": 317, "type": "int16", "unit": "°C", "access": "RW", "write_min": -55, "write_max": 200}, {"name": "Connection wire temperature at calibration", "group": "Tap changer", "area": "holding", "address": 318, "type": "int16", "unit": "°C", "access": "RW", "write_min": -55, "write_max": 200}, {"name": "Raise or lower tap", "group": "Commands", "area": "holding", "address": 320, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 2, "enum": "tap_command"}, {"name": "CT ratio", "group": "Settings", "area": "holding", "address": 400, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 10000}, {"name": "UART1 baud rate", "group": "Communication", "area": "holding", "address": 500, "type": "uint16", "access": "RW", "enum": "baud_rate"}, {"name": "UART1 protocol", "group": "Communication", "area": "holding", "address": 501, "type": "uint16", "access": "RW", "enum": "uart_protocol"}, {"name": "UART1 address", "group": "Communication", "area": "holding", "address": 502, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 65519, "description": "Applied with the key in register 505"}, {"name": "UART1 end of reception interval", "group": "Communication", "area": "holding", "address": 503, "type": "uint16", "unit": "ms", "access": "RW", "write_min": 5, "write_max": 500}, {"name": "UART1 transmit delay", "group": "Communication", "area": "holding", "address": 504, "type": "uint16", "unit": "ms", "access": "RW", "write_min": 5, "write_max": 500}, {"name": "UART2 baud rate", "group": "Communication", "area": "holding", "address": 506, "type": "uint16", "access": "RW", "enum": "baud_rate"}, {"name": "UART2 protocol", "group": "Communication", "area": "holding", "address": 507, "type": "uint16", "access": "RW", "enum": "uart_protocol"}, {"name": "UART2 address", "group": "Communication", "area": "holding", "address": 508, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 65519, "description": "Applied with the key in register 511"}, {"name": "UART2 end of reception interval", "group": "Communication", "area": "holding", "address": 509, "type": "uint16", "unit": "ms", "access": "RW", "write_min": 5, "write_max": 500}, {"name": "UART2 transmit delay", "group": "Communication", "area": "holding", "address": 510, "type": "uint16", "unit": "ms", "access": "RW", "write_min": 5, "write_max": 500}, {"name": "Undervoltage alarm threshold", "group": "Alarms", "area": "holding", "address": 20000, "type": "uint16", "unit": "%", "access": "RW", "write_min": 10, "write_max": 99}, {"name": "Undervoltage alarm delay", "group": "Alarms", "area": "holding", "address": 20001, "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 200}, {"name": "Overvoltage alarm threshold", "group": "Alarms", "area": "holding", "address": 20002, "type": "uint16", "unit": "%", "access": "RW", "write_min": 101, "write_max": 199}, {"name": "Overvoltage alarm delay", "group": "Alarms", "area": "holding", "address": 20003, "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 200}, {"name": "Overcurrent alarm threshold", "group": "Alarms", "area": "holding", "address": 20004, "type": "uint16", "unit": "%", "access": "RW", "write_min": 10, "write_max": 200}, {"name": "Overcurrent alarm delay", "group": "Alarms", "area": "holding", "address": 20005, "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 200}, {"name": "Undervoltage alarm class", "group": "Alarms", "area": "holding", "address": 20006, "type": "uint16", "access": "RW", "enum": "alarm_class"}, {"name": "Overvoltage alarm class", "group": "Alarms", "area": "holding", "address": 20007, "type": "uint16", "access": "RW", "enum": "alarm_class"}, {"name": "Overcurrent alarm class", "group": "Alarms", "area": "holding", "address": 20008, "type": "uint16", "access": "RW", "enum": "alarm_class"}, {"name": "Tap changer blocked alarm class", "group": "Alarms", "area": "holding", "address": 20009, "type": "uint16", "access": "RW", "enum": "alarm_class"}, {"name": "Regulation command pulse time", "group": "Settings", "area": "holding", "address": 20010, "type": "uint16", "unit": "s", "access": "RW", "write_min": 5, "write_max": 20}, {"name": "CT or VT phase shift", "group": "Settings", "area": "holding", "address": 21100, "type": "uint16", "access": "RW", "enum": "phase_shift"}, {"name": "Rated power", "group": "Settings", "area": "holding", "address": 21101, "type": "uint16", "scale": 0.1, "unit": "MVA", "access": "RW", "write_min": 0, "write_max": 999.9, "description": "Range 0 to 9999, read as tenths (as in the TMV document)"}, {"name": "Rated current", "group": "Settings", "area": "holding", "address": 21102, "type": "uint16", "scale": 0.01, "unit": "kA", "access": "RW", "write_min": 0.01, "write_max": 655.35, "description": "Range 1 to 65535, read as hundredths (as in the TMV document)"}, {"name": "VT ratio", "group": "Settings", "area": "holding", "address": 21103, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999}, {"name": "CT ratio (second setting)", "group": "Settings", "area": "holding", "address": 21104, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999}, {"name": "Tap changer check retry limit", "group": "Alarms", "area": "holding", "address": 21200, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 99, "description": "Attempts before the tap changer regulation failure alarm"}, {"name": "Tap changer check alarm class", "group": "Alarms", "area": "holding", "address": 21201, "type": "uint16", "access": "RW", "enum": "alarm_class"}, {"name": "Switching average period", "group": "Maintenance", "area": "holding", "address": 21303, "type": "uint16", "unit": "days", "access": "RW", "write_min": 10, "write_max": 365, "description": "Days used for the average number of operations"}, {"name": "Maintenance notice lead time", "group": "Maintenance", "area": "holding", "address": 21304, "type": "uint16", "unit": "days", "access": "RW", "write_min": 10, "write_max": 365}, {"name": "Maintenance notice operation count", "group": "Maintenance", "area": "holding", "address": 21310, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 999}, {"name": "Total tap changer operations", "group": "Maintenance", "area": "holding", "address": 21400, "type": "uint32", "access": "RW", "write_min": 0, "write_max": 999999}, {"name": "Operations since last maintenance", "group": "Maintenance", "area": "holding", "address": 21402, "type": "uint32", "access": "RW", "write_min": 0, "write_max": 999999}, {"name": "Device status", "group": "Status", "area": "input", "address": 0, "type": "uint16", "enum": "device_status"}, {"name": "Current tap", "group": "Tap changer", "area": "input", "address": 300, "type": "int16", "description": "Range -49 to 49"}, {"name": "Previous tap", "group": "Tap changer", "area": "input", "address": 301, "type": "int16"}, {"name": "Minimum recorded tap", "group": "Tap changer", "area": "input", "address": 302, "type": "int16"}, {"name": "Maximum recorded tap", "group": "Tap changer", "area": "input", "address": 303, "type": "int16"}, {"name": "Potentiometer calibration status", "group": "Tap changer", "area": "input", "address": 304, "type": "uint16", "enum": "calibration_status"}, {"name": "Voltage deviation", "group": "Measurements", "area": "input", "address": 20000, "type": "int16", "scale": 0.1, "unit": "%", "description": "Scale from the TMV document, which lists the same register as -3276.8 to 3276.7"}, {"name": "Active power", "group": "Measurements", "area": "input", "address": 20001, "type": "int16", "scale": 0.1, "unit": "MW", "description": "Scale from the TMV document"}, {"name": "Reactive power", "group": "Measurements", "area": "input", "address": 20002, "type": "int16", "scale": 0.1, "unit": "MVAR", "description": "Scale from the TMV document"}, {"name": "Apparent power", "group": "Measurements", "area": "input", "address": 20003, "type": "int16", "scale": 0.1, "unit": "MVA", "description": "Scale from the TMV document"}, {"name": "Transformer apparent load", "group": "Measurements", "area": "input", "address": 20004, "type": "uint16", "scale": 0.1, "unit": "%", "description": "Range 0 to 5000, read as tenths (as in the TMV document)"}, {"name": "VT voltage", "group": "Measurements", "area": "input", "address": 20005, "type": "uint16", "scale": 0.1, "unit": "V", "description": "Range 0 to 2400; the 0.1 scale is read from that range"}, {"name": "CT current", "group": "Measurements", "area": "input", "address": 20006, "type": "uint16", "scale": 0.01, "unit": "A", "description": "Range 0 to 1500, read as hundredths (as in the TMV document)"}, {"name": "Calculated CT to VT angle", "group": "Measurements", "area": "input", "address": 20007, "type": "uint16", "scale": 0.1, "unit": "°", "description": "Range 0 to 3599, read as tenths of a degree"}, {"name": "Frequency", "group": "Measurements", "area": "input", "address": 20008, "type": "uint16", "scale": 0.01, "unit": "Hz", "description": "Range 0 to 6200, read as hundredths of a hertz"}, {"name": "Load voltage", "group": "Measurements", "area": "input", "address": 20009, "type": "uint16", "scale": 0.01, "unit": "kV", "description": "Read as hundredths (as in the TMV document)"}, {"name": "Line voltage", "group": "Measurements", "area": "input", "address": 20010, "type": "uint16", "scale": 0.01, "unit": "kV", "description": "Read as hundredths (as in the TMV document)"}, {"name": "Line current", "group": "Measurements", "area": "input", "address": 20011, "type": "uint16", "unit": "A", "description": "Raw value; this document says A, while the TMV document lists the same register as 0 to 6553.5 kA"}, {"name": "Power factor", "group": "Measurements", "area": "input", "address": 20012, "type": "uint16", "scale": 0.001, "description": "Range 0 to 1000, read as thousandths"}, {"name": "Transformer current relative to rated", "group": "Measurements", "area": "input", "address": 20013, "type": "uint16", "unit": "%", "description": "Raw value; the document gives no scale"}, {"name": "Measured CT to VT angle", "group": "Measurements", "area": "input", "address": 20014, "type": "uint16", "scale": 0.1, "unit": "°", "description": "Range 0 to 3599, read as tenths of a degree"}, {"name": "Active regulation set", "group": "Status", "area": "input", "address": 20015, "type": "uint16", "description": "Range 1 to 10"}, {"name": "Average operations per day", "group": "Maintenance", "area": "input", "address": 21300, "type": "uint16", "scale": 0.1, "unit": "ops/day", "description": "Read as tenths (as in the TMV document)"}, {"name": "Days to maintenance by operations", "group": "Maintenance", "area": "input", "address": 21301, "type": "uint16", "unit": "days"}, {"name": "Average squared switched current per day", "group": "Maintenance", "area": "input", "address": 21302, "type": "uint16", "scale": 0.1, "unit": "x10³ pu²/day", "description": "Read as tenths (as in the TMV document)"}, {"name": "Days to maintenance by squared current", "group": "Maintenance", "area": "input", "address": 21303, "type": "uint16", "unit": "days"}, {"name": "Serial number", "group": "Identity", "area": "input", "address": 45000, "type": "uint32", "role": "serial"}, {"name": "Firmware version", "group": "Identity", "area": "input", "address": 45002, "type": "uint16", "description": "Lower board"}, {"name": "Firmware release", "group": "Identity", "area": "input", "address": 45003, "type": "uint16", "description": "Lower board"}, {"name": "Bootloader version", "group": "Identity", "area": "input", "address": 45004, "type": "uint16", "description": "Lower board"}, {"name": "Bootloader release", "group": "Identity", "area": "input", "address": 45005, "type": "uint16", "description": "Lower board"}, {"name": "Device code", "group": "Identity", "area": "input", "address": 45006, "type": "uint16"}, {"name": "Modbus map version", "group": "Identity", "area": "input", "address": 45007, "type": "uint16"}, {"name": "Time zone", "group": "Clock", "area": "input", "address": 45100, "type": "int16", "unit": "h"}, {"name": "Day", "group": "Clock", "area": "input", "address": 45101, "type": "uint16"}, {"name": "Month", "group": "Clock", "area": "input", "address": 45102, "type": "uint16"}, {"name": "Year", "group": "Clock", "area": "input", "address": 45103, "type": "uint16"}, {"name": "Hour", "group": "Clock", "area": "input", "address": 45104, "type": "uint16"}, {"name": "Minute", "group": "Clock", "area": "input", "address": 45105, "type": "uint16"}, {"name": "Second", "group": "Clock", "area": "input", "address": 45106, "type": "uint16"}, {"name": "Reset internal errors memory", "group": "Commands", "area": "coil", "address": 1, "type": "bool", "access": "W", "description": "Write 1 to reset"}, {"name": "Reset self-diagnostics memory", "group": "Commands", "area": "coil", "address": 2, "type": "bool", "access": "W", "description": "Write 1 to reset"}, {"name": "Reset alarm memory", "group": "Commands", "area": "coil", "address": 3, "type": "bool", "access": "W", "description": "Write 1 to reset"}, {"name": "Reset mass memory", "group": "Commands", "area": "coil", "address": 4, "type": "bool", "access": "W", "description": "Write 1 to reset"}, {"name": "Relay 4 mode", "group": "Relays", "area": "coil", "address": 100, "type": "bool", "access": "RW", "enum": "relay_mode"}, {"name": "Relay 5 mode", "group": "Relays", "area": "coil", "address": 101, "type": "bool", "access": "RW", "enum": "relay_mode"}, {"name": "Relay 6 mode", "group": "Relays", "area": "coil", "address": 102, "type": "bool", "access": "RW", "enum": "relay_mode"}, {"name": "Enable tap reading", "group": "Tap changer", "area": "coil", "address": 300, "type": "bool", "access": "RW"}, {"name": "Reset minimum tap", "group": "Commands", "area": "coil", "address": 302, "type": "bool", "access": "W", "description": "Write 1 to reset"}, {"name": "Reset maximum tap", "group": "Commands", "area": "coil", "address": 303, "type": "bool", "access": "W", "description": "Write 1 to reset"}, {"name": "Calibrate potentiometer, short at the low end", "group": "Commands", "area": "coil", "address": 313, "type": "bool", "access": "W", "description": "Write 1 to calibrate"}, {"name": "Calibrate potentiometer, short at the high end", "group": "Commands", "area": "coil", "address": 314, "type": "bool", "access": "W", "description": "Write 1 to calibrate"}, {"name": "Lower tap", "group": "Commands", "area": "coil", "address": 315, "type": "bool", "access": "W", "description": "Write 1 to lower the tap"}, {"name": "Raise tap", "group": "Commands", "area": "coil", "address": 316, "type": "bool", "access": "W", "description": "Write 1 to raise the tap"}, {"name": "Enable regulation", "group": "Settings", "area": "coil", "address": 20014, "type": "bool", "access": "RW"}, {"name": "Check tap changer", "group": "Commands", "area": "coil", "address": 21200, "type": "bool", "access": "W", "description": "Write 1 to start the check"}, {"name": "Enable tap changer maintenance monitoring", "group": "Maintenance", "area": "coil", "address": 21300, "type": "bool", "access": "RW"}, {"name": "Acknowledge maintenance notice", "group": "Commands", "area": "coil", "address": 21301, "type": "bool", "access": "W", "description": "Write 1 to acknowledge"}, {"name": "Perform maintenance", "group": "Commands", "area": "coil", "address": 21302, "type": "bool", "access": "W", "description": "Write 1 to record that maintenance was done"}, {"name": "Restart OLMT averages", "group": "Commands", "area": "coil", "address": 21315, "type": "bool", "access": "W", "description": "Write 1 to restart"}, {"name": "Self-diagnostics: flash write failure", "group": "Self-diagnostics", "area": "discrete", "address": 0, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: flash write failure", "group": "Self-diagnostics", "area": "discrete", "address": 1, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics: relay settings failure", "group": "Self-diagnostics", "area": "discrete", "address": 2, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: relay settings failure", "group": "Self-diagnostics", "area": "discrete", "address": 3, "type": "bool", "enum": "active"}, {"name": "Settings quality", "group": "Self-diagnostics", "area": "discrete", "address": 4, "type": "bool", "enum": "quality"}, {"name": "Self-diagnostics: settings failure", "group": "Self-diagnostics", "area": "discrete", "address": 5, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: settings failure", "group": "Self-diagnostics", "area": "discrete", "address": 6, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics: 1.65 V measurement failure", "group": "Self-diagnostics", "area": "discrete", "address": 7, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: 1.65 V measurement failure", "group": "Self-diagnostics", "area": "discrete", "address": 8, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics: CT measurement failure", "group": "Self-diagnostics", "area": "discrete", "address": 9, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: CT measurement failure", "group": "Self-diagnostics", "area": "discrete", "address": 10, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics: CT overflow", "group": "Self-diagnostics", "area": "discrete", "address": 11, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: CT overflow", "group": "Self-diagnostics", "area": "discrete", "address": 12, "type": "bool", "enum": "active"}, {"name": "Relay 1 state", "group": "Relays", "area": "discrete", "address": 13, "type": "bool", "enum": "relay_state"}, {"name": "Relay 2 state", "group": "Relays", "area": "discrete", "address": 14, "type": "bool", "enum": "relay_state"}, {"name": "Relay 3 state", "group": "Relays", "area": "discrete", "address": 15, "type": "bool", "enum": "relay_state"}, {"name": "Relay 4 state", "group": "Relays", "area": "discrete", "address": 16, "type": "bool", "enum": "relay_state"}, {"name": "Relay 5 state", "group": "Relays", "area": "discrete", "address": 17, "type": "bool", "enum": "relay_state"}, {"name": "Relay 6 state", "group": "Relays", "area": "discrete", "address": 18, "type": "bool", "enum": "relay_state"}, {"name": "Relay 7 state", "group": "Relays", "area": "discrete", "address": 19, "type": "bool", "enum": "relay_state"}, {"name": "Command mode", "group": "Status", "area": "discrete", "address": 20, "type": "bool", "enum": "command_mode"}, {"name": "USB write locked", "group": "Status", "area": "discrete", "address": 21, "type": "bool"}, {"name": "External contact 1 state", "group": "Status", "area": "discrete", "address": 200, "type": "bool"}, {"name": "External contact 2 state", "group": "Status", "area": "discrete", "address": 201, "type": "bool"}, {"name": "External contact 3 state", "group": "Status", "area": "discrete", "address": 202, "type": "bool"}, {"name": "External contact 4 state", "group": "Status", "area": "discrete", "address": 203, "type": "bool"}, {"name": "External contact 5 state", "group": "Status", "area": "discrete", "address": 204, "type": "bool"}, {"name": "Self-diagnostics: potentiometer reading failure", "group": "Self-diagnostics", "area": "discrete", "address": 300, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: potentiometer reading failure", "group": "Self-diagnostics", "area": "discrete", "address": 301, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics: potentiometer A/D failure", "group": "Self-diagnostics", "area": "discrete", "address": 302, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: potentiometer A/D failure", "group": "Self-diagnostics", "area": "discrete", "address": 303, "type": "bool", "enum": "active"}, {"name": "Tap quality: current", "group": "Tap changer", "area": "discrete", "address": 304, "type": "bool", "enum": "quality"}, {"name": "Tap quality: previous", "group": "Tap changer", "area": "discrete", "address": 305, "type": "bool", "enum": "quality"}, {"name": "Tap quality: minimum", "group": "Tap changer", "area": "discrete", "address": 306, "type": "bool", "enum": "quality"}, {"name": "Tap quality: maximum", "group": "Tap changer", "area": "discrete", "address": 307, "type": "bool", "enum": "quality"}, {"name": "Potentiometer slider high voltage alarm", "group": "Alarms", "area": "discrete", "address": 308, "type": "bool", "enum": "active"}, {"name": "Potentiometer slider high voltage alarm memory", "group": "Alarms", "area": "discrete", "address": 309, "type": "bool", "enum": "active"}, {"name": "Tap changer status", "group": "Tap changer", "area": "discrete", "address": 310, "type": "bool", "description": "The document does not describe the two states"}, {"name": "Self-diagnostics: VT voltage measurement failure", "group": "Self-diagnostics", "area": "discrete", "address": 20000, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: VT voltage measurement failure", "group": "Self-diagnostics", "area": "discrete", "address": 20001, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics: VT overflow", "group": "Self-diagnostics", "area": "discrete", "address": 20002, "type": "bool", "enum": "active"}, {"name": "Self-diagnostics memory: VT overflow", "group": "Self-diagnostics", "area": "discrete", "address": 20003, "type": "bool", "enum": "active"}, {"name": "Overvoltage alarm", "group": "Alarms", "area": "discrete", "address": 20004, "type": "bool", "enum": "active"}, {"name": "Overvoltage alarm memory", "group": "Alarms", "area": "discrete", "address": 20005, "type": "bool", "enum": "active"}, {"name": "Overcurrent alarm", "group": "Alarms", "area": "discrete", "address": 20006, "type": "bool", "enum": "active"}, {"name": "Overcurrent alarm memory", "group": "Alarms", "area": "discrete", "address": 20007, "type": "bool", "enum": "active"}, {"name": "Undervoltage alarm", "group": "Alarms", "area": "discrete", "address": 20008, "type": "bool", "enum": "active"}, {"name": "Undervoltage alarm memory", "group": "Alarms", "area": "discrete", "address": 20009, "type": "bool", "enum": "active"}, {"name": "Tap changer blocked alarm", "group": "Alarms", "area": "discrete", "address": 20010, "type": "bool", "enum": "active"}, {"name": "Tap changer blocked alarm memory", "group": "Alarms", "area": "discrete", "address": 20011, "type": "bool", "enum": "active"}, {"name": "Tap changer check alarm", "group": "Alarms", "area": "discrete", "address": 20012, "type": "bool", "enum": "active"}, {"name": "Tap changer check alarm memory", "group": "Alarms", "area": "discrete", "address": 20013, "type": "bool", "enum": "active"}, {"name": "VT measurement quality", "group": "Measurements", "area": "discrete", "address": 20014, "type": "bool", "enum": "quality"}, {"name": "CT measurement quality", "group": "Measurements", "area": "discrete", "address": 20015, "type": "bool", "enum": "quality"}, {"name": "Phase angle measurement quality", "group": "Measurements", "area": "discrete", "address": 20016, "type": "bool", "enum": "quality"}, {"name": "Frequency measurement quality", "group": "Measurements", "area": "discrete", "address": 20017, "type": "bool", "enum": "quality"}, {"name": "Load voltage measurement quality", "group": "Measurements", "area": "discrete", "address": 20018, "type": "bool", "enum": "quality"}, {"name": "Voltage deviation quality", "group": "Measurements", "area": "discrete", "address": 20019, "type": "bool", "enum": "quality"}, {"name": "Line voltage quality", "group": "Measurements", "area": "discrete", "address": 20020, "type": "bool", "enum": "quality"}, {"name": "Line current quality", "group": "Measurements", "area": "discrete", "address": 20021, "type": "bool", "enum": "quality"}, {"name": "Power factor quality", "group": "Measurements", "area": "discrete", "address": 20022, "type": "bool", "enum": "quality"}, {"name": "Power factor is capacitive or inductive", "group": "Measurements", "area": "discrete", "address": 20023, "type": "bool", "description": "Indicator bit; the document does not say which value is which"}, {"name": "Power flow reversed", "group": "Status", "area": "discrete", "address": 20024, "type": "bool"}, {"name": "Active power quality", "group": "Measurements", "area": "discrete", "address": 20025, "type": "bool", "enum": "quality"}, {"name": "Reactive power quality", "group": "Measurements", "area": "discrete", "address": 20026, "type": "bool", "enum": "quality"}, {"name": "Apparent power quality", "group": "Measurements", "area": "discrete", "address": 20027, "type": "bool", "enum": "quality"}, {"name": "Regulation load quality", "group": "Measurements", "area": "discrete", "address": 20028, "type": "bool", "enum": "quality"}, {"name": "Apparent load quality", "group": "Measurements", "area": "discrete", "address": 20029, "type": "bool", "enum": "quality"}, {"name": "Raise regulation active", "group": "Status", "area": "discrete", "address": 20030, "type": "bool"}, {"name": "Raise regulation quality", "group": "Status", "area": "discrete", "address": 20031, "type": "bool", "enum": "quality"}, {"name": "Lower regulation active", "group": "Status", "area": "discrete", "address": 20032, "type": "bool"}, {"name": "Lower regulation quality", "group": "Status", "area": "discrete", "address": 20033, "type": "bool", "enum": "quality"}, {"name": "Tap changer trip detected", "group": "Status", "area": "discrete", "address": 20034, "type": "bool"}, {"name": "Regulation set selected by time range", "group": "Status", "area": "discrete", "address": 20035, "type": "bool", "description": "0 = default set, 1 = selected by time range"}, {"name": "Tap changer blocked by overvoltage", "group": "Alarms", "area": "discrete", "address": 20036, "type": "bool", "enum": "active"}, {"name": "Tap changer blocked by undervoltage", "group": "Alarms", "area": "discrete", "address": 20037, "type": "bool", "enum": "active"}, {"name": "Tap changer blocked by trip", "group": "Alarms", "area": "discrete", "address": 20039, "type": "bool", "enum": "active"}, {"name": "Tap changer blocked by power flow reversal", "group": "Alarms", "area": "discrete", "address": 20040, "type": "bool", "enum": "active"}, {"name": "Daily switching average quality", "group": "Maintenance", "area": "discrete", "address": 21300, "type": "bool", "enum": "quality"}, {"name": "Days to maintenance by operations quality", "group": "Maintenance", "area": "discrete", "address": 21301, "type": "bool", "enum": "quality"}, {"name": "Daily average of squared current quality", "group": "Maintenance", "area": "discrete", "address": 21302, "type": "bool", "enum": "quality"}, {"name": "Days to maintenance by squared current quality", "group": "Maintenance", "area": "discrete", "address": 21303, "type": "bool", "enum": "quality"}, {"name": "Maintenance notice by operations", "group": "Maintenance", "area": "discrete", "address": 21304, "type": "bool", "enum": "active"}, {"name": "Days-to-maintenance notice by operations", "group": "Maintenance", "area": "discrete", "address": 21305, "type": "bool", "enum": "active"}, {"name": "Maintenance notice by squared current", "group": "Maintenance", "area": "discrete", "address": 21306, "type": "bool", "enum": "active"}, {"name": "Days-to-maintenance notice by squared current", "group": "Maintenance", "area": "discrete", "address": 21307, "type": "bool", "enum": "active"}, {"name": "Maintenance alarm by operations", "group": "Maintenance", "area": "discrete", "address": 21308, "type": "bool", "enum": "active"}, {"name": "Maintenance alarm by operations memory", "group": "Maintenance", "area": "discrete", "address": 21309, "type": "bool", "enum": "active"}, {"name": "Maintenance alarm by squared current", "group": "Maintenance", "area": "discrete", "address": 21310, "type": "bool", "enum": "active"}, {"name": "Maintenance alarm by squared current memory", "group": "Maintenance", "area": "discrete", "address": 21311, "type": "bool", "enum": "active"}, {"name": "Days-to-maintenance alarm", "group": "Maintenance", "area": "discrete", "address": 21312, "type": "bool", "enum": "active"}, {"name": "Days-to-maintenance alarm memory", "group": "Maintenance", "area": "discrete", "address": 21313, "type": "bool", "enum": "active"}, {"name": "Option TAPP enabled", "group": "Identity", "area": "discrete", "address": 45000, "type": "bool"}, {"name": "Option DIGI enabled", "group": "Identity", "area": "discrete", "address": 45001, "type": "bool"}, {"name": "Option OLMT enabled", "group": "Identity", "area": "discrete", "address": 45002, "type": "bool"}, {"name": "Option OLCK enabled", "group": "Identity", "area": "discrete", "address": 45003, "type": "bool"} ] }