Перейти к содержанию

Ensystec-leak-protect-wiren-board-template: различия между версиями

Материал из XIOT Wiki
Добавлен шаблон Ensystec для XIOT и инструкция по пользовательским шаблонам Wiren Board
 
Английские адреса Wiki: обновление ссылок с сохранением русских подписей
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
__NOTOC__
{{DISPLAYTITLE:Шаблон Wiren Board Ensystec Leak Protect для XIOT}}
= Шаблон Wiren Board Ensystec Leak Protect для XIOT =
Это кастомный JSON-шаблон <code>wb-mqtt-serial</code> для подключения <code>Ensystec Leak Protect</code> к XIOT через Wiren Board.


Это рабочий кастомный шаблон <code>wb-mqtt-serial</code> для подключения <code>Ensystec Leak Protect</code> к XIOT через Wiren Board.
== Скачать шаблон ==


Версия зафиксирована 2026-06-09 после проверки на контроллере <code>192.168.88.27</code>.
Скачать файл: [[Медиа:Config-ensystec.xiot-final.json|Config-ensystec.xiot-final.json]]


<pre>
Страница файла: [[:Файл:Config-ensystec.xiot-final.json]]
SHA256: 09622150ba7dc4a4c11062fba031c116cd73cf7c9fd8c34f3ee36f443e2d4568
Локальная копия: /Users/xiot/Projects/xiot_wb/Шаблоны/ensystec/config-ensystec.xiot-final.json
Рекомендуемый путь на Wiren Board: /etc/wb-mqtt-serial.conf.d/templates/config-ensystec.json
</pre>


== Зачем нужен этот шаблон ==
== Зачем нужен этот шаблон ==


Шаблон нужен для стабильной привязки Ensystec к характеристикам XIOT без <code>wb-rules</code>. Он разделяет теги состояния и теги управления для флага протечки, включения защиты и статуса кранов. Низкоуровневые команды Ensystec, которые пишут отдельные биты регистра <code>CONTROL0</code>, скрыты из обычного интерфейса, чтобы их не привязывали напрямую к характеристикам XIOT.
Шаблон нужен для стабильной привязки Ensystec к характеристикам XIOT без <code>wb-rules</code>. Он разделяет адреса состояния и адреса управления для флага протечки, включения защиты и состояния кранов.


Основная статья по подключению: [[Подключение Ensystec в XIOT через Wirenboard]]. Общая инструкция по размещению шаблонов: [[Пользовательские шаблоны устройств Wiren Board]].
В штатном шаблоне Wiren Board часть команд Ensystec представлена как низкоуровневые битовые операции. Для XIOT удобнее и безопаснее использовать отдельные адреса состояния и управления, чтобы команда не отправлялась повторно как состояние.


== JSON шаблона ==
== Установка ==
 
Скачанный файл нужно разместить на контроллере Wiren Board в пользовательской директории шаблонов под именем <code>config-ensystec.json</code>:


<pre>
<pre>
{
/etc/wb-mqtt-serial.conf.d/templates/config-ensystec.json
    &quot;title&quot;: &quot;template_title&quot;,
</pre>
    &quot;device_type&quot;: &quot;Ensystec-Leak-Protect&quot;,
    &quot;group&quot;: &quot;g-leakage&quot;,
    &quot;device&quot;: {
        &quot;name&quot;: &quot;Ensystec Leak Protect&quot;,
        &quot;id&quot;: &quot;ensystec_leak_protect&quot;,
        &quot;groups&quot;: [
            {
                &quot;title&quot;: &quot;Input 1&quot;,
                &quot;id&quot;: &quot;input1&quot;
            },
            {
                &quot;title&quot;: &quot;Input 2&quot;,
                &quot;id&quot;: &quot;input2&quot;
            },
            {
                &quot;title&quot;: &quot;Input 3&quot;,
                &quot;id&quot;: &quot;input3&quot;
            },
            {
                &quot;title&quot;: &quot;Input 4&quot;,
                &quot;id&quot;: &quot;input4&quot;
            },
            {
                &quot;title&quot;: &quot;Input 5&quot;,
                &quot;id&quot;: &quot;input5&quot;
            },
            {
                &quot;title&quot;: &quot;Input 6&quot;,
                &quot;id&quot;: &quot;input6&quot;
            },
            {
                &quot;title&quot;: &quot;Input 7&quot;,
                &quot;id&quot;: &quot;input7&quot;
            },
            {
                &quot;title&quot;: &quot;Input 8&quot;,
                &quot;id&quot;: &quot;input8&quot;
            },
            {
                &quot;title&quot;: &quot;Input 9&quot;,
                &quot;id&quot;: &quot;input9&quot;
            },
            {
                &quot;title&quot;: &quot;Input 10&quot;,
                &quot;id&quot;: &quot;input10&quot;
            },
            {
                &quot;title&quot;: &quot;Outputs&quot;,
                &quot;id&quot;: &quot;outputs&quot;
            },
            {
                &quot;title&quot;: &quot;General&quot;,
                &quot;id&quot;: &quot;general&quot;
            },
            {
                &quot;title&quot;: &quot;HW Info&quot;,
                &quot;id&quot;: &quot;hw_info&quot;
            }
        ],
        &quot;parameters&quot;: {
            &quot;address&quot;: {
                &quot;title&quot;: &quot;Address&quot;,
                &quot;description&quot;: &quot;address_description&quot;,
                &quot;address&quot;: 15,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;format&quot;: &quot;u8&quot;,
                &quot;default&quot;: 247,
                &quot;min&quot;: 1,
                &quot;max&quot;: 247,
                &quot;group&quot;: &quot;general&quot;,
                &quot;order&quot;: 1
            },
            &quot;baud_rate&quot;: {
                &quot;title&quot;: &quot;Baud Rate&quot;,
                &quot;description&quot;: &quot;baud_rate_description&quot;,
                &quot;address&quot;: 16,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;enum&quot;: [
                    255,
                    254,
                    253,
                    251
                ],
                &quot;default&quot;: 255,
                &quot;enum_titles&quot;: [
                    &quot;9600 bps&quot;,
                    &quot;19200 bps&quot;,
                    &quot;57600 bps&quot;,
                    &quot;115200 bps&quot;
                ],
                &quot;group&quot;: &quot;general&quot;,
                &quot;order&quot;: 2
            }
        },
        &quot;channels&quot;: [
            {
                &quot;name&quot;: &quot;external_power_220_ac&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:1:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;low_battery_voltage&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:2:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;leakage_sensor&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:0:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;leakage_sensor_control&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;write_address&quot;: 5,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 65535,
                &quot;off_value&quot;: 65407,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: true,
                &quot;readonly&quot;: false
            },
            {
                &quot;name&quot;: &quot;failure_sensor&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:3:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;alarm_reset&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;5:7:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false,
                &quot;off_value&quot;: 1,
                &quot;readonly&quot;: false
            },
            {
                &quot;name&quot;: &quot;leak_protection_enabled&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;5:2:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;leak_protection_control&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;write_address&quot;: 5,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 65407,
                &quot;off_value&quot;: 65533,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: true,
                &quot;readonly&quot;: false
            },
            {
                &quot;name&quot;: &quot;leak_protection_disable_30min&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;5:1:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false,
                &quot;readonly&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_1&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:0:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input1&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_1_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;17&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input1&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_1_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:1:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input1&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_2&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:2:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input2&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_2_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;19&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input2&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_2_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:3:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input2&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_3&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:4:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input3&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_3_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;21&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input3&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_3_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:5:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input3&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_4&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:6:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input4&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_4_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;23&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input4&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_4_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:7:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input4&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_5&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:8:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input5&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_5_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;25&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input5&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_5_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:9:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input5&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_6&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:10:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input6&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_6_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;27&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input6&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_6_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:11:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input6&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_7&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:12:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input7&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_7_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;29&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input7&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_7_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:13:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input7&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_8&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:14:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input8&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_8_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;31&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input8&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_8_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;3:15:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input8&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_9&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;2:0:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input9&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_9_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;33&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input9&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_9_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;2:1:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input9&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_10&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;2:2:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input10&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;input_10_counter&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;35&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;format&quot;: &quot;s32&quot;,
                &quot;group&quot;: &quot;input10&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;input_10_open_circuit&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;2:3:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;input10&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k1&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;write_address&quot;: 6,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 3,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;output_k1_flag&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;6:0:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1
                ],
                &quot;enum_titles&quot;: [
                    &quot;Done&quot;,
                    &quot;In Progress&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k1_status&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:8:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1,
                    2,
                    3
                ],
                &quot;enum_titles&quot;: [
                    &quot;Closed&quot;,
                    &quot;Opened&quot;,
                    &quot;Undefined&quot;,
                    &quot;Disconnected&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;output_k1_status_switch&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:8:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;off_value&quot;: 0,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;output_k2&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;write_address&quot;: 7,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 3,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;output_k2_flag&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;7:0:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1
                ],
                &quot;enum_titles&quot;: [
                    &quot;Done&quot;,
                    &quot;In Progress&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k2_status&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:10:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1,
                    2,
                    3
                ],
                &quot;enum_titles&quot;: [
                    &quot;Closed&quot;,
                    &quot;Opened&quot;,
                    &quot;Undefined&quot;,
                    &quot;Disconnected&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;output_k2_status_switch&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:10:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;off_value&quot;: 0,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: true
            },
            {
                &quot;name&quot;: &quot;output_k3&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;write_address&quot;: 8,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 3,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k3_flag&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;8:0:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1
                ],
                &quot;enum_titles&quot;: [
                    &quot;Done&quot;,
                    &quot;In Progress&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k3_status&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:12:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1,
                    2,
                    3
                ],
                &quot;enum_titles&quot;: [
                    &quot;Closed&quot;,
                    &quot;Opened&quot;,
                    &quot;Undefined&quot;,
                    &quot;Disconnected&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k3_status_switch&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:12:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;off_value&quot;: 0,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k4&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;write_address&quot;: 9,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 3,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k4_flag&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;9:0:1&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1
                ],
                &quot;enum_titles&quot;: [
                    &quot;Done&quot;,
                    &quot;In Progress&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k4_status&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:14:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;enum&quot;: [
                    0,
                    1,
                    2,
                    3
                ],
                &quot;enum_titles&quot;: [
                    &quot;Closed&quot;,
                    &quot;Opened&quot;,
                    &quot;Undefined&quot;,
                    &quot;Disconnected&quot;
                ],
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;output_k4_status_switch&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;4:14:2&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;off_value&quot;: 0,
                &quot;group&quot;: &quot;outputs&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;external_led_control&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:4:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_1&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:6:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_2&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:7:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_3&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:8:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_4&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:9:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_5&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:10:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_6&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:11:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_7&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:12:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_8&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:13:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_9&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:14:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;led_10&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;14:15:1&quot;,
                &quot;type&quot;: &quot;switch&quot;,
                &quot;on_value&quot;: 0,
                &quot;off_value&quot;: 1,
                &quot;group&quot;: &quot;general&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;software_version&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;127:8:0&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;group&quot;: &quot;hw_info&quot;,
                &quot;enabled&quot;: false
            },
            {
                &quot;name&quot;: &quot;hardware_version&quot;,
                &quot;reg_type&quot;: &quot;holding&quot;,
                &quot;address&quot;: &quot;127:8:8&quot;,
                &quot;readonly&quot;: true,
                &quot;type&quot;: &quot;value&quot;,
                &quot;group&quot;: &quot;hw_info&quot;,
                &quot;enabled&quot;: false
            }
        ],
        &quot;translations&quot;: {
            &quot;en&quot;: {
                &quot;template_title&quot;: &quot;Ensystec Leak Protect&quot;,
                &quot;address_description&quot;: &quot;Make sure that communication with device is established before changing this parameter. Select required address, save configuration and then change device address to the same value&quot;,
                &quot;baud_rate_description&quot;: &quot;Make sure that communication with device is established before changing this parameter. Select required baud rate, save configuration and then change port baud rate to the same value&quot;,
                &quot;input_1&quot;: &quot;Input 1&quot;,
                &quot;input_1_counter&quot;: &quot;Counter 1&quot;,
                &quot;input_1_open_circuit&quot;: &quot;Input 1 - Open Circuit&quot;,
                &quot;input_2&quot;: &quot;Input 2&quot;,
                &quot;input_2_counter&quot;: &quot;Counter 2&quot;,
                &quot;input_2_open_circuit&quot;: &quot;Input 2 - Open Circuit&quot;,
                &quot;input_3&quot;: &quot;Input 3&quot;,
                &quot;input_3_counter&quot;: &quot;Counter 3&quot;,
                &quot;input_3_open_circuit&quot;: &quot;Input 3 - Open Circuit&quot;,
                &quot;input_4&quot;: &quot;Input 4&quot;,
                &quot;input_4_counter&quot;: &quot;Counter 4&quot;,
                &quot;input_4_open_circuit&quot;: &quot;Input 4 - Open Circuit&quot;,
                &quot;input_5&quot;: &quot;Input 5&quot;,
                &quot;input_5_counter&quot;: &quot;Counter 5&quot;,
                &quot;input_5_open_circuit&quot;: &quot;Input 5 - Open Circuit&quot;,
                &quot;input_6&quot;: &quot;Input 6&quot;,
                &quot;input_6_counter&quot;: &quot;Counter 6&quot;,
                &quot;input_6_open_circuit&quot;: &quot;Input 6 - Open Circuit&quot;,
                &quot;input_7&quot;: &quot;Input 7&quot;,
                &quot;input_7_counter&quot;: &quot;Counter 7&quot;,
                &quot;input_7_open_circuit&quot;: &quot;Input 7 - Open Circuit&quot;,
                &quot;input_8&quot;: &quot;Input 8&quot;,
                &quot;input_8_counter&quot;: &quot;Counter 8&quot;,
                &quot;input_8_open_circuit&quot;: &quot;Input 8 - Open Circuit&quot;,
                &quot;input_9&quot;: &quot;Input 9&quot;,
                &quot;input_9_counter&quot;: &quot;Counter 9&quot;,
                &quot;input_9_open_circuit&quot;: &quot;Input 9 - Open Circuit&quot;,
                &quot;input_10&quot;: &quot;Input 10&quot;,
                &quot;input_10_counter&quot;: &quot;Counter 10&quot;,
                &quot;input_10_open_circuit&quot;: &quot;Input 10 - Open Circuit&quot;,
                &quot;output_k1&quot;: &quot;Output K1&quot;,
                &quot;output_k1_flag&quot;: &quot;Output K1 Flag&quot;,
                &quot;output_k1_status&quot;: &quot;Output K1 State&quot;,
                &quot;output_k2&quot;: &quot;Output K2&quot;,
                &quot;output_k2_flag&quot;: &quot;Output K2 Flag&quot;,
                &quot;output_k2_status&quot;: &quot;Output K2 State&quot;,
                &quot;output_k3&quot;: &quot;Output K3&quot;,
                &quot;output_k3_flag&quot;: &quot;Output K3 Flag&quot;,
                &quot;output_k3_status&quot;: &quot;Output K3 State&quot;,
                &quot;output_k4&quot;: &quot;Output K4&quot;,
                &quot;output_k4_flag&quot;: &quot;Output K4 Flag&quot;,
                &quot;output_k4_status&quot;: &quot;Output K4 State&quot;,
                &quot;external_power_220_ac&quot;: &quot;External Power 220 AC&quot;,
                &quot;low_battery_voltage&quot;: &quot;Low Battery Voltage&quot;,
                &quot;leakage_sensor&quot;: &quot;Leak Detected&quot;,
                &quot;failure_sensor&quot;: &quot;Failure Sensor&quot;,
                &quot;external_led_control&quot;: &quot;External LED Control&quot;,
                &quot;led_1&quot;: &quot;LED 1&quot;,
                &quot;led_2&quot;: &quot;LED 2&quot;,
                &quot;led_3&quot;: &quot;LED 3&quot;,
                &quot;led_4&quot;: &quot;LED 4&quot;,
                &quot;led_5&quot;: &quot;LED 5&quot;,
                &quot;led_6&quot;: &quot;LED 6&quot;,
                &quot;led_7&quot;: &quot;LED 7&quot;,
                &quot;led_8&quot;: &quot;LED 8&quot;,
                &quot;led_9&quot;: &quot;LED 9&quot;,
                &quot;led_10&quot;: &quot;LED 10&quot;,
                &quot;software_version&quot;: &quot;Software Version&quot;,
                &quot;hardware_version&quot;: &quot;Hardware Version&quot;,
                &quot;alarm_reset&quot;: &quot;Alarm Reset&quot;,
                &quot;leak_protection_enabled&quot;: &quot;Leak Protection Status&quot;,
                &quot;leak_protection_disable_30min&quot;: &quot;Disable Leak Protection for 30 min&quot;,
                &quot;leak_protection_control&quot;: &quot;Leak Protection Control&quot;,
                &quot;leakage_sensor_control&quot;: &quot;Leak Reset&quot;,
                &quot;output_k1_status_switch&quot;: &quot;Output K1 Status&quot;,
                &quot;output_k2_status_switch&quot;: &quot;Output K2 Status&quot;,
                &quot;output_k3_status_switch&quot;: &quot;Output K3 Status&quot;,
                &quot;output_k4_status_switch&quot;: &quot;Output K4 Status&quot;
            },
            &quot;ru&quot;: {
                &quot;template_title&quot;: &quot;Ensystec - защита от протечки&quot;,
                &quot;Input 1&quot;: &quot;Вход 1&quot;,
                &quot;Input 2&quot;: &quot;Вход 2&quot;,
                &quot;Input 3&quot;: &quot;Вход 3&quot;,
                &quot;Input 4&quot;: &quot;Вход 4&quot;,
                &quot;Input 5&quot;: &quot;Вход 5&quot;,
                &quot;Input 6&quot;: &quot;Вход 6&quot;,
                &quot;Input 7&quot;: &quot;Вход 7&quot;,
                &quot;Input 8&quot;: &quot;Вход 8&quot;,
                &quot;Input 9&quot;: &quot;Вход 9&quot;,
                &quot;Input 10&quot;: &quot;Вход 10&quot;,
                &quot;Outputs&quot;: &quot;Выходы&quot;,
                &quot;General&quot;: &quot;Общее&quot;,
                &quot;HW Info&quot;: &quot;Данные модуля&quot;,
                &quot;input_1&quot;: &quot;Вход 1&quot;,
                &quot;input_1_counter&quot;: &quot;Счетчик 1&quot;,
                &quot;input_1_open_circuit&quot;: &quot;Вход 1 - обрыв&quot;,
                &quot;input_2&quot;: &quot;Вход 2&quot;,
                &quot;input_2_counter&quot;: &quot;Счетчик 2&quot;,
                &quot;input_2_open_circuit&quot;: &quot;Вход 2 - обрыв&quot;,
                &quot;input_3&quot;: &quot;Вход 3&quot;,
                &quot;input_3_counter&quot;: &quot;Счетчик 3&quot;,
                &quot;input_3_open_circuit&quot;: &quot;Вход 3 - обрыв&quot;,
                &quot;input_4&quot;: &quot;Вход 4&quot;,
                &quot;input_4_counter&quot;: &quot;Счетчик 4&quot;,
                &quot;input_4_open_circuit&quot;: &quot;Вход 4 - обрыв&quot;,
                &quot;input_5&quot;: &quot;Вход 5&quot;,
                &quot;input_5_counter&quot;: &quot;Счетчик 5&quot;,
                &quot;input_5_open_circuit&quot;: &quot;Вход 5 - обрыв&quot;,
                &quot;input_6&quot;: &quot;Вход 6&quot;,
                &quot;input_6_counter&quot;: &quot;Счетчик 6&quot;,
                &quot;input_6_open_circuit&quot;: &quot;Вход 6 - обрыв&quot;,
                &quot;input_7&quot;: &quot;Вход 7&quot;,
                &quot;input_7_counter&quot;: &quot;Счетчик 7&quot;,
                &quot;input_7_open_circuit&quot;: &quot;Вход 7 - обрыв&quot;,
                &quot;input_8&quot;: &quot;Вход 8&quot;,
                &quot;input_8_counter&quot;: &quot;Счетчик 8&quot;,
                &quot;input_8_open_circuit&quot;: &quot;Вход 8 - обрыв&quot;,
                &quot;input_9&quot;: &quot;Вход 9&quot;,
                &quot;input_9_counter&quot;: &quot;Счетчик 9&quot;,
                &quot;input_9_open_circuit&quot;: &quot;Вход 9 - обрыв&quot;,
                &quot;input_10&quot;: &quot;Вход 10&quot;,
                &quot;input_10_counter&quot;: &quot;Счетчик 10&quot;,
                &quot;input_10_open_circuit&quot;: &quot;Вход 10 - обрыв&quot;,
                &quot;output_k1&quot;: &quot;Кран 1&quot;,
                &quot;output_k1_flag&quot;: &quot;Кран 1 - команда&quot;,
                &quot;output_k1_status&quot;: &quot;Кран 1 состояние&quot;,
                &quot;output_k2&quot;: &quot;Кран 2&quot;,
                &quot;output_k2_flag&quot;: &quot;Кран 2 - команда&quot;,
                &quot;output_k2_status&quot;: &quot;Кран 2 состояние&quot;,
                &quot;output_k3&quot;: &quot;Кран 3&quot;,
                &quot;output_k3_flag&quot;: &quot;Кран 3 - команда&quot;,
                &quot;output_k3_status&quot;: &quot;Кран 3 состояние&quot;,
                &quot;output_k4&quot;: &quot;Кран 4&quot;,
                &quot;output_k4_flag&quot;: &quot;Кран 4 - команда&quot;,
                &quot;output_k4_status&quot;: &quot;Кран 4 состояние&quot;,
                &quot;Done&quot;: &quot;Выполнено&quot;,
                &quot;In Progress&quot;: &quot;Выполнение&quot;,
                &quot;Closed&quot;: &quot;Закрыт&quot;,
                &quot;Opened&quot;: &quot;Открыт&quot;,
                &quot;Undefined&quot;: &quot;Не определено&quot;,
                &quot;Disconnected&quot;: &quot;Не подключен&quot;,
                &quot;Address&quot;: &quot;Адрес&quot;,
                &quot;Baud Rate&quot;: &quot;Скорость обмена&quot;,
                &quot;9600 bps&quot;: &quot;9600 бит/с&quot;,
                &quot;19200 bps&quot;: &quot;19200 бит/с&quot;,
                &quot;57600 bps&quot;: &quot;57600 бит/с&quot;,
                &quot;115200 bps&quot;: &quot;115200 бит/с&quot;,
                &quot;address_description&quot;: &quot;Перед изменением параметра убедитесь, что связь с устройством установлена. Выберите нужный адрес, сохраните конфигурацию, а затем укажите в настройках устройства этот же адрес&quot;,
                &quot;baud_rate_description&quot;: &quot;Перед изменением параметра убедитесь, что связь с устройством установлена. Выберите нужную скорость обмена, сохраните конфигурацию, а затем укажите в настройках порта эту же скорость&quot;,
                &quot;external_power_220_ac&quot;: &quot;Внешнее питание 220 В&quot;,
                &quot;low_battery_voltage&quot;: &quot;Низкий уровень заряда&quot;,
                &quot;leakage_sensor&quot;: &quot;Обнаружена протечка&quot;,
                &quot;failure_sensor&quot;: &quot;Обрыв датчика&quot;,
                &quot;external_led_control&quot;: &quot;Управление светодиодами&quot;,
                &quot;led_1&quot;: &quot;Светодиод 1&quot;,
                &quot;led_2&quot;: &quot;Светодиод 2&quot;,
                &quot;led_3&quot;: &quot;Светодиод 3&quot;,
                &quot;led_4&quot;: &quot;Светодиод 4&quot;,
                &quot;led_5&quot;: &quot;Светодиод 5&quot;,
                &quot;led_6&quot;: &quot;Светодиод 6&quot;,
                &quot;led_7&quot;: &quot;Светодиод 7&quot;,
                &quot;led_8&quot;: &quot;Светодиод 8&quot;,
                &quot;led_9&quot;: &quot;Светодиод 9&quot;,
                &quot;led_10&quot;: &quot;Светодиод 10&quot;,
                &quot;software_version&quot;: &quot;Версия прошивки&quot;,
                &quot;hardware_version&quot;: &quot;Версия контроллера&quot;,
                &quot;alarm_reset&quot;: &quot;Сброс аварии&quot;,
                &quot;leak_protection_enabled&quot;: &quot;Статус защиты от протечки&quot;,
                &quot;leak_protection_disable_30min&quot;: &quot;Отключить защиту на 30 минут&quot;,
                &quot;leak_protection_control&quot;: &quot;Управление защитой от протечки&quot;,
                &quot;leakage_sensor_control&quot;: &quot;Сброс протечки&quot;,
                &quot;output_k1_status_switch&quot;: &quot;Кран 1 статус&quot;,
                &quot;output_k2_status_switch&quot;: &quot;Кран 2 статус&quot;,
                &quot;output_k3_status_switch&quot;: &quot;Кран 3 статус&quot;,
                &quot;output_k4_status_switch&quot;: &quot;Кран 4 статус&quot;
            }
        }
    }
}


После замены шаблона перезапустите сервисы:
<pre>
systemctl restart wb-mqtt-confed
systemctl restart wb-mqtt-serial
</pre>
</pre>
Общая инструкция: [[Custom-wiren-board-device-templates|Пользовательские шаблоны устройств Wiren Board]].
== Связанные статьи ==
* [[Ensystec-wiren-board-integration|Подключение Ensystec в XIOT через Wirenboard]]
* [[Custom-wiren-board-device-templates|Пользовательские шаблоны устройств Wiren Board]]

Текущая версия от 22:28, 2 октября 2026

Это кастомный JSON-шаблон wb-mqtt-serial для подключения Ensystec Leak Protect к XIOT через Wiren Board.

Скачать шаблон

Скачать файл: Config-ensystec.xiot-final.json

Страница файла: Файл:Config-ensystec.xiot-final.json

Зачем нужен этот шаблон

Шаблон нужен для стабильной привязки Ensystec к характеристикам XIOT без wb-rules. Он разделяет адреса состояния и адреса управления для флага протечки, включения защиты и состояния кранов.

В штатном шаблоне Wiren Board часть команд Ensystec представлена как низкоуровневые битовые операции. Для XIOT удобнее и безопаснее использовать отдельные адреса состояния и управления, чтобы команда не отправлялась повторно как состояние.

Установка

Скачанный файл нужно разместить на контроллере Wiren Board в пользовательской директории шаблонов под именем config-ensystec.json:

/etc/wb-mqtt-serial.conf.d/templates/config-ensystec.json

После замены шаблона перезапустите сервисы:

systemctl restart wb-mqtt-confed
systemctl restart wb-mqtt-serial

Общая инструкция: Пользовательские шаблоны устройств Wiren Board.

Связанные статьи