Сеансы определения

Сводка · Управление · Профили · Неизвестные · Сеансы

[
  {
    "session_id": "mb-26c2b3037f9a593f",
    "request_id": "scan-7f9a593f26c2b303",
    "base": "41af8c",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-7f9a593f26c2b303",
            "session_id": "mb-26c2b3037f9a593f",
            "action": "accepted",
            "tm": "2026-08-13T08:29:55.309215Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "41af8c"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "41af8c",
            "event": "test_result",
            "request_id": "scan-7f9a593f26c2b303",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  1,
                  1,
                  1,
                  1,
                  1,
                  1,
                  1
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "ff",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-26c2b3037f9a593f",
            "tm": "1786609791"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "41af8c",
            "event": "step_complete",
            "request_id": "scan-7f9a593f26c2b303",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-26c2b3037f9a593f",
            "tm": "1786609791"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786609787",
    "updated_at": "1786609791"
  },
  {
    "session_id": "mb-b946a117f46d8ce3",
    "request_id": "scan-f46d8ce3b946a117",
    "base": "41af8c",
    "slave_id": 1,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "medium",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-f46d8ce3b946a117",
            "session_id": "mb-b946a117f46d8ce3",
            "action": "accepted",
            "tm": "2026-08-13T08:29:52.954681Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "41af8c"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "41af8c",
            "event": "test_result",
            "request_id": "scan-f46d8ce3b946a117",
            "results": [
              {
                "address": 0,
                "byte_count": 4,
                "function": 4,
                "quantity": 2,
                "raw_hex": "00e70185",
                "registers": [
                  231,
                  389
                ],
                "success": true,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "0000",
                "registers": [
                  0
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  1,
                  1,
                  1,
                  1,
                  1,
                  1,
                  1
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "ff",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "0000",
                "registers": [
                  0
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "byte_count": 40,
                "function": 4,
                "quantity": 20,
                "raw_hex": "00000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-b946a117f46d8ce3",
            "tm": "1786609787"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "41af8c",
            "event": "step_complete",
            "request_id": "scan-f46d8ce3b946a117",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-b946a117f46d8ce3",
            "tm": "1786609787"
          }
        }
      ],
      "profile_id": "temperature_humidity_int16_div10",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "temperature_humidity_int16_div10",
        "profile_version": "1.0.0",
        "description": {
          "device_type": "temperature_humidity_sensor",
          "compatible_with": "SHT20",
          "identification_status": "requires_device_identification",
          "note": "Без подтверждённого FC 0x2B/0x0E или FC 0x11 это совместимый преобразователь, а не подтверждённая модель SHT20."
        },
        "line_parameters": {
          "mode": "rtu",
          "baudrate": 9600,
          "parity": "N",
          "timeout_ms": 200
        },
        "sensor_templates": [
          {
            "id": "temperature_c",
            "name": "Температура",
            "mode": "read",
            "function": 4,
            "address": 0,
            "quantity": 1,
            "value_type": "int16",
            "divisor": 10,
            "unit": "°C"
          },
          {
            "id": "humidity_percent",
            "name": "Влажность",
            "mode": "read",
            "function": 4,
            "address": 1,
            "quantity": 1,
            "value_type": "int16",
            "divisor": 10,
            "unit": "%"
          }
        ],
        "polling_intervals": {
          "default_seconds": 10
        }
      }
    },
    "created_at": "1786609785",
    "updated_at": "1786609787"
  },
  {
    "session_id": "mb-e27d0064cd126be1",
    "request_id": "scan-cd126be1e27d0064",
    "base": "1a2270",
    "slave_id": 20,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "medium",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-cd126be1e27d0064",
            "session_id": "mb-e27d0064cd126be1",
            "action": "accepted",
            "tm": "2026-08-12T10:11:44.653245Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-cd126be1e27d0064",
            "results": [
              {
                "address": 0,
                "byte_count": 4,
                "function": 4,
                "quantity": 2,
                "raw_hex": "011f024b",
                "registers": [
                  287,
                  587
                ],
                "success": true,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "exception_code": 3,
                "function": 3,
                "quantity": 1,
                "success": false,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "exception_code": 3,
                "function": 2,
                "quantity": 8,
                "success": false,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "exception_code": 3,
                "function": 3,
                "quantity": 1,
                "success": false,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "exception_code": 3,
                "function": 3,
                "quantity": 8,
                "success": false,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 3,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-e27d0064cd126be1",
            "tm": "1786529493"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-cd126be1e27d0064",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-e27d0064cd126be1",
            "tm": "1786529493"
          }
        }
      ],
      "profile_id": "temperature_humidity_int16_div10",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "temperature_humidity_int16_div10",
        "profile_version": "1.0.0",
        "description": {
          "device_type": "temperature_humidity_sensor",
          "compatible_with": "SHT20",
          "identification_status": "requires_device_identification",
          "note": "Без подтверждённого FC 0x2B/0x0E или FC 0x11 это совместимый преобразователь, а не подтверждённая модель SHT20."
        },
        "line_parameters": {
          "mode": "rtu",
          "baudrate": 9600,
          "parity": "N",
          "timeout_ms": 200
        },
        "sensor_templates": [
          {
            "id": "temperature_c",
            "name": "Температура",
            "mode": "read",
            "function": 4,
            "address": 0,
            "quantity": 1,
            "value_type": "int16",
            "divisor": 10,
            "unit": "°C"
          },
          {
            "id": "humidity_percent",
            "name": "Влажность",
            "mode": "read",
            "function": 4,
            "address": 1,
            "quantity": 1,
            "value_type": "int16",
            "divisor": 10,
            "unit": "%"
          }
        ],
        "polling_intervals": {
          "default_seconds": 10
        }
      }
    },
    "created_at": "1786529487",
    "updated_at": "1786529495"
  },
  {
    "session_id": "mb-e227ea7737ea6963",
    "request_id": "scan-37ea6963e227ea77",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-37ea6963e227ea77",
            "session_id": "mb-e227ea7737ea6963",
            "action": "accepted",
            "tm": "2026-08-12T10:11:40.292397Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-37ea6963e227ea77",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-e227ea7737ea6963",
            "tm": "1786529486"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-37ea6963e227ea77",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-e227ea7737ea6963",
            "tm": "1786529486"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786529474",
    "updated_at": "1786529487"
  },
  {
    "session_id": "mb-1d7921474b01a3a7",
    "request_id": "scan-4b01a3a71d792147",
    "base": "41af8c",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-4b01a3a71d792147",
            "session_id": "mb-1d7921474b01a3a7",
            "action": "accepted",
            "tm": "2026-08-12T08:26:57.266571Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "41af8c"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "41af8c",
            "event": "test_result",
            "request_id": "scan-4b01a3a71d792147",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  0,
                  0,
                  0,
                  1,
                  1,
                  1,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "38",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-1d7921474b01a3a7",
            "tm": "1786523216"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "41af8c",
            "event": "step_complete",
            "request_id": "scan-4b01a3a71d792147",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-1d7921474b01a3a7",
            "tm": "1786523216"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786523189",
    "updated_at": "1786523230"
  },
  {
    "session_id": "mb-4bc58176d61ceb5e",
    "request_id": "scan-d61ceb5e4bc58176",
    "base": "41af8c",
    "slave_id": 1,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "medium",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-d61ceb5e4bc58176",
            "session_id": "mb-4bc58176d61ceb5e",
            "action": "accepted",
            "tm": "2026-08-12T08:26:03.600575Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "41af8c"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "41af8c",
            "event": "test_result",
            "request_id": "scan-d61ceb5e4bc58176",
            "results": [
              {
                "address": 0,
                "byte_count": 4,
                "function": 4,
                "quantity": 2,
                "raw_hex": "00f001b0",
                "registers": [
                  240,
                  432
                ],
                "success": true,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "0000",
                "registers": [
                  0
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  1,
                  1,
                  1,
                  1,
                  1,
                  1,
                  1
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "ff",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "0000",
                "registers": [
                  0
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "byte_count": 40,
                "function": 4,
                "quantity": 20,
                "raw_hex": "00000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-4bc58176d61ceb5e",
            "tm": "1786523159"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "41af8c",
            "event": "step_complete",
            "request_id": "scan-d61ceb5e4bc58176",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-4bc58176d61ceb5e",
            "tm": "1786523159"
          }
        }
      ],
      "profile_id": "temperature_humidity_int16_div10",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "temperature_humidity_int16_div10",
        "profile_version": "1.0.0",
        "description": {
          "device_type": "temperature_humidity_sensor",
          "compatible_with": "SHT20",
          "identification_status": "requires_device_identification",
          "note": "Без подтверждённого FC 0x2B/0x0E или FC 0x11 это совместимый преобразователь, а не подтверждённая модель SHT20."
        },
        "line_parameters": {
          "mode": "rtu",
          "baudrate": 9600,
          "parity": "N",
          "timeout_ms": 200
        },
        "sensor_templates": [
          {
            "id": "temperature_c",
            "name": "Температура",
            "mode": "read",
            "function": 4,
            "address": 0,
            "quantity": 1,
            "value_type": "int16",
            "divisor": 10,
            "unit": "°C"
          },
          {
            "id": "humidity_percent",
            "name": "Влажность",
            "mode": "read",
            "function": 4,
            "address": 1,
            "quantity": 1,
            "value_type": "int16",
            "divisor": 10,
            "unit": "%"
          }
        ],
        "polling_intervals": {
          "default_seconds": 10
        }
      }
    },
    "created_at": "1786523130",
    "updated_at": "1786523189"
  },
  {
    "session_id": "mb-8250eee306161dd6",
    "request_id": "scan-06161dd68250eee3",
    "base": "41af8c",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-06161dd68250eee3",
            "session_id": "mb-8250eee306161dd6",
            "action": "accepted",
            "tm": "2026-08-12T07:35:03.710515Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "41af8c"
          }
        },
        {
          "kind": "command",
          "action": "start",
          "commands": [
            {
              "test_id": "device-identification-basic",
              "function": 43,
              "mei_type": 14,
              "read_device_id_code": 1
            },
            {
              "test_id": "report-server-id",
              "function": 17
            }
          ]
        },
        {
          "kind": "response",
          "event": "probe",
          "payload": {
            "action": "probe",
            "attempts": [
              {
                "function": 43,
                "mei_type": 14,
                "success": false,
                "test_id": "device-identification-basic"
              },
              {
                "function": 17,
                "success": false,
                "test_id": "report-server-id"
              }
            ],
            "controller_id": "41af8c",
            "event": "probe",
            "identity": {
              "device_identification": {
                "conformity_level": 0,
                "more_follows": false,
                "next_object_id": 0,
                "objects": [],
                "read_device_id_code": 0,
                "supported": false
              },
              "error": "exception_1",
              "server_id": {
                "supported": false
              }
            },
            "request_id": "scan-06161dd68250eee3",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-8250eee306161dd6",
            "tm": "1786520102"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "41af8c",
            "event": "test_result",
            "request_id": "scan-06161dd68250eee3",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "00",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-8250eee306161dd6",
            "tm": "1786520132"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "41af8c",
            "event": "step_complete",
            "request_id": "scan-06161dd68250eee3",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-8250eee306161dd6",
            "tm": "1786520132"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786520069",
    "updated_at": "1786520132"
  },
  {
    "session_id": "mb-2bbdf8cb7e58119b",
    "request_id": "scan-7e58119b2bbdf8cb",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-7e58119b2bbdf8cb",
            "session_id": "mb-2bbdf8cb7e58119b",
            "action": "accepted",
            "tm": "2026-08-10T21:24:10.032704Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-7e58119b2bbdf8cb",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-2bbdf8cb7e58119b",
            "tm": "1786397036"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-7e58119b2bbdf8cb",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-2bbdf8cb7e58119b",
            "tm": "1786397036"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786397007",
    "updated_at": "1786397043"
  },
  {
    "session_id": "mb-47bb76a29982c8d3",
    "request_id": "scan-9982c8d347bb76a2",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-9982c8d347bb76a2",
            "session_id": "mb-47bb76a29982c8d3",
            "action": "accepted",
            "tm": "2026-08-10T21:21:45.394444Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-9982c8d347bb76a2",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-47bb76a29982c8d3",
            "tm": "1786396892"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-9982c8d347bb76a2",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-47bb76a29982c8d3",
            "tm": "1786396892"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786396882",
    "updated_at": "1786396915"
  },
  {
    "session_id": "mb-5e30f524da7bc714",
    "request_id": "scan-da7bc7145e30f524",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-da7bc7145e30f524",
            "session_id": "mb-5e30f524da7bc714",
            "action": "accepted",
            "tm": "2026-08-10T21:16:27.101375Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-da7bc7145e30f524",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-5e30f524da7bc714",
            "tm": "1786396574"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-da7bc7145e30f524",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-5e30f524da7bc714",
            "tm": "1786396574"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786396570",
    "updated_at": "1786396575"
  },
  {
    "session_id": "mb-fa6d6b96bdf4d7bb",
    "request_id": "scan-bdf4d7bbfa6d6b96",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-bdf4d7bbfa6d6b96",
            "session_id": "mb-fa6d6b96bdf4d7bb",
            "action": "accepted",
            "tm": "2026-08-10T21:07:48.598038Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-bdf4d7bbfa6d6b96",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-fa6d6b96bdf4d7bb",
            "tm": "1786396055"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-bdf4d7bbfa6d6b96",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-fa6d6b96bdf4d7bb",
            "tm": "1786396055"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786396045",
    "updated_at": "1786396080"
  },
  {
    "session_id": "mb-39c2c0ec4ac5efa3",
    "request_id": "scan-4ac5efa339c2c0ec",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "scan_standard_identification_unavailable",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "scan_standard_identification_unavailable",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-4ac5efa339c2c0ec",
            "session_id": "mb-39c2c0ec4ac5efa3",
            "action": "accepted",
            "tm": "2026-08-10T20:56:50.723844Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-4ac5efa339c2c0ec",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-39c2c0ec4ac5efa3",
            "tm": "1786395398"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-4ac5efa339c2c0ec",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-39c2c0ec4ac5efa3",
            "tm": "1786395398"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786395374",
    "updated_at": "1786395402"
  },
  {
    "session_id": "mb-6f1b3100929153f4",
    "request_id": "scan-929153f46f1b3100",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-929153f46f1b3100",
            "session_id": "mb-6f1b3100929153f4",
            "action": "accepted",
            "tm": "2026-08-10T20:44:11.476582Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "start",
          "commands": [
            {
              "test_id": "device-identification-basic",
              "function": 43,
              "mei_type": 14,
              "read_device_id_code": 1
            },
            {
              "test_id": "report-server-id",
              "function": 17
            }
          ]
        },
        {
          "kind": "response",
          "event": "probe",
          "payload": {
            "action": "probe",
            "attempts": [
              {
                "function": 43,
                "mei_type": 14,
                "success": false,
                "test_id": "device-identification-basic"
              },
              {
                "function": 17,
                "success": false,
                "test_id": "report-server-id"
              }
            ],
            "controller_id": "1a2270",
            "event": "probe",
            "identity": {
              "device_identification": {
                "conformity_level": 0,
                "more_follows": false,
                "next_object_id": 0,
                "objects": [],
                "read_device_id_code": 0,
                "supported": false
              },
              "error": "exception_1",
              "server_id": {
                "supported": false
              }
            },
            "request_id": "scan-929153f46f1b3100",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-6f1b3100929153f4",
            "tm": "1786394638"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-929153f46f1b3100",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-6f1b3100929153f4",
            "tm": "1786394644"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-929153f46f1b3100",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-6f1b3100929153f4",
            "tm": "1786394644"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786394614",
    "updated_at": "1786394671"
  },
  {
    "session_id": "mb-ef97d235f40f07d4",
    "request_id": "scan-f40f07d4ef97d235",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "manual_web_start",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "manual_web_start",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-f40f07d4ef97d235",
            "session_id": "mb-ef97d235f40f07d4",
            "action": "accepted",
            "tm": "2026-08-10T20:36:12.148135Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-f40f07d4ef97d235",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-ef97d235f40f07d4",
            "tm": "1786394159"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-f40f07d4ef97d235",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-ef97d235f40f07d4",
            "tm": "1786394159"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786394128",
    "updated_at": "1786394166"
  },
  {
    "session_id": "mb-0780c032e2427cbe",
    "request_id": "scan-e2427cbe0780c032",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "manual_web_start",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "manual_web_start",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-e2427cbe0780c032",
            "session_id": "mb-0780c032e2427cbe",
            "action": "accepted",
            "tm": "2026-08-10T20:29:03.123623Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-e2427cbe0780c032",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-0780c032e2427cbe",
            "tm": "1786393730"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-e2427cbe0780c032",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-0780c032e2427cbe",
            "tm": "1786393730"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786393712",
    "updated_at": "1786393731"
  },
  {
    "session_id": "mb-9603aca7a01d1792",
    "request_id": "scan-a01d17929603aca7",
    "base": "1a2270",
    "slave_id": 11,
    "state": "failed",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "action": "error",
      "code": "cancelled",
      "controller_id": "1a2270",
      "event": "error",
      "request_id": "scan-a01d17929603aca7",
      "schema": "misx5.device_discovery.v1",
      "session_id": "mb-9603aca7a01d1792",
      "tm": "1786393649"
    },
    "created_at": "1786393627",
    "updated_at": "1786393649"
  },
  {
    "session_id": "mb-f0b887e0528e2311",
    "request_id": "scan-528e2311f0b887e0",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786393504",
    "updated_at": "1786393508"
  },
  {
    "session_id": "mb-36aef6338210c841",
    "request_id": "scan-8210c84136aef633",
    "base": "1a2270",
    "slave_id": 11,
    "state": "failed",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "action": "error",
      "code": "cancelled",
      "controller_id": "1a2270",
      "event": "error",
      "request_id": "scan-8210c84136aef633",
      "schema": "misx5.device_discovery.v1",
      "session_id": "mb-36aef6338210c841",
      "tm": "1786393402"
    },
    "created_at": "1786393377",
    "updated_at": "1786393402"
  },
  {
    "session_id": "mb-2596a74baa83ac57",
    "request_id": "scan-aa83ac572596a74b",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786393072",
    "updated_at": "1786393075"
  },
  {
    "session_id": "mb-790f1058c683f435",
    "request_id": "scan-c683f435790f1058",
    "base": "1a2270",
    "slave_id": 11,
    "state": "failed",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "action": "error",
      "code": "cancelled",
      "controller_id": "1a2270",
      "event": "error",
      "request_id": "scan-c683f435790f1058",
      "schema": "misx5.device_discovery.v1",
      "session_id": "mb-790f1058c683f435",
      "tm": "1786392861"
    },
    "created_at": "1786392843",
    "updated_at": "1786392861"
  },
  {
    "session_id": "mb-4ba44ec45c93bb86",
    "request_id": "scan-5c93bb864ba44ec4",
    "base": "1a2270",
    "slave_id": 11,
    "state": "timed_out",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786392242",
    "updated_at": "2026-08-10T20:05:02.565801Z"
  },
  {
    "session_id": "mb-fd69d2a474952d19",
    "request_id": "scan-74952d19fd69d2a4",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "manual_web_start",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "manual_web_start",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-74952d19fd69d2a4",
            "session_id": "mb-fd69d2a474952d19",
            "action": "accepted",
            "tm": "2026-08-10T20:03:27.874052Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-74952d19fd69d2a4",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-fd69d2a474952d19",
            "tm": "1786392194"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-74952d19fd69d2a4",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-fd69d2a474952d19",
            "tm": "1786392194"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786392175",
    "updated_at": "1786392197"
  },
  {
    "session_id": "mb-756f0aa1b54f318c",
    "request_id": "scan-b54f318c756f0aa1",
    "base": "1a2270",
    "slave_id": 11,
    "state": "timed_out",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786391984",
    "updated_at": "2026-08-10T20:00:44.195128Z"
  },
  {
    "session_id": "mb-f7849c4d5b349956",
    "request_id": "scan-5b349956f7849c4d",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "device_identification=exception_1;server_id=exception_1",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "device_identification=exception_1;server_id=exception_1",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-5b349956f7849c4d",
            "session_id": "mb-f7849c4d5b349956",
            "action": "accepted",
            "tm": "2026-08-10T19:08:23.611078Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-5b349956f7849c4d",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-f7849c4d5b349956",
            "tm": "1786388890"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-5b349956f7849c4d",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-f7849c4d5b349956",
            "tm": "1786388890"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786388879",
    "updated_at": "1786388891"
  },
  {
    "session_id": "mb-eeeff89b1a3bba62",
    "request_id": "scan-1a3bba62eeeff89b",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "outcome": "known",
      "reason": "выполнены все условия единственного профиля",
      "confidence": "high",
      "execution_trace": [
        {
          "kind": "initial_probe",
          "payload": {
            "attempts": [
              {
                "error": "device_identification=exception_1;server_id=exception_1",
                "function": 43,
                "mei_type": 14,
                "test_id": "device-identification-basic"
              },
              {
                "error": "device_identification=exception_1;server_id=exception_1",
                "function": 17,
                "test_id": "report-server-id"
              }
            ],
            "identity": {}
          }
        },
        {
          "kind": "accepted",
          "payload": {
            "schema": "misx5.device_discovery.v1",
            "request_id": "scan-1a3bba62eeeff89b",
            "session_id": "mb-eeeff89b1a3bba62",
            "action": "accepted",
            "tm": "2026-08-10T18:50:19.423975Z",
            "emitter": "mqtt-modbus-detect",
            "event": "accepted",
            "controller_id": "1a2270"
          }
        },
        {
          "kind": "command",
          "action": "test",
          "commands": [
            {
              "test_id": "temperature-humidity-int16-div10",
              "function": 4,
              "address": 0,
              "quantity": 2
            },
            {
              "test_id": "waveshare-device-address",
              "function": 3,
              "address": 16384,
              "quantity": 1
            },
            {
              "test_id": "waveshare-di-8",
              "function": 2,
              "address": 0,
              "quantity": 8
            },
            {
              "test_id": "waveshare-firmware-version",
              "function": 3,
              "address": 32768,
              "quantity": 1
            },
            {
              "test_id": "waveshare-output-modes",
              "function": 3,
              "address": 4096,
              "quantity": 8
            },
            {
              "test_id": "wirenboard-model",
              "function": 4,
              "address": 200,
              "quantity": 20
            }
          ]
        },
        {
          "kind": "response",
          "event": "test_result",
          "payload": {
            "action": "test_result",
            "controller_id": "1a2270",
            "event": "test_result",
            "request_id": "scan-1a3bba62eeeff89b",
            "results": [
              {
                "address": 0,
                "exception_code": 1,
                "function": 4,
                "quantity": 2,
                "success": false,
                "test_id": "temperature-humidity-int16-div10"
              },
              {
                "address": 16384,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "000b",
                "registers": [
                  11
                ],
                "success": true,
                "test_id": "waveshare-device-address"
              },
              {
                "address": 0,
                "bits": [
                  1,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "byte_count": 1,
                "function": 2,
                "quantity": 8,
                "raw_hex": "01",
                "success": true,
                "test_id": "waveshare-di-8"
              },
              {
                "address": 32768,
                "byte_count": 2,
                "function": 3,
                "quantity": 1,
                "raw_hex": "00c8",
                "registers": [
                  200
                ],
                "success": true,
                "test_id": "waveshare-firmware-version"
              },
              {
                "address": 4096,
                "byte_count": 16,
                "function": 3,
                "quantity": 8,
                "raw_hex": "00000000000000000000000000000000",
                "registers": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "success": true,
                "test_id": "waveshare-output-modes"
              },
              {
                "address": 200,
                "exception_code": 1,
                "function": 4,
                "quantity": 20,
                "success": false,
                "test_id": "wirenboard-model"
              }
            ],
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-eeeff89b1a3bba62",
            "tm": "1786387806"
          }
        },
        {
          "kind": "response",
          "event": "step_complete",
          "payload": {
            "action": "step_complete",
            "controller_id": "1a2270",
            "event": "step_complete",
            "request_id": "scan-1a3bba62eeeff89b",
            "schema": "misx5.device_discovery.v1",
            "session_id": "mb-eeeff89b1a3bba62",
            "tm": "1786387806"
          }
        }
      ],
      "profile_id": "waveshare_modbus_rtu_io_8ch",
      "profile_version": "1.0.0",
      "proposed_config": {
        "profile_id": "waveshare_modbus_rtu_io_8ch",
        "profile_version": "1.0.0",
        "description": {
          "manufacturer": "Waveshare",
          "model": "Modbus RTU IO 8CH",
          "documentation_url": "https://www.waveshare.com/wiki/Modbus_RTU_IO_8CH",
          "device_type": "industrial_isolated_io",
          "inputs": 8,
          "outputs": 8
        },
        "line_parameters": {
          "mode": "rtu"
        },
        "sensor_templates": [
          {
            "id": "di1",
            "name": "DI1",
            "mode": "read",
            "function": 2,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di2",
            "name": "DI2",
            "mode": "read",
            "function": 2,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di3",
            "name": "DI3",
            "mode": "read",
            "function": 2,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di4",
            "name": "DI4",
            "mode": "read",
            "function": 2,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di5",
            "name": "DI5",
            "mode": "read",
            "function": 2,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di6",
            "name": "DI6",
            "mode": "read",
            "function": 2,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di7",
            "name": "DI7",
            "mode": "read",
            "function": 2,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "di8",
            "name": "DI8",
            "mode": "read",
            "function": 2,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do1_state",
            "name": "DO1",
            "mode": "read",
            "function": 1,
            "address": 0,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do2_state",
            "name": "DO2",
            "mode": "read",
            "function": 1,
            "address": 1,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do3_state",
            "name": "DO3",
            "mode": "read",
            "function": 1,
            "address": 2,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do4_state",
            "name": "DO4",
            "mode": "read",
            "function": 1,
            "address": 3,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do5_state",
            "name": "DO5",
            "mode": "read",
            "function": 1,
            "address": 4,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do6_state",
            "name": "DO6",
            "mode": "read",
            "function": 1,
            "address": 5,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do7_state",
            "name": "DO7",
            "mode": "read",
            "function": 1,
            "address": 6,
            "quantity": 1,
            "map": "direct"
          },
          {
            "id": "do8_state",
            "name": "DO8",
            "mode": "read",
            "function": 1,
            "address": 7,
            "quantity": 1,
            "map": "direct"
          }
        ],
        "polling_intervals": {
          "default_seconds": 5
        }
      }
    },
    "created_at": "1786387785",
    "updated_at": "1786387810"
  },
  {
    "session_id": "mb-99b37028313c5ccc",
    "request_id": "scan-313c5ccc99b37028",
    "base": "1a2270",
    "slave_id": 11,
    "state": "finished",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786387756",
    "updated_at": "1786387785"
  },
  {
    "session_id": "mb-b2a09bf9de9163d0",
    "request_id": "scan-de9163d0b2a09bf9",
    "base": "1a2270",
    "slave_id": 11,
    "state": "timed_out",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786387581",
    "updated_at": "2026-08-10T18:47:09.360881Z"
  },
  {
    "session_id": "mb-1628d11f3f2bf032",
    "request_id": "scan-3f2bf0321628d11f",
    "base": "1a2270",
    "slave_id": 11,
    "state": "timed_out",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786387544",
    "updated_at": "2026-08-10T18:46:46.995929Z"
  },
  {
    "session_id": "mb-cc69a8359c3ae061",
    "request_id": "scan-9c3ae061cc69a835",
    "base": "1a2270",
    "slave_id": 11,
    "state": "timed_out",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786387435",
    "updated_at": "2026-08-10T18:44:21.715759Z"
  },
  {
    "session_id": "mb-0594b5ae542df939",
    "request_id": "scan-542df9390594b5ae",
    "base": "1a2270",
    "slave_id": 11,
    "state": "timed_out",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786387188",
    "updated_at": "2026-08-10T18:40:40.077111Z"
  },
  {
    "session_id": "mb-83b0ba73343bae9f",
    "request_id": "scan-343bae9f83b0ba73",
    "base": "1a2270",
    "slave_id": 11,
    "state": "timed_out",
    "reads_used": 8,
    "steps_used": 1,
    "result": {
      "reason": "service_timeout"
    },
    "created_at": "1786386814",
    "updated_at": "2026-08-10T18:34:09.704057Z"
  }
]