diff --git a/README.md b/README.md index b1994a9..6dfa5fe 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,9 @@ # Gidrolock Modbus Scanner -RU | [EN](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", - - // Заводской Modbus ID устройства, в десятичной системе - // Поле без функционала, парсится в строку и выводится в окне конфигурации - "modbusID" : 30 - - // список данных, получаемых с устройства - // каждая запись является отдельным полем данных - // и поддерживает опрос нескольких регистров, - // а также парсинг в стандартные типы данных (UTF-8, int и т.д.) - "entries" : [ - { - // имя записи - "name": "Modbus ID", - - // тип опрашиваемых регистров: - // "coil", "discrete", "input", "holding" - "registerType": "holding", - - // адрес стартового регистра - // отсчет с 0 - "address": 128, - - // количество опрашиваемых регистров - // значение по-умолчанию: 1 - "length": 1, - - // тип данных для парсинга - // поддерживаемые типы: bool, uint16, uint32, string - // значение по умолчанию: uint16 - "dataType": "uint16", - - // опрашивать ли эти регистры повторно - // при `false` опрашивается только в первый раз - "readOnce": true - } - ], - - // Уникальное для устройства значение: модель устройства, версия прошивки, etc. - "checkEntry": { - "registerType": "input", - "address": 200, - "length": 6, - "dataType": "string", - - // ожидаемое значение при опросе этих регистров - "expectedValue": "STW485" - } -} -``` - - -### To-Do -- Добавить возможность записи в списке автоопрашиваемых записей. - -- Выделить отображение значений в отдельный метод для упрощения -- Поддержка Modbus TCP +Приложение для быстрого и удобного подключения и настройки умных систем защиты от протечек [Gidrolock](https://gidrolock.ru) через протокол Modbus. +Поддерживаемые устройства: +- Standard Wi-Fi RS485 +- Premium +- Premium Plus +- Inteli \ No newline at end of file diff --git a/README_en.md b/README_en.md deleted file mode 100644 index bde2bd9..0000000 --- a/README_en.md +++ /dev/null @@ -1,76 +0,0 @@ -# Gidrolock Modbus Scanner - -[RU](https://github.com/nikzori/modbus-scanner) | EN - -A Modbus scanner with both simple functionality and advanced features. Works for any device connected via Modbus RTU. -Comes with config files for Gidrolock devices. -Modbus TCP is still WIP. - -## Configs and auto-identification - -Configs are `.json` files describing basic device info and data that can be polled from it. -The `checkEntry` object in the config allows to go through every config file in a folder to detect the appropriate config. - -## Regular polling - -This app can regularly and selectively poll entries from the config file. (Works, but still WIP) - -Config fields and possible values: - -```js -{ - // Template/device name - "name" : "Gidrolock Standard Wi-Fi RS-485", - - // Device description - "description" : "Smart valve controller unit with wired and wireless leak sensor support", - - // the list of entries that can be polled from the device - // each entry is a separate field that supports polling multiple registers and parsing data into UTF-8, int, etc. - "entries" : [ - { - // entry name - "name": "Modbus ID", - - // register type: - // "coil", "discrete", "input", "holding" - "registerType": "holding", - - // starting register address - // begins with 0 - "address": 128, - - // number of polled registers - // default value: 1 - "length": 1, - - // data type for parsing - // supported data types: bool, uint16, uint32, string - // default value: uint16 - "dataType": "uint16", - - // whether the entry should be polled again - // if `false`, the entry will be polled only once - "readOnce": true - } - ], - - // unique value for a device: model ID, firmware version - "checkEntry": { - "registerType": "input", - "address": 200, - "length": 6, - "dataType": "string", - - // value after parsing - "expectedValue": "STW485" - } -} -``` - - -### To-Do -1. Cycle through configs in a folder to select a fitting one -2. Configurable regular polling -3. Modbus TPC support -