Настройка связи SmartTherm с HomeAssistant через Mosquitto
Шаги по связи Smart Therm с Home Assistant через MQTT брокер Mosquitto
(Тезисная инструкция для домохозяев) Предварительно надо выполнить некоторые шаги для подготовки связи контроллера SmartTherm с приложением Home Assistant:
- Установить Home Assistant на ПК или сервер, зайти на этот сервер по ssh, запомнив тем самым IP адрес его подсети на WIFI роутере.
- В Home Assistant (HA) создать пользователя с паролем для доступа в дальнейшем к MQTT, например это будет umki/1234
- Подать питание на контроллер SmartTherm (ST). Из телефона зайти на него по wifi - как на точку доступа Access Point (AP). Выбрать туже подсеть в которой находится HA, прописать пароль для wifi сети
- Убедится что HA и ST находятся в одной подсети роутера и ping проходит на них обоих. И на оба этих устройства получается зайти WEB брацзером.
Установить MQTT брокера Mosquitto
Для ОС AltLinux
- В операционой системе, на хосте там где работает НА, установить пакет с MQTT сервером и клентом, для этого выполнить команду:
# apt-get install mosquitto
- Поскольку по умолчанию пакет работает только с локальным хостом, то для взаимодействия с разными другими хостами необходимо подправить строку 236 в файле конфиграции
# vi +236 /etc/mosquitto/mosquitto.conf
Добавив туде следующие строки:
# listener port-number [ip address/host name/unix socket path] listener 1883 0.0.0.0 allow_anonymous true
Для ОС Raspberypi
Установить москиту командами:
sudo apt-get update sudo apt-get upgrade sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list sudo apt-get install mosquitto sudo apt-get install mosquitto mosquitto-clients sudo /etc/init.d/mosquitto stop sudo vi /etc/mosquitto/mosquitto.conf
Подправить строку конфигурационноо файла, вставив в файл текст:
allow_anonymous true password_file /etc/mosquitto/passwd listener 1883 persistence true persistence_file mosquitto.db persistence_location /var/lib/mosquitto/ protocol mqtt pid_file /var/run/mosquitto/mosquitto.pid user mosquitto
Сохранить файл конфигурации и перестартавать сервис командой:
sudo /etc/init.d/mosquitto start
Если после старта сервис не запустится, то надо задать пароль пользователю пользователю, например umki / 12345
sudo mosquitto_passwd -c /etc/mosquitto/passwd umki
И перестартануть сервис:
sudo /etc/init.d/mosquitto restart
Проверка работы сервиса mosquitto
Убедится, что сервис стртанул и нормально работает можно командой:
systemctl status mosquitto.service
Кроме этого можно убедится в ОС, что топики с ST доходят до сервера с HA. Для этого нужно открыть два окна терминала, в них зайти на хост, куда установили mosquitto и отправить примерно вот такую команду в первом окне
$ mosquitto_sub -h 192.168.9.133 -t "test/topic" -u umki -P "12345"
Во втором окне вот такую:
$ mosquitto_pub -h 192.168.9.133 -t "test/topic" -m "Ququ message23" -u "umki" -P "12345"
Если MQTT брокер Mosquitto работает нормально, то после ввода второй команды вы увидите сообщение "Ququ message23" в первом окне.
Настройка контроллера SmartTherm
Теперь остается сделать последний шаг, настроить связь контроллера SmartTherm с MQTT брокером на сервере HomeAssistant.
- Для этого нужно найти IP адрес нашего котроллера SmartTherm в локальной сти, который ему присвлоил роутер.
- На телефоне в настройках WIFI сети находим точку доступа (AP) ST_ESP32
- Заходим в нее браузером с ПК или прямо в телефоне, и в ней переходим в пункт меню сonfigure new AP и там выбираем наш роутер, например: laser203, вводим пароль, который нам должен быть известен заранее, в нашем примере: laser203, после этого определяем новый IP, например: 192.168.9.108
- На ST переходжим в меню SETUP и там включаем режим MQTT - ставим чекбокс(галочку), после чего открываются дополнительные поля , в которых указваем IP адрес нашего HA, имя пользователя mosquito / пароль , например как мы задали выше: umki/1234
На роутере нужно посмотреть какой IP адрес появился от нашего нового устройсва SmartTherm в общем списке доступных устройств.
- После этого, в HA переходим в настройки и в Настройках Home Assistant нужно Добавить интеграцию MQTT , при этом, обратите внимание !!!! в поле Брокер - нужно указать IP адрес того сервера на котором мы установили MQTT, и пользователя с паролем. В нашем случае это будет IP нашего Home Assitant 192.168.9.134, порт оставить без изменений 1883, юзер и пароль - те которые мы завели umki и 12345
потом нажать кнопку RESET Если сделали все правильно, то у вас появится новое устройство, в нем куча новых объектов, и все это вы можете добавить себе на панель, с тем чтобы управлять ими всеми с телефона или из браузера.
Скриншоты:
Точка доступа | SETUP MQTT | Интеграция с MQTT | Ожидаемый результат работы |
---|---|---|---|