Создание контроллера MQTT

Материал из Sprut.hub Wiki

Создание контроллера MQTT

Контроллер MQTT подключается к брокеру и добавляет в Sprut.hub устройства с этого брокера.

Подробнее о том, что такое MQTT и как он работает, можно прочитать в довольно подробной статье

Для встроенного в Sprut.hub MQTT брокера также необходимо делать новый контроллер чтобы подключить с него устройства

Для создания нового контроллера, нужно из режима настроек, перейти в раздел контроллеры и добавить новый контроллер

Далее необходимо выбрать MQTT контроллер

Далее переключиться на только что созданный контроллер и зайти в его настройки

Далее необходимо ввести IP адрес вашего MQTT брокера, а также логин и пароль от него (если они требуются)

Стандартный порт у MQTT брокера 1883, но у Sprut.hub, MQTT брокер "живет" по адресу localhost' на порту 44444 и он отключен по умолчанию. Инструкция по его включению

Если контроллер подключается к локальному брокеру Sprut.hub

Если контроллер подключается к внешнему MQTT брокеру

Необходимо указывать IP адрес MQTT брокера в вашей локальной сети. В данном примере 192.168.11.44. Номер порта зависит от настроек вашего брокера в локальной сети.

Также вы можете использовать различные облачные MQTT брокеры, но это небезопасно

Подключение устройств MQTT к Sprut.hub

Если используется встроенный в Sprut.hub MQTT брокер

  1. Включить брокер в настройках Sprut.hub соответствии с инструкцией
  2. Создать контроллер MQTT в настройках Sprut.hub
  3. Указать в настройках контроллера IP адрес: localhost, порт: 44444
  4. Запустить контроллер MQTT
  5. Зайти в настройки подключаемого устройства и указать в настройках MQTT подключения IP адрес хаба в локальной сети и порт 44444

Если используется внешний для Sprut.hub MQTT брокер

  1. Создать контроллер MQTT в настройках Sprut.hub
  2. Указать в настройках контроллера IP адрес MQTT брокера и порт в соответствии с настройками брокера
  3. Запустить контроллер MQTT
  4. Зайти в настройки подключаемого устройства и указать в настройках MQTT подключения IP адрес и порт брокера в локальной сети.

Устройства подключатся автоматически, после сохранения настроек и запуска нового MQTT контроллера

Запуск контроллера MQTT

Если вы подключили к MQTT брокеру новое устройство, чтобы Sprut.hub его нашел, необходимо просто перезапустить MQTT контроллер

Чтобы Sprut.hub нашел устройства на подключенном брокере, их топики должны иметь статус retain

Устройство подключено к брокеру но не появилось в Sprut.hub

Если устройств в списке не появилось, то возможно несколько причин:

  • для них нет шаблонов в Sprut.hub
  • они отправляют свои состояния на MQTT брокер без флага retain, что обязательно для первичной настройки
  • если у вас Ватериус и его не видно в списке подключенных устройств - в настройках Ватериуса необходимо выключить Auto Discovery режим (поддержка Home Assistant)

Соответственно, так как это DIY направление, то поиском и устранением проблем с подключением, вам придется заниматься самостоятельно. Можно воспользоваться "помощью зала" в чатах нашего сообщества (Направление ESP и DIY)

Особенности настройки MQTT в Tasmota

Для владельцев устройств с прошивкой Tasmota можно включить Retain для топиков с помощью следующих команд в консоли:

ButtonRetain 1 - включает retain для кнопок

PowerRetain 1 - включает retain для статусов POWER

SensorRetain 1 - включает retain для показаний датчиков

SwitchRetain 1 - включает retain для выключателей

Для каждого типа устройств, достаточно включить retain только для определенного типа

Особенности использования кастомных шаблонов для MQTT устройств

При изменении кастомного шаблона, необходимо менять название его файла перед перезагрузкой шаблонов в интерфейсе Sprut.hub

Особенности при изменении настроек контроллера MQTT

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

Подключение Wirenboard к Sprut.hub через MQTT

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

Подключение Drivent к Sprut.hub через MQTT

Если вы хотите подключить Drivent к встроенному MQTT брокеру Sprut.hub, вам необходимо:

  1. Включить встроенный в Sprut.hub MQTT брокер в соответствии с инструкцией
  2. Настроить Drivent на подключение к брокеру Sprut.hub в соответствии с инструкцией где в настройках указать IP адрес Sprut.hub и порт 44444
  3. Создать контроллер MQTT в Sprut.hub в соответствии с инструкцией, настроив его на встроенный в Sprut.hub MQTT брокер (IP: localhost, Port: 44444)
  4. Включить контроллер MQTT, после чего Drivent появится в списке устройств если все настроено правильно

Использование встроенного MQTT брокера Sprut.hub

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

Далее в настройках MQTT устройств, необходимо указывать IP адрес Sprut.hub и порт 44444