Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.

Проблема с подключением домотики

Тема в разделе "Hi Tech", создана пользователем SergeY, 20 янв 2021.

Метки:
  1. SergeY

    SergeY Старожил

    Господа, есть ли на форуме специалисты по домотике (в виде Domoticz https://www.domoticz.com/ в частности)? Я пытаюсь настроить одну систему дома и уперся в свое незнание темы. Может кто-то сможет проконсультировать?
    Проблема такая: у меня есть девайс который подключен к некому аппарату и считывает с него данные. Этот девайс имеет возможность публиковать эти даные через MQTT сервер. Я хочу подключить Domoticz к оному серверу и считывать эти данные.
    Девайс я подключил к аппарату. Этот девайс имеет свою wi-fi точку доступа (hotspot), которую я подлючил к домашней сети. Опрелелил его IP адрес и через веб интерфейс могу к нему подключиться. На веб интерфейсе он выкладывает те данные, что мне нужны и я их вижу - все в порядке на данном этапе.
    Далее я хочу считавать это в Domoticz. На этом как раз и затык.
    Насколько я понимаю, Domoticz работает с MQTT сервером (в данном случае так задумано). Сервер слушает, что ему "нашептывает" оный девайс и потом Domoticz с сервера все это считывает и в своем интерфейсе рисует графики и может делать какте-то вычисления с этими данными (с использованием питоновских скриптов).
    В установках девайса есть где ввести MQTT server и порт. Я установил на свой комньютер mosquitto MQTT сервер. Он вроде бы запускается. Во всяком случае я вижу что-то по адресу 127.0.0.1:1883 - что вроде-бы является дефолтным адресом оного. Но если я прописываю этот адрес в MQTT server в самом девайсе - то ничего не происходит: данные на MQTT serverе (если смотрю по адресу 127.0.0.1) я не вижу.
    Другие пользователи этого девайса используют распбери пи для этого. Может затык именно в том, что что-то я под виндоус не так делаю и, например, тот же MQTT server нужно на распбери запускать?
     
    Метки:
  2. solid

    solid Старожил

    127.0.0.1 это loopback адрес компьютера. Чтобы другое устройство увидело комп обращаться нужно по адресу полученному компом от домашнего рутера. Ipconfig команда из cmd. Ну и разрешить входящие подключения по порту 1883
     
    • Информативно Информативно x 1
  3. SergeY

    SergeY Старожил

    Я уже это пробовал. Не заработало. Но, наверное, неправильно делал.
    1. Как открыть порт 1883?
    2. Какой адрес прописывать в MQTT сервер в девайс, который данные генерирует - тот самый садрес моего компьютера, который я через ipconfig нахожу?
     
  4. TomKyte

    TomKyte Старожил

    2. да, именно этот IP, который показывает вам ipconfig (или роутер в списке подключенных устройств - так вернее). Можете сами проверить доступность порта 1883 (лучше с другого компа с Виндой), запустив такую команду в Windows PowerShell :
    Test-NetConnection <IP вашего компа> -port 1883
     
    • Информативно Информативно x 1
  5. solid

    solid Старожил

    https://www.windowscentral.com/how-open-port-windows-firewall

    еще тема - ваш рутер может иногда давать другой IP адрес компу и нужно на рутере указать, чтобы для конкретного компа он был постоянным. "Reserved lease"
     
  6. SergeY

    SergeY Старожил

    Ничего не понимаю.
    Вроде бы открыл нужный порт:
    upload_2021-1-21_19-11-0.png

    Но Test-NetConnection <IP вашего компа> -port 1883 не дозванивается до него. Если запускаю просто Test-NetConnection <IP вашего компа> то все нормально, связь есть. Что я, черт вольми, делаю не так?
     
  7. uralmasha

    uralmasha Старожил

    Мой опыт с интерфейсами (полукустарными) , что какие-то требуют полный урл, а какие-то только хост/ip адрес, т.е. Http:// то надо, то не надо. Ну и ssl то надо, то не надо.
     
  8. TomKyte

    TomKyte Старожил

    mosquitto mqtt, кстати, не только на порту 1883 слушает. Если у вас данные в шифрованном виде передаются, то порт может быть 8883 или 8884. Хорошо бы в конфиг москитовский заглянуть (если есть). При запуске москито, случайно не пишет на каком порту он слушает?

    Запустите из командной строки "mosquitto -v" он сругается на уже запущенный сервис, но напишет на каком порту он собирается слушать.
     
  9. SergeY

    SergeY Старожил

    upload_2021-1-21_19-52-29.png

    Проблема в том, что я почему-то не могу этот порт открыть. Почему Test-NetConnection <IP вашего компа> -port 1883 не дозванивается до него?
     
  10. TomKyte

    TomKyte Старожил

    Может быть роутер режет доступ к компу? Можно попробовать запустить какой-нибудь сканер портов на телефоне, который подключен по wifi в ту же сеть, что и Windows PC. Указать IP виндовского компа и порт 1883 - достучится телефон до компа или нет?
    А ваша пепяка с MQTT клиентом - она в той же сети, что и комп - в смысле оба подключены к роутеру и находятся в одной подсети?
     
  11. SergeY

    SergeY Старожил

    Да, пепяка подключена к тому же роутеру по wifi а комп к нему же кабелем. Что-то не то с портом 1883. Не открывается он и все тут. Если я пробую связаться с другого компьютера (в пределах той же сети) с портом, например, 8080 используя IP адрес компьютера, где стоит MQTT сервер - все в порядке. Так же и с любым из этого списка, который говорит что LISTENING
    upload_2021-1-21_21-22-45.png

    А 1883, собака, не отзывается и не в этом списке, точнее в нем но с таким адресом.
    upload_2021-1-21_21-24-56.png
     
  12. mickey

    mickey Завсегдатай

    То, что 1833 is listening on 127.0.0.1, обозначает, что соедиенения принимаются только с loopback интерфейса (т.е. с того же самого компьютера, где работает сервер, это обычно отладочная конфигурация). Для приема соединний со всех адресов, должно быть 0.0.0.0. Кстати, выше написано, что порт открыт для ipv6 протокола, может быть ipv4 не работает именно поэтому.
     
  13. SergeY

    SergeY Старожил

    Спасибо за пояснение, но это я уже давно понял. Вы мне лучше расскажите как сделыть так, чтобы я видел 0.0.0.0:1883
     
    Последнее редактирование: 21 янв 2021
  14. Канарейки 9

    Канарейки 9 Завсегдатай

    mosquitto.conf

    вращайте:
    listener port [bind address/host/unix socket path]

    Listen for incoming network connection on the specified port. A second optional argument allows the listener to be bound to a specific ip address/hostname. If this variable is used and neither the global bind_address nor port options are used then the default listener will not be started.

    The bind address/host option allows this listener to be bound to a specific IP address by passing an IP address or hostname. For websockets listeners, it is only possible to pass an IP address here.

    On systems that support Unix Domain Sockets, this option can also be used to create a Unix socket rather than opening a TCP socket. In this case, the port must be set to 0, and the unix socket path must be given.

    This option may be specified multiple times. See also the mount_point option.

    Not reloaded on reload signal.

    https://mosquitto.org/man/mosquitto-conf-5.html

    пример: listener 1884 192.168.1.68
     
    • Согласен Согласен x 1
  15. aina

    aina Форумчанин

    по вашей картинке ответ на mosquitto -v команду показывает ipv6. попробуте его отключить ipv6
     
    • Согласен Согласен x 1
  16. mickey

    mickey Завсегдатай

    listener 1883 0.0.0.0 должно помочь. Но следует понимать, что введя адрес сервера 127.0.0.1 на устройстве, вы заставите устройство пытаться искать сервер на этом же устройстве.

    Допустим, адрес компьютера - 192.168.1.101, адрес устройства 192.168.1.102, сервер крутится на компьютере на порту 1883 с интерфейсом 0.0.0.0. Тогда с компьютера откроются и 127.0.0.1:1883 и 192.168.1.101:1883, а с устройства - только 192.168.1.101:1883, и то если файрволл компьютера этот порт не блокирует.
     
  17. Канарейки 9

    Канарейки 9 Завсегдатай

    зачем вы разрешаете входящие соединения только с порта 1883?
    вы уверены, что все соединения будут ИСХОДИТЬ на вашем девайсе с 1883?
    разрешите соединения СО (Remote port) всех портов НА (Local port) порт 1883
     
    Последнее редактирование: 22 янв 2021
  18. solid

    solid Старожил

    Открывать нужно только порты по которым софт слушает.
     
  19. SergeY

    SergeY Старожил

    Я вот даже нарисовал картитнку как на мой взгляд все должно быть устроено. Правильно я понимаю?

    Вот только почему-то ничего не приходит на mosquitto сервер, хоть я уже и адрес ввел как написано на картинке в мой девайс и порт 1883 открыл как в интернетах пишут. Затык явно в порте, т.к. он не хочет открываться по какой-то причине и это совершенно явно. Поковыряюсь еще сегодня в предложенном выше listener-ом.
    Кстати, вместо Domoticz на картинке можно написать MQTT Explorer. Я им как раз и проверяю. Он вообще на этот порт выдает - "Disconnected from server".
    upload_2021-1-22_14-44-40.png
     
  20. Канарейки 9

    Канарейки 9 Завсегдатай

    вы поправили настройку файрвола как я написал выше? (фото в студию)
     

Поделиться этой страницей

Загрузка...