Настройка связи SmartTherm с HomeAssistant через Mosquitto: различия между версиями
Woronin (обсуждение | вклад) |
Woronin (обсуждение | вклад) |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 19: | Строка 19: | ||
listener 1883 0.0.0.0 | listener 1883 0.0.0.0 | ||
allow_anonymous true | allow_anonymous true | ||
pid_file /var/run/mosquitto.pid | |||
user mosquitto | |||
* Запустить сервис командой: | * Запустить сервис командой: | ||
systemctl start mosquitto | # systemctl start mosquitto | ||
* Создать пользователя mosquitto командой, и в ней в диалоге задать пароль , например 12345: | |||
$ mosquitto_passwd -c /etc/mosquitto/passwd umki | |||
=== Для ОС Raspberypi === | === Для ОС Raspberypi === | ||
Строка 48: | Строка 53: | ||
Сохранить файл конфигурации и перестартавать сервис командой: | Сохранить файл конфигурации и перестартавать сервис командой: | ||
sudo /etc/init.d/mosquitto start | $ sudo /etc/init.d/mosquitto start | ||
=== | === Создание пользователя и пароля для входа в Mosquito === | ||
Задать пароль пользователя например umki / 12345 можно командой: | Задать пароль пользователя например umki / 12345 можно командой ( пароль будет задан в диалоге): | ||
$ mosquitto_passwd -c /etc/mosquitto/passwd umki | |||
После создания пользователя надо перестартануть сервис: | После создания пользователя надо перестартануть сервис: | ||
# /etc/init.d/mosquitto restart | |||
== Проверка работы сервиса mosquitto с локальным брокером == | == Проверка работы сервиса mosquitto с локальным брокером == | ||
Строка 60: | Строка 65: | ||
Например вы настраиваете работу MQTT брокера в вашей локальной сети, и запускаете этот сервис на IP 192.168.9.133 | Например вы настраиваете работу MQTT брокера в вашей локальной сети, и запускаете этот сервис на IP 192.168.9.133 | ||
Тогда вам нужно убедится, что сервис стртанул и нормально работает командой: | Тогда вам нужно убедится, что сервис стртанул и нормально работает командой: | ||
systemctl status mosquitto.service | # systemctl status mosquitto.service | ||
После этого можно убедится в ОС, что топики с ST доходят до сервера с HA. Для этого нужно открыть два окна терминала, в них зайти на хост с IP 192.168.9.133, куда установили mosquitto и отправить примерно вот такую команду в первом окне, это мы подписываемся на топик | После этого можно убедится в ОС, что топики с ST доходят до сервера с HA. Для этого нужно открыть два окна терминала, в них зайти на хост с IP 192.168.9.133, куда установили mosquitto и отправить примерно вот такую команду в первом окне, это мы подписываемся на топик | ||
$ mosquitto_sub -h 192.168.9.133 -t "test/topic" -u umki -P "12345" | $ mosquitto_sub -h 192.168.9.133 -t "test/topic" -u umki -P "12345" | ||
Строка 80: | Строка 85: | ||
== Настройка контроллера SmartTherm == | == Настройка контроллера SmartTherm == | ||
Теперь остается сделать последний шаг, настроить связь контроллера SmartTherm с MQTT брокером на сервере HomeAssistant. | Теперь остается сделать последний шаг, настроить связь контроллера SmartTherm с MQTT брокером на сервере HomeAssistant. | ||
* Для этого нужно найти IP адрес нашего | * Для этого нужно найти IP адрес нашего контроллера SmartTherm в локальной сети, который ему присвоил роутер. | ||
* На телефоне в настройках WIFI сети находим точку доступа (AP) ST_ESP32 | * На телефоне в настройках WIFI сети находим точку доступа (AP) ST_ESP32 | ||
* Заходим в нее браузером с ПК или прямо в телефоне, и в ней переходим в пункт меню '''сonfigure new AP''' и там выбираем наш роутер, например: laser203, вводим пароль, который нам должен быть известен заранее, в нашем примере: laser203, после этого определяем новый IP, например: 192.168.9.108 | * Заходим в нее браузером с ПК или прямо в телефоне, и в ней переходим в пункт меню '''сonfigure new AP''' и там выбираем наш роутер, например: laser203, вводим пароль, который нам должен быть известен заранее, в нашем примере: laser203, после этого определяем новый IP, например: 192.168.9.108 | ||
* На ST переходжим в меню SETUP и там включаем режим MQTT - ставим чекбокс(галочку), после чего открываются дополнительные поля , в которых | * На ST переходжим в меню SETUP и там включаем режим MQTT - ставим чекбокс(галочку), после чего открываются дополнительные поля , в которых указываем в поле '''Сервер''' IP адрес нашего Home Assitant , например ''192.168.9.134'', имя пользователя mosquito / пароль , например как мы задали выше: ''umki/1234'' | ||
На роутере нужно посмотреть какой IP адрес появился от нашего нового | На роутере нужно посмотреть какой IP адрес появился от нашего нового устройства SmartTherm в общем списке доступных устройств. | ||
* После этого, в HA переходим в настройки и в Настройках Home Assistant нужно '''Добавить интеграцию MQTT''' , при этом, обратите внимание !!!! в поле Брокер - нужно указать IP адрес того сервера на котором мы установили MQTT, и пользователя с паролем. В нашем случае это будет IP нашего Home Assitant ''192.168.9.134'', порт оставить без изменений ''1883'', юзер и пароль - те которые мы завели ''umki и 12345'' | * После этого, в HA переходим в настройки и в Настройках Home Assistant нужно '''Добавить интеграцию MQTT''' , при этом, обратите внимание !!!! в поле Брокер - нужно указать IP адрес того сервера на котором мы установили MQTT, и пользователя с паролем. В нашем случае это будет IP нашего Home Assitant ''192.168.9.134'', порт оставить без изменений ''1883'', юзер и пароль - те которые мы завели ''umki и 12345'' | ||
потом нажать кнопку RESET | потом нажать кнопку RESET | ||
Строка 109: | Строка 114: | ||
[[Категория: Home Assistant]] | [[Категория: Home Assistant]] | ||
[[Категория:Linux]] |
Текущая версия от 12:07, 27 января 2025
Шаги по связи 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
# 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 pid_file /var/run/mosquitto.pid user mosquitto
- Запустить сервис командой:
# systemctl start mosquitto
- Создать пользователя mosquitto командой, и в ней в диалоге задать пароль , например 12345:
$ mosquitto_passwd -c /etc/mosquitto/passwd umki
Для ОС 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
Создание пользователя и пароля для входа в Mosquito
Задать пароль пользователя например umki / 12345 можно командой ( пароль будет задан в диалоге):
$ mosquitto_passwd -c /etc/mosquitto/passwd umki
После создания пользователя надо перестартануть сервис:
# /etc/init.d/mosquitto restart
Проверка работы сервиса mosquitto с локальным брокером
Например вы настраиваете работу MQTT брокера в вашей локальной сети, и запускаете этот сервис на IP 192.168.9.133 Тогда вам нужно убедится, что сервис стртанул и нормально работает командой:
# systemctl status mosquitto.service
После этого можно убедится в ОС, что топики с ST доходят до сервера с HA. Для этого нужно открыть два окна терминала, в них зайти на хост с IP 192.168.9.133, куда установили 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" в первом окне.
Проверка работы сервиса mosquitto с глобальным брокером в инете
Если вы хотите получать данные о состоянии своего оборудования вне вашей локальной сети, и у вас нет своего хостинга, то вам придется воспользоваться платным сервисом например https://www.wqtt.ru/ стоимость подписки на нем порядка 300 руб в год. Например вы подписались на него и получили пользователя u_37X390 и пароль "Qxqovt3x", Тогда после того как вы загрузите прошивку в ваш чип ESP8266, не забыв указать в ней свою точку доступа WIFI и пароль к ней вы можете посмотреть топик статуса своего устройства и нажать RESET на нем:
$ mosquitto_sub -h m6.wqtt.ru -p 17960 -t "demo/status" -u u_37X390 -P "Qxqovt3x" online offline online
Есть хорошая статья описывающая эти все шаги по сборке и запуску приложения и настройке MQTT https://kotyara12.ru/iot/esp8266mqtt/comment-page-1/
Настройка контроллера SmartTherm
Теперь остается сделать последний шаг, настроить связь контроллера SmartTherm с MQTT брокером на сервере HomeAssistant.
- Для этого нужно найти IP адрес нашего контроллера SmartTherm в локальной сети, который ему присвоил роутер.
- На телефоне в настройках WIFI сети находим точку доступа (AP) ST_ESP32
- Заходим в нее браузером с ПК или прямо в телефоне, и в ней переходим в пункт меню сonfigure new AP и там выбираем наш роутер, например: laser203, вводим пароль, который нам должен быть известен заранее, в нашем примере: laser203, после этого определяем новый IP, например: 192.168.9.108
- На ST переходжим в меню SETUP и там включаем режим MQTT - ставим чекбокс(галочку), после чего открываются дополнительные поля , в которых указываем в поле Сервер IP адрес нашего Home Assitant , например 192.168.9.134, имя пользователя 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 | Ожидаемый результат работы |
---|---|---|---|