{ "kind": "busloom-device-definition", "schemaVersion": 1, "id": "waveshare.modbus-rtu-module-a", "name": "Waveshare Modbus RTU Module A", "description": "Official mixed digital and analog I/O register map.", "tagGroups": [ { "id": "waveshare.modbus.rtu.module.a.group.digital", "name": "Digital I/O", "color": "blue" }, { "id": "waveshare.modbus.rtu.module.a.group.analog", "name": "Analog I/O", "color": "orange" }, { "id": "waveshare.modbus.rtu.module.a.group.config", "name": "Channel configuration", "color": "green" }, { "id": "waveshare.modbus.rtu.module.a.group.device", "name": "Device information", "color": "neutral" } ], "tags": [ { "id": "waveshare.modbus.rtu.module.a.coil.0.output-1", "name": "Digital output 1", "addressSpace": "coils", "address": 0, "dataType": "boolean", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": null, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Digital output state.", "groupId": "waveshare.modbus.rtu.module.a.group.digital" }, { "id": "waveshare.modbus.rtu.module.a.discrete.0.input-1", "name": "Digital input 1", "addressSpace": "discreteInputs", "address": 0, "dataType": "boolean", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": null, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ACTIVE", "falseLabel": "IDLE", "alarms": [], "unit": "", "description": "Digital input state.", "groupId": "waveshare.modbus.rtu.module.a.group.digital" }, { "id": "waveshare.modbus.rtu.module.a.input.0.analog-input-1", "name": "Analog input 1", "addressSpace": "inputRegisters", "address": 0, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "raw", "description": "Analog input raw value; engineering range follows its configuration register.", "groupId": "waveshare.modbus.rtu.module.a.group.analog" }, { "id": "waveshare.modbus.rtu.module.a.holding.0.analog-output-1", "name": "Analog output 1", "addressSpace": "holdingRegisters", "address": 0, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "µA", "description": "Analog output current in microamperes.", "groupId": "waveshare.modbus.rtu.module.a.group.analog" }, { "id": "waveshare.modbus.rtu.module.a.holding.4096.output-mode-1", "name": "Output 1 control mode", "addressSpace": "holdingRegisters", "address": 4096, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Digital output control mode.", "groupId": "waveshare.modbus.rtu.module.a.group.config" }, { "id": "waveshare.modbus.rtu.module.a.holding.12288.input-range-1", "name": "Analog input 1 range", "addressSpace": "holdingRegisters", "address": 12288, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Analog input range selection.", "groupId": "waveshare.modbus.rtu.module.a.group.config" }, { "id": "waveshare.modbus.rtu.module.a.coil.1.output-2", "name": "Digital output 2", "addressSpace": "coils", "address": 1, "dataType": "boolean", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": null, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Digital output state.", "groupId": "waveshare.modbus.rtu.module.a.group.digital" }, { "id": "waveshare.modbus.rtu.module.a.discrete.1.input-2", "name": "Digital input 2", "addressSpace": "discreteInputs", "address": 1, "dataType": "boolean", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": null, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ACTIVE", "falseLabel": "IDLE", "alarms": [], "unit": "", "description": "Digital input state.", "groupId": "waveshare.modbus.rtu.module.a.group.digital" }, { "id": "waveshare.modbus.rtu.module.a.input.1.analog-input-2", "name": "Analog input 2", "addressSpace": "inputRegisters", "address": 1, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "raw", "description": "Analog input raw value; engineering range follows its configuration register.", "groupId": "waveshare.modbus.rtu.module.a.group.analog" }, { "id": "waveshare.modbus.rtu.module.a.holding.1.analog-output-2", "name": "Analog output 2", "addressSpace": "holdingRegisters", "address": 1, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "µA", "description": "Analog output current in microamperes.", "groupId": "waveshare.modbus.rtu.module.a.group.analog" }, { "id": "waveshare.modbus.rtu.module.a.holding.4097.output-mode-2", "name": "Output 2 control mode", "addressSpace": "holdingRegisters", "address": 4097, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Digital output control mode.", "groupId": "waveshare.modbus.rtu.module.a.group.config" }, { "id": "waveshare.modbus.rtu.module.a.holding.12289.input-range-2", "name": "Analog input 2 range", "addressSpace": "holdingRegisters", "address": 12289, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Analog input range selection.", "groupId": "waveshare.modbus.rtu.module.a.group.config" }, { "id": "waveshare.modbus.rtu.module.a.holding.8192.uart-parameters", "name": "UART parameters", "addressSpace": "holdingRegisters", "address": 8192, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Parity mode in the high byte and baud-rate mode in the low byte.", "groupId": "waveshare.modbus.rtu.module.a.group.device" }, { "id": "waveshare.modbus.rtu.module.a.holding.16384.device-address", "name": "Device address", "addressSpace": "holdingRegisters", "address": 16384, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 1, "maximum": 255, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Configured Modbus device address.", "groupId": "waveshare.modbus.rtu.module.a.group.device" }, { "id": "waveshare.modbus.rtu.module.a.holding.32768.software-version", "name": "Software version", "addressSpace": "holdingRegisters", "address": 32768, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 0.01, "offset": 0, "displayDecimals": 2, "minimum": null, "maximum": null, "valueLabels": [], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Raw integer scaled by 0.01; 100 represents version 1.00.", "groupId": "waveshare.modbus.rtu.module.a.group.device" } ], "views": [ { "id": "waveshare.modbus.rtu.module.a.view.outputs", "name": "Digital outputs", "type": "coils", "addressMode": "range", "startAddress": 0, "quantity": 2, "addresses": [], "pollIntervalMs": 500 }, { "id": "waveshare.modbus.rtu.module.a.view.inputs", "name": "Digital inputs", "type": "discreteInputs", "addressMode": "range", "startAddress": 0, "quantity": 2, "addresses": [], "pollIntervalMs": 500 }, { "id": "waveshare.modbus.rtu.module.a.view.analog-inputs", "name": "Analog inputs", "type": "inputRegisters", "addressMode": "range", "startAddress": 0, "quantity": 2, "addresses": [], "pollIntervalMs": 500 }, { "id": "waveshare.modbus.rtu.module.a.view.analog-outputs", "name": "Analog outputs", "type": "holdingRegisters", "addressMode": "range", "startAddress": 0, "quantity": 2, "addresses": [], "pollIntervalMs": 500 } ] }