# Gidrolock Modbus Scanner RU | [EN](https://github.com/nikzori/modbus-scanner/blob/main/README_en.md) Сканнер Modbus с функцией автоопроса устройства с помощью файлов конфигурации. Подходит для любых устройств, подключенных через Modbus RTU. Конфиги для продукции Gidrolock в комплекте. Позволяет формировать простые сообщения для отправки на устройство. Modbus TCP пока в разработке. ## Конфигурации и автоопрос Конфигурация — это `.json` файл с описанием команд чтения для конкретных моделей устройств. Запись `checkEntry` в конфигурации позволяет перебирать файлы в папке для определения подходящей конфигурации. Поля и возможные значения: ```js { // имя шаблона/устройства "name" : "Gidrolock Standard Wi-Fi RS-485", // Описание устройства "description" : "Smart valve controller unit with wired and wireless leak sensor support", // список данных, получаемых с устройства // каждая запись является отдельным полем данных // и поддерживает опрос нескольких регистров, // а также парсинг в стандартные типы данных (UTF-8, int и т.д.) "entries" : [ { // имя записи "name": "Modbus ID", // тип опрашиваемых регистров: // "coil", "discrete", "input", "holding" "registerType": "holding", // адрес стартового регистра // отсчет с 0 "address": 128, // количество опрашиваемых регистров // значение по-умолчанию: 1 "length": 1, // тип данных для парсинга // поддерживаемые типы: bool, uint16, uint32, utf8 // значение по умолчанию: uint16 "dataType": "uint16", // опрашивать ли эти регистры повторно // при `false` опрашивается только в первый раз "readOnce": true } ], // Уникальное для устройства значение: модель устройства, версия прошивки, etc. "checkEntry": { "registerType": "input", "address": 200, "length": 6, "dataType": "string", // ожидаемое значение при опросе этих регистров "expectedValue": "SWT485" } } ``` ### To-Do 1. Закончить парсинг во время автоперебора конфигураций для значений типа `bool` 2. Настраиваемый цикличный опрос регистров 3. Поддержка Modbus TCP