После установки HA и Node red через Docker Compose по инструкции:
ни Node red ни HA не подключаются к MQTT брокеру.
В Node red при создании сервера прописываю локальный адрес WB с портом 1883
После деплоя ноды и обновления списка устройств самих устройств не появляется.
В HA так же после конфигурации брокера выдает ошибку подключения ,
Когда я устанавливал HA и Node red через apt, все работало нормально, однако поскольку докер - изолированная среда, сейчас не могу понять куда двигаться.
Может нужно отдельный mqtt сервер mosquitto в докере устанавливать и затем объединять мостом с localhost, или каким то образом порты в docker-compose.yaml прописать для HA и node red?
Я сильно не вглядывался, но мне кажется, что проблема в том, что вышеуказанные контейнеры крутятся в изолированном сегменте “smarthome”, для доступности из вне контейнера необходимо просто указать порты которые вы пробрасываете. И так во всех ваших контейнерах указана подсеть не имеющая доступа “наружу” к mqtt который стоит на контроллере, может быть поможет прокинуть в вашем случае порт 1883 дополнительно к портам 9000 , и т.д в каждом из контейнеров, но почему вы добавили этот параметр networks в свой конф
В таком виде разве не работает без приписки про networks? Мне кажется проблема в этом , попробуй удалить строки про networks из каждого контейнера и поднять их заново командой docker compose up -d. На примере контейнера portainer
Добрый день.
Выложите пожалуйста планируемое взаимодействие контейнеров с хостом по сети.
Ну вот для начала - каким образом сеть 172.17.0.0/16 маршрутизируется в 172.19.0.0/16? Кому приндлележат их шлюзы?
У меня сразу после установки по инструкции, НА не видел MQTT брокер, поэтому стал смотреть разные доки и примеры и пробовать разные способы решить эту проблему прежде чем открывать тему.
Сейчас убрал networks из docker compose, перезапустил контейнеры - все тоже самое, ошибка подключения
После перезапуска контейнеров они все теперь в сети 172.18.0.0 как у Ильи выше
Нет, не пробовал, сегодня на объекте попробую подключиться.
Хотя с логином и паролем, прописанным для доступа к вэб интерфейсу через ngnix тоже пробовал.
Логин от брокера MQTT и логин от WEB интерфейса это разные вещи, пробуйте подключиться с актуальными учетными данными через MQTT explorer (для начала), если получится с этими же учетными данными для подключения пробуйте настроить все остальное
Что за ошибка? С какого адреса к которому подключаетесь? Пингуется ли целевой адрес (брокера) с исходного?
Ну ии проще всего - с помощью mosquitto_sub подключиться для проверки, пожалуй.
Может ли это действительно быть связанно с установкой пароля на веб интерфейс через ngnix?
B что собственно нужно делать в этом случае? Каким либо образом исправить файл 10listeners.conf?
Проблема решилась!
Изначально был установлен пароль на веб интерфейс по этой инструкции
После того, как я убрал адрес 127.0.0.1 в 10listeners.conf в строке listener 1883 и перезапустил mosquito, Node Red и Home Assistant сразу увидели mqtt брокер!
Илья, во первых спасибо вам большое за инструкцию, данный способ установки очень сильно облегчает работу!
И большая просьба, если возможно, допишите к ней пожалуйста решение данной проблемы, т.к. многие устанавливаю пароль на веб интерфейс, думаю это многим поможет не скакать на граблях.