{ "kind": "busloom-device-definition", "schemaVersion": 1, "id": "waveshare.modbus-poe-eth-io-8ch", "name": "Waveshare Modbus POE ETH IO 8CH", "description": "Core register map transcribed from the official Modbus POE ETH IO 8CH protocol documentation.", "tagGroups": [ { "id": "waveshare.modbus.poe.eth.io.8ch.group.outputs", "name": "Relay outputs", "color": "orange" }, { "id": "waveshare.modbus.poe.eth.io.8ch.group.inputs", "name": "Digital inputs", "color": "green" }, { "id": "waveshare.modbus.poe.eth.io.8ch.group.modes", "name": "Control modes", "color": "blue" }, { "id": "waveshare.modbus.poe.eth.io.8ch.group.device", "name": "Device information", "color": "neutral" } ], "tags": [ { "id": "waveshare.modbus.poe.eth.io.8ch.coil.000.relay-1", "name": "Relay 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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.coil.001.relay-2", "name": "Relay 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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.coil.002.relay-3", "name": "Relay 3", "addressSpace": "coils", "address": 2, "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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.coil.003.relay-4", "name": "Relay 4", "addressSpace": "coils", "address": 3, "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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.coil.004.relay-5", "name": "Relay 5", "addressSpace": "coils", "address": 4, "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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.coil.005.relay-6", "name": "Relay 6", "addressSpace": "coils", "address": 5, "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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.coil.006.relay-7", "name": "Relay 7", "addressSpace": "coils", "address": 6, "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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.coil.007.relay-8", "name": "Relay 8", "addressSpace": "coils", "address": 7, "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": "Relay state; read with FC01 and control with FC05 or FC15.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.outputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.000.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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.001.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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.002.input-3", "name": "Digital input 3", "addressSpace": "discreteInputs", "address": 2, "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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.003.input-4", "name": "Digital input 4", "addressSpace": "discreteInputs", "address": 3, "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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.004.input-5", "name": "Digital input 5", "addressSpace": "discreteInputs", "address": 4, "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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.005.input-6", "name": "Digital input 6", "addressSpace": "discreteInputs", "address": 5, "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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.006.input-7", "name": "Digital input 7", "addressSpace": "discreteInputs", "address": 6, "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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.discrete.007.input-8", "name": "Digital input 8", "addressSpace": "discreteInputs", "address": 7, "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 status read with FC02.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.inputs" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4096.mode-1", "name": "Relay 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": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 1 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4097.mode-2", "name": "Relay 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": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 2 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4098.mode-3", "name": "Relay 3 control mode", "addressSpace": "holdingRegisters", "address": 4098, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 3 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4099.mode-4", "name": "Relay 4 control mode", "addressSpace": "holdingRegisters", "address": 4099, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 4 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4100.mode-5", "name": "Relay 5 control mode", "addressSpace": "holdingRegisters", "address": 4100, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 5 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4101.mode-6", "name": "Relay 6 control mode", "addressSpace": "holdingRegisters", "address": 4101, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 6 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4102.mode-7", "name": "Relay 7 control mode", "addressSpace": "holdingRegisters", "address": 4102, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 7 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.8ch.holding.4103.mode-8", "name": "Relay 8 control mode", "addressSpace": "holdingRegisters", "address": 4103, "dataType": "uint16", "notation": "decimal", "registerCount": 1, "byteOrder": "bigEndian", "wordOrder": "mostSignificantFirst", "scale": 1, "offset": 0, "displayDecimals": 0, "minimum": 0, "maximum": 3, "valueLabels": [ { "value": 0, "label": "Normal" }, { "value": 1, "label": "Linkage" }, { "value": 2, "label": "Toggle" }, { "value": 3, "label": "Edge trigger" } ], "trueLabel": "ON", "falseLabel": "OFF", "alarms": [], "unit": "", "description": "Relay channel 8 operating mode.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.modes" }, { "id": "waveshare.modbus.poe.eth.io.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": "Fixed Modbus gateway address.", "groupId": "waveshare.modbus.poe.eth.io.8ch.group.device" }, { "id": "waveshare.modbus.poe.eth.io.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.poe.eth.io.8ch.group.device" } ], "views": [ { "id": "waveshare.modbus.poe.eth.io.8ch.view.outputs", "name": "Relay outputs", "type": "coils", "addressMode": "range", "startAddress": 0, "quantity": 8, "addresses": [], "pollIntervalMs": 500 }, { "id": "waveshare.modbus.poe.eth.io.8ch.view.inputs", "name": "Digital inputs", "type": "discreteInputs", "addressMode": "range", "startAddress": 0, "quantity": 8, "addresses": [], "pollIntervalMs": 500 }, { "id": "waveshare.modbus.poe.eth.io.8ch.view.modes", "name": "Control modes", "type": "holdingRegisters", "addressMode": "range", "startAddress": 4096, "quantity": 8, "addresses": [], "pollIntervalMs": 1000 }, { "id": "waveshare.modbus.poe.eth.io.8ch.view.device", "name": "Device information", "type": "holdingRegisters", "addressMode": "custom", "startAddress": 16384, "quantity": 1, "addresses": [ 16384, 32768 ], "pollIntervalMs": 5000 } ] }