{ "kind": "busloom-device-definition", "schemaVersion": 1, "id": "waveshare.modbus-rtu-analog-input-8ch", "name": "Waveshare Modbus RTU Analog Input 8CH", "description": "Core register map transcribed from the official Modbus RTU Analog Input 8CH protocol documentation.", "tagGroups": [ { "id": "waveshare.modbus.rtu.analog.input.8ch.group.inputs", "name": "Analog inputs", "color": "green" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.group.config", "name": "Input ranges", "color": "blue" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.group.device", "name": "Device information", "color": "neutral" } ], "tags": [ { "id": "waveshare.modbus.rtu.analog.input.8ch.input.000.channel-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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4096.range-1", "name": "Input 1 range", "addressSpace": "holdingRegisters", "address": 4096, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.input.001.channel-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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4097.range-2", "name": "Input 2 range", "addressSpace": "holdingRegisters", "address": 4097, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.input.002.channel-3", "name": "Analog input 3", "addressSpace": "inputRegisters", "address": 2, "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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4098.range-3", "name": "Input 3 range", "addressSpace": "holdingRegisters", "address": 4098, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.input.003.channel-4", "name": "Analog input 4", "addressSpace": "inputRegisters", "address": 3, "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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4099.range-4", "name": "Input 4 range", "addressSpace": "holdingRegisters", "address": 4099, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.input.004.channel-5", "name": "Analog input 5", "addressSpace": "inputRegisters", "address": 4, "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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4100.range-5", "name": "Input 5 range", "addressSpace": "holdingRegisters", "address": 4100, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.input.005.channel-6", "name": "Analog input 6", "addressSpace": "inputRegisters", "address": 5, "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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4101.range-6", "name": "Input 6 range", "addressSpace": "holdingRegisters", "address": 4101, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.input.006.channel-7", "name": "Analog input 7", "addressSpace": "inputRegisters", "address": 6, "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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4102.range-7", "name": "Input 7 range", "addressSpace": "holdingRegisters", "address": 4102, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.input.007.channel-8", "name": "Analog input 8", "addressSpace": "inputRegisters", "address": 7, "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": "Raw input value; engineering unit follows the configured channel range.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.inputs" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.holding.4103.range-8", "name": "Input 8 range", "addressSpace": "holdingRegisters", "address": 4103, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 4, "valueLabels": [ { "value": 0, "label": "Voltage range 0" }, { "value": 1, "label": "Voltage range 1" }, { "value": 2, "label": "0–20 mA" }, { "value": 3, "label": "4–20 mA" }, { "value": 4, "label": "ADC code" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Channel measurement range; voltage limits differ between hardware variants.", "groupId": "waveshare.modbus.rtu.analog.input.8ch.group.config" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.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.analog.input.8ch.group.device" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.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.analog.input.8ch.group.device" }, { "id": "waveshare.modbus.rtu.analog.input.8ch.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.analog.input.8ch.group.device" } ], "views": [ { "id": "waveshare.modbus.rtu.analog.input.8ch.view.inputs", "name": "Analog inputs", "type": "inputRegisters", "addressMode": "range", "startAddress": 0, "quantity": 8, "addresses": [], "pollIntervalMs": 500 }, { "id": "waveshare.modbus.rtu.analog.input.8ch.view.ranges", "name": "Input ranges", "type": "holdingRegisters", "addressMode": "range", "startAddress": 4096, "quantity": 8, "addresses": [], "pollIntervalMs": 1000 }, { "id": "waveshare.modbus.rtu.analog.input.8ch.view.device", "name": "Device information", "type": "holdingRegisters", "addressMode": "custom", "startAddress": 8192, "quantity": 1, "addresses": [ 8192, 16384, 32768 ], "pollIntervalMs": 5000 } ] }