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

Подключение ZONT к XIOT

Материал из XIOT Wiki

Интеграция ZONT MQTT передаёт показания и состояния контроллера ZONT в XIOT и позволяет управлять теми параметрами, для которых ZONT предоставляет MQTT-команды. Данные используются в обычных характеристиках устройств, сценариях и интерфейсе XIOT.

Вся настройка выполняется в драйвере ZONT MQTT. Режим Прямо к XIOT использует один общий порт 11124 для всех ZONT. Контроллер ZONT подключается к устройству с XIOT по локальной сети. Устанавливать Home Assistant или использовать брокер Wiren Board для этого не требуется.

Что потребуется

  • Работающий XIOT-PLC с драйвером ZONT MQTT, доступ к настройке его проекта в XIOT-EDITOR.
  • Контроллер ZONT, модель и прошивка которого поддерживают MQTT. Настройка описана для семейства H1000+ ПРО; набор объектов и названия отдельных пунктов зависят от прошивки.
  • Доступ к веб-интерфейсу ZONT и возможность сохранить его конфигурацию.
  • Сетевая связь по Ethernet или Wi-Fi между ZONT и устройством с XIOT. MQTT в контроллерах ZONT не работает через GSM. Желательно закрепить локальные IP-адреса, чтобы они не изменились после перезапуска роутера.

Драйвер поддерживает до десяти подключений ZONT. Для каждого указывается собственный серийный номер. В прямом режиме порт и учётные данные общие, а каталоги и адреса XIOT остаются раздельными.

MQTT передаёт данные между устройствами по локальной сети. Облачный API-токен ZONT для этого обмена не нужен. Доступ к веб-кабинету для первоначальной настройки и доступ к MQTT — разные подключения.

Адреса, порт и учётные данные

В ZONT MQTT выберите Прямо к XIOT. В блоке Общий порт для всех ZONT настраиваются порт (по умолчанию 11124), логин и пароль. Они относятся ко всем прямым подключениям ZONT проекта. На стороне каждого ZONT указывается LAN-адрес устройства с XIOT, например 192.168.10.20, и те же порт, логин и пароль.

Адрес 192.168.10.20 приведён как пример: подставьте адрес своего устройства с XIOT. Не вводите 127.0.0.1 в настройках ZONT — для него это означало бы подключение к самому себе. В прямом режиме локальный адрес внутри XIOT выбирается автоматически.

Порт 1887 — защищённый транспорт XIOT, он не используется для ZONT. Его пароль или токен не следует переносить в ZONT. Драйвер MQTT брокер на порту 11123 предназначен для пользовательских устройств с ручным описанием топиков и настраивается отдельно.

Порт ZONT использует MQTT с логином и паролем, без TLS, в доверенной локальной сети. Не настраивайте переадресацию из интернета. Если 11124 занят, выберите другой свободный порт, кроме 1883, 1887 и 11123, и укажите его во всех ZONT.

1. Настроить прямое подключение в драйвере ZONT

  1. Сохраните резервную копию проекта XIOT и конфигурации ZONT.
  2. В настройке драйверов XIOT-EDITOR выберите ZONT MQTT.
  3. В поле Подключение выберите ZONT 1, а в поле Способ подключения — Прямо к XIOT.
  4. В блоке Общий порт для всех ZONT оставьте порт 11124 либо задайте другой свободный. Укажите логин ZONT.
  5. Нажмите Создать пароль или задайте свой пароль длиной 12–128 символов без перевода строки. Для просмотра есть кнопка Показать пароль. Логин допускает латинские буквы, цифры, _ и -, до 64 символов.
  6. Введите точный Серийный номер ZONT. Оставьте Префикс обнаружения homeassistant для стандартных объявлений.
  7. Для публикации раз в 10 секунд задайте Ожидание показаний, с равным 60. Ожидание должно быть больше периода публикации.
  8. Включите Активен, сохраните проект и дождитесь успешной загрузки конфигурации в XIOT-PLC.

Для следующего контроллера выберите ZONT 2…ZONT 10, укажите его серийный номер и включите линию. Общие параметры повторно создавать не нужно. При изменении общих порта или учётных данных обновите подключение во всех ZONT.

Общий порт, логин и пароль во вкладке ZONT MQTT.
Прямое подключение во вкладке ZONT MQTT. Пример интерфейса с учебным серийным номером TEST1000; показания в примере не подключены. Пароль скрыт штатным полем.

Все действия — подключение, каталог и ручные привязки обычных публикаций — выполняются в ZONT MQTT.

2. Настроить соединение в ZONT

  1. Откройте веб-интерфейс нужного контроллера ZONT и его настройки MQTT.
  2. Откройте MQTT → Настройки подключения. В проверенной прошивке 602 адрес, порт и учётные данные вводятся одной строкой в поле Адрес.
  3. Введите адрес вида mqtt://ЛОГИН:ПАРОЛЬ@192.168.10.20:11124, подставив общие логин и пароль из драйвера ZONT MQTT и локальный IP устройства с XIOT. Это не пароль от кабинета ZONT и не пароль от аккаунта XIOT.
  4. Схема mqtt:// соответствует этому подключению без TLS. Если логин или пароль содержат специальные символы URL, используйте их процентное кодирование.
  5. Нажмите Сохранить и дождитесь применения конфигурации в устройстве.
  6. Проверьте поступление свежих показаний через новый брокер. На H1000+ ПРО с прошивкой 602 изменение сохранённого адреса не переключало уже открытое MQTT-соединение до перезапуска прибора. Если соединение осталось на прежнем адресе, запланируйте штатную перезагрузку в разделе Сервис → Конфигурация устройства → Перезагрузить с учётом работы отопления.

Не меняйте серийный номер, адреса датчиков, назначения реле и параметры отопления ради изменения MQTT-соединения.

Настройки подключения ZONT. Строка адреса скрыта при подготовке иллюстрации, поскольку содержит пароль; формат строки приведён выше.
Настройки подключения ZONT. Строка адреса скрыта при подготовке иллюстрации, поскольку содержит пароль; формат строки приведён выше.

3. Выбрать, что ZONT публикует

Одного подключения к брокеру недостаточно: в ZONT нужно выбрать объекты для публикации.

Для автоматического появления устройств в XIOT:

  1. Добавьте или откройте публикацию MQTT в ZONT.
  2. Выберите нужные типы объектов или конкретные объекты. Начать удобно с двух температурных датчиков.
  3. Выберите формат Home Assistant и включите Группировать в устройство. Это формат описания объектов; отдельная программа Home Assistant не нужна.
  4. Задайте период публикации, например 10 секунд.
  5. Сохраните конфигурацию в ZONT.

Повторите настройку для нужных контуров, реле, пользовательских регуляторов и кнопок. Объект, не включённый в публикацию, не появится в XIOT только потому, что он существует в конфигурации ZONT.

Для объектов без подходящего автоматического объявления используется обычная публикация MQTT. Сохраните её полный топик: он понадобится при ручном добавлении объекта в драйвер XIOT. Для управления также требуется топик подписки ZONT — тот, на котором контроллер принимает команды.

Автоматическое объявление объектов ZONT: формат Home Assistant и группировка в устройство. На этом стенде выбран период 2 секунды.
Автоматическое объявление объектов ZONT: формат Home Assistant и группировка в устройство. На этом стенде выбран период 2 секунды.
Обычная публикация выбранных объектов ZONT без формата Home Assistant.
Обычная публикация выбранных объектов ZONT без формата Home Assistant.
Подписка ZONT на командный топик. Его имя используется в ручных привязках для управления.
Подписка ZONT на командный топик. Его имя используется в ручных привязках для управления.

4. Проверить каталог в XIOT

  1. Вернитесь в ZONT MQTT и выберите нужную линию ZONT 1…10.
  2. Нажмите Обновить список устройств и дождитесь свежих показаний.
  3. Проверьте названия, доступность и серийный номер контроллера.
  4. Сохраните проект после обнаружения: адреса попадут в резервную копию.

БРОКЕР ПОДКЛЮЧЕН означает, что драйвер XIOT подключился к MQTT. Для проверки самого ZONT дополнительно убедитесь, что появились его объекты и обновляются показания.

Два настоящих датчика NTC в каталоге XIOT.
Два настоящих датчика NTC в каталоге XIOT: показания, адреса и доступ только для чтения.

Несколько ZONT: один порт и разные топики

В стандартных объявлениях ZONT серийный номер уже входит в топик: homeassistant/тип/серийный_номер/ID/config. Поэтому одинаковые номера объектов двух контроллеров не смешиваются. В XIOT первый контроллер получает адреса /zont1/…, второй — /zont2/…. Отдельный порт для каждого контроллера не требуется.

Для обычных публикаций и командных подписок задавайте в ZONT разные имена топиков, например zont/boiler-room/… и zont/annex/…. Полный топик показаний и командный топик переносите в ручное описание объекта соответствующей линии ZONT MQTT. Не используйте один командный топик для двух контроллеров: их внутренние ID могут совпадать.

Поле Префикс обнаружения относится к автоматическим объявлениям, обычно homeassistant. Оно не переименовывает обычные публикации ZONT. Стандартный автоматический каталог разделяется серийными номерами; для обычных публикаций требуется явное разделение топиков.

5. Привязать объекты к устройствам XIOT

Драйвер показывает найденные объекты, их характеристики, единицы, адреса и доступ: Чтение, Команда или Чтение и управление. Эти адреса выбираются в обычных настройках характеристик XIOT.

Типичные адреса первого ZONT:

Значение Пример адреса Как использовать
Температура первого датчика /zont1/sensor1/temperature Статус текущей температуры
Доступность этого показания /zont1/sensor1/temperature_available Контроль связи и недоступности
Текущая температура контура /zont1/climate1/temperature Статус соответствующей температуры контура
Уставка контура /zont1/climate1/target_temperature Управление и статус заданной температуры
Состояние реле /zont1/switch1/state Управление и статус включения, если объект допускает запись
Положение регулятора /zont1/valve1/position Процентное значение; запись только при наличии команды
Нажатие кнопки /zont1/button1/press Команда кнопки

Номера в таблице — примеры. Выбирайте фактический адрес из своего каталога: он зависит от ранее обнаруженных объектов. У второго контроллера адреса начинаются с /zont2/, у десятого — с /zont10/.

Для датчика температуры привяжите показание к статусу Текущая температура. Датчики отображаются в предназначенном для них разделе, а на отдельной странице котельной — в верхнем компактном блоке температур. Подробности и график открываются нажатием на датчик.

Для управляемого реле привяжите адрес состояния к управлению и обратной связи характеристики включения. Для контура отдельно привяжите текущую температуру и уставку. Не назначайте адресу «только чтение» функцию управления.

Если регулирование выполняет ZONT, выключите «Собственная логика XIOT» у соответствующих устройств XIOT. Это особенно важно для насоса, сервопривода и крана: у существующих устройств собственная логика может быть включена. Используйте характеристики для отображения и явных команд ZONT, не создавая второго регулятора на том же выходе.

Текущая температура может означать воздух, теплоноситель или бак ГВС. Название, диапазон и привязку выбирайте по назначению конкретного контура ZONT.

После обнаружения устройств и настройки привязок ещё раз сохраните проект. Так присвоенные адреса сохранятся вместе с проектом и его резервной копией.

Температура NTC1 привязана к адресу состояния характеристики. Поле адреса управления оставлено пустым.
Температура NTC1 привязана к адресу состояния характеристики. Поле адреса управления оставлено пустым.
Пример комнаты с устройствами ZONT в основном интерфейсе XIOT. Показания датчиков открываются из компактного блока сверху.
Пример комнаты с устройствами ZONT в основном интерфейсе XIOT. Показания датчиков открываются из компактного блока сверху.
Раздел датчиков комнаты: реальные NTC1 и NTC2 показаны отдельно от виртуальных учебных датчиков.
Раздел датчиков комнаты: реальные NTC1 и NTC2 показаны отдельно от виртуальных учебных датчиков.

Какие типы поддерживаются

Автоматическое обнаружение распознаёт объявления типов sensor, binary_sensor, switch, button, climate и valve. Конкретные свойства и команды берутся из объявления ZONT, поэтому у двух внешне похожих объектов набор управления может отличаться.

Тип или назначение ZONT Что получает XIOT Управление и условия
Физический температурный датчик Температуру и доступность Только чтение. Запись в физический датчик не поддерживается.
Аналоговый датчик, в том числе давление или влажность Числовое показание, если оно опубликовано Единицу и масштаб проверяйте для конкретного подтипа. Название датчика само по себе не преобразует напряжение в давление.
Дискретный датчик Двоичное состояние при соответствующем объявлении Только чтение. Аналоговое показание и тревога — разные данные.
Радиодатчик Температуру, влажность, заряд батареи и уровень сигнала при наличии соответствующей публикации Только чтение. Набор полей зависит от датчика; радиоканал и дочерние устройства должны быть настроены в ZONT.
Виртуальный температурный или аналоговый вход Показание В обычной MQTT-привязке предусмотрена запись виртуального значения. Выбирайте этот тип только для действительно виртуального входа.
Реле, насос, переключатель Состояние включения Включение/выключение при наличии доступной команды. ZONT может ограничивать её своим режимом или логикой.
Контур отопления, комнатный контур, ГВС Текущую и заданную температуру; дополнительные режимы/состояния при их объявлении Изменение уставки и объявленных режимов. Не все внутренние параметры контура экспортируются.
Аналоговый регулятор Число или процент, при обычной публикации также текстовую подпись Управление процентом — при объявленном командном топике. Обычная публикация аналогового регулятора сама по себе доступна только для чтения.
Смеситель Состояние движения Состояние и команда представлены разными адресами. Направление движения не является процентом открытия.
Адаптер цифровой шины котла Температуры подачи, обратки и ГВС, модуляцию, давление, состояние и код ошибки — при их публикации Эти показатели доступны для чтения. Их наличие не означает управление всеми параметрами котла.
Простая/сложная кнопка, применение режима отопления Команду, объявленную ZONT Нажатие кнопки или применение режима. Результат проверяйте по фактическому состоянию/уставке управляемого объекта.
Действие/оповещение, охранная зона, сирена, индикатор Предусмотрены соответствующие типы ручной MQTT-привязки Команды зависят от конфигурации ZONT. Без опубликованной обратной связи их нельзя считать подтверждением исполнения.

В XIOT используются обычные устройства: датчики температуры/влажности/давления, реле и переключатели, насос, термостат, тепловой контур, котёл, сервопривод/регулятор и кнопка. Если подходящего поля в модели нет, добавьте кастомную характеристику нужного типа: число, дробное число, текст, процент, переключатель, список или кнопку. Для числовых полей можно задать подпись единицы измерения. Это оформление уже существующего показания, а не преобразование его масштаба.

Добавление карточки «Котёл», «Тепловой контур» или кастомного поля не создаёт в ZONT новых MQTT-данных. В каталоге драйвера сначала должен появиться соответствующий адрес.

Границы поддержки

Локальный MQTT-обмен физическими NTC проверен 11 октября 2026 года на H1000+ ПРО с прошивкой 602: авторизация, свежие показания, запись и возврат значения изолированного виртуального входа, потеря и восстановление связи с брокером, сохранение адресов XIOT. Контуры, уставки, кнопки, режимы и регуляторы дополнительно проверялись на изолированных объектах реального ZONT без подключения отопительных нагрузок. Эти проверки не заменяют наладку котельной и испытание подключённого котла, насоса или привода. Общий порт драйвера отдельно проверен программными испытаниями десяти контроллеров с разными серийными номерами, включая восстановление связи и сохранение адресов. Это не проверка десяти физических ZONT.

Радиодатчики, адаптер котла и модули расширения требуют проверки с конкретным оборудованием. Наличие MQTT в другой модели ZONT не гарантирует совпадения всех полей и команд.

Не заявляется редактирование из XIOT полной конфигурации ZONT: коэффициентов ПИД, кривой ПЗА, состава каскада, структуры внутренних сценариев, адресов шин и расписаний. По MQTT можно использовать опубликованные результаты и доступные команды, например применить заранее созданный режим через его кнопку.

Обычные публикации MQTT: ручное добавление

Этот способ нужен, если нужный объект передаёт обычный JSON, но не объявляется автоматически.

  1. В драйвере ZONT MQTT раскройте Объекты с обычной публикацией MQTT.
  2. Нажмите Добавить объект и выберите тип из списка.
  3. Задайте имя для отображения.
  4. Укажите полный Топик показаний из публикации ZONT.
  5. Если требуется управление, укажите Топик управления из подписки ZONT и числовой ID объекта либо его точное имя.
  6. Сохраните проект, дождитесь новых данных и проверьте появившиеся адреса.

Топик управления не следует угадывать по топику показаний. Для физического температурного датчика оставьте обычный тип «Датчик температуры»; наличие командного топика не делает его записываемым.

При одновременной обычной публикации и автоматическом объявлении один объект может иметь две записи в каталоге. Для привязки выбирайте осмысленно один источник, а не два управляющих адреса на одну характеристику.

Проверка после настройки

  1. В драйвере XIOT появился статус БРОКЕР ПОДКЛЮЧЕН.
  2. Найдены объекты именно нужного серийного номера ZONT.
  3. Показания обновляются и совпадают с веб-интерфейсом ZONT с учётом периода публикации и округления.
  4. В пользовательском интерфейсе отображаются нужные единицы и названия. Уставка и измерение не перепутаны.
  5. На заранее подготовленном безопасном объекте команда приводит к изменению, которое подтверждается новым показанием ZONT. Успешная отправка команды сама по себе не доказывает её выполнение.
  6. После восстановления соединения приходят свежие значения, а созданные привязки остаются на своих местах.

Проверку реле, насоса, клапана или нагрева выполняйте с учётом реально подключённых нагрузок. Для знакомства с интеграцией используйте отдельные виртуальные входы и учебные объекты без физических выходов.

Переход с другого брокера

Если ZONT уже связан с XIOT через брокер на порту 1883:

  1. Сохраните актуальную конфигурацию обеих сторон и проекта.
  2. В драйвере ZONT MQTT задайте общие порт 11124, логин и пароль.
  3. В существующей линии ZONT MQTT выберите Прямо к XIOT. Не создавайте новую линию вместо прежней, не меняйте серийный номер и не удаляйте найденные объекты.
  4. В ZONT замените адрес, порт и учётные данные MQTT-соединения. Сохраните прежние имена объектов, топики и состав публикаций.
  5. Сохраните изменения обеих сторон, обновите каталог и проверьте показания.
  6. Сверьте несколько действующих характеристик, затем сохраните проект с полученным каталогом.

Идентичность объекта определяется его идентификатором, а не порядком прихода сообщений. Переименование, переподключение и смена брокера сохраняют присвоенные адреса. Не удаляйте и не создавайте заново ручные записи ради смены соединения: новая запись имеет другую идентичность.

Существующие линии сохраняют режим Через внешний MQTT-брокер до явного переключения. В этом режиме доступны прежние адрес, порт, учётные данные и TLS. Изменение общих учётных данных прямого подключения требует их обновления во всех подключаемых ZONT.

Журнал подключений

В журнале XIOT записи относятся к источнику /zont1…/zont10:

  • EVENT — подключение и отключение MQTT, поступление данных контроллера и потеря связи по заданному ожиданию показаний. После восстановления появляется новая запись о поступлении данных.
  • DEBUG — запуск, готовность и остановка общего порта ZONT, ошибки запуска и отказ авторизации.

EVENT сохраняется в истории сообщений. DEBUG показывается только онлайн: в фильтре журнала выберите Диагностика → DEBUG модулей (онлайн). По умолчанию эта отладка выключена.

Повторные показания, опросы статуса и одинаковые повторяющиеся ошибки не записываются отдельными событиями. Пароли и содержимое MQTT-сообщений в журнал не выводятся. Ошибка отдельного датчика не обозначается как потеря всего контроллера.

Если данные не появились

Симптом Что проверить
Нет подключения к брокеру Работает ли XIOT-PLC; активна ли линия в «ZONT MQTT»; создан ли общий пароль; совпадают ли логин/пароль и порт 11124 на обеих сторонах. Не использован ли системный порт 1887.
XIOT подключён, но список ZONT пуст Подключился ли сам ZONT; его сервер должен быть LAN-адресом XIOT, а не 127.0.0.1. Проверьте серийный номер, префикс, выбор объектов и формат публикации. Нажмите «Обновить список устройств».
Только часть объектов видна Включены ли они в публикацию; экспортирует ли прошивка данный тип; нужен ли ему режим обычной публикации и ручная привязка.
«Недоступен» или прочерк вместо значения Приходят ли свежие сообщения; разрешён ли объекту опрос в ZONT; больше ли тайм-аут XIOT периода публикации. Недоступность не означает нулевую температуру.
Значение есть, команда не выполняется Допускает ли адрес запись; задан ли правильный командный топик/ID; не блокирует ли действие логика, сервисный режим или условия работы ZONT. Проверьте фактическую обратную связь.
Неверная единица/масштаб Что именно публикует выбранный подтип датчика. Подпись «бар» или «%» в кастомной характеристике не пересчитывает исходное число.
Удалённый в ZONT объект остался в каталоге На прошивке 602 наблюдалось отсутствие объявления об удалении. Прекращение сообщений делает старое значение недоступным; оно не является подтверждением удаления объекта.

XIOT очищает доступность показаний при потере связи или по тайм-ауту. Старые измерения не восстанавливаются как свежие после запуска. Команды без связи не накапливаются для последующего неожиданного исполнения.

Документация производителя