0
Answered

Home Assistant

Виталий 8 months ago in General questions updated by Support Manager 7 months ago 15

Как интегрировать в Home assistant ? там так же есть mqtt

GOOD, I'M SATISFIED
Satisfaction mark by Виталий 8 months ago
Answered

Добрый день.

Если Home Assistant работает как MQTT сервер (брокер), то надо знать минимальные данные для подключения клиентов: адрес сервера, порт, логин, пароль.


Пропишите эти данные в настройках устройства и он будет ежеминутно отправлять топики со всеми данными на сервер.
Смотрите инструкцию или статью в Базе Знаний:
https://support.smart-mac.com/knowledge-bases/2/articles/175-mqtt-klient

Начал разбираться и понял что у Вас используется TLS/SSL ..в брокере "home Assistant" почти всё локально и там используют TCP . в логах вижу это-      . во всех примерах mqtt у Вас используются для передачи данных через интернет.  Можно это как то оргнизовать локально через tcp?

1570898669: New client connected from 192.168.1.159 as "серийник счётчика" (p2, c1, k15, u'user').
1570898691: Client "серийник счётчика" has exceeded timeout, disconnecting

Для связи с MQTT используется не шифрованное соединение.

Все, что надо знать, это минимальные данные для подключения клиентов: адрес сервера, порт, логин, пароль.

Посмотрите статью в Базе Знаний.

https://support.smart-mac.com/knowledge-bases/2/articles/175-mqtt-klient

В качестве адреса, можно указать IP адрес вашего сервера.

Сейчас так и указано. по логам видно что он пытается присоединиться но не может . ip port логин пароль я вписал он сервера Home assistant(HA). пока единственная зацепка что у вас в документации указанно что обмен идёт по TLS/SSL а все доступные порты брокера HA это tcp . или это не должно иметь значения ? и сервер и счётчик сидят на одном роутере. В сетях особо не разбираюсь но покупал именно для этой  интеграции...

в логах k15 это время ожидания . У Вас написано что данные отправляются каждую минуту . т.е 45 секунд бездействия может и вызывают разрыв соединения ? сейчас читал про подобную проблему в другой связке устройств . там вышли из положения  добавив задержу на стороне посылающего устройства . https://community.home-assistant.io/t/mqtt-disconnects-tried-keepalive-but-no-go-esp8266-board/124332

может быть как то можно получать новые данные каждые 10 секунд ?  я так понимаю эти 15 секунд (k15) заложены на стороне вашего устройства? 

вы как-то решили проблему 15 секунд? У меня аналогичная проблема на опенхабе

Какой тайм-аут нужен?

Сейчас 15 секунд.

Соединение разрывается, через 45 секунд устанавливается новое соединение с брокером.

подписка на сухой контакт только работает 15 секунд из 60, судя по всему

Если переключение реле попало на период коннекта (15сек), то реле переключится сразу. Иначе, устройство прочтет топик управления реле при следующей сессии в течении <=45сек

+1

эта схема работает только для retain сообщений, по умолчанию они не такие, это бы в мане написать

Мы посмотрим, чтобы увеличить тайм-аут и держать связь с брокером постоянно.

Но для надежности, топики для управления реле отправляйте с флагом retain.

И в мануале добавим информацию по этому поводу, спасибо.

TLS/SSL это шифрованное соединение, а устройство связывается по не шифрованному, как раз по TCP.

Проверьте топики, он может открыть соединение, оставить топик и закрыть соединение.

+4

Вообщем потрачен день но проблема решена. Спасибо за быстрый отклик и отсев неправильных вариантов.

в HA необходимо для каждого топика создать сенсор иначе их никак не увидеть . 

пример-

sensor:

- platform: mqtt
    name: "фаза 1"
    state_topic: "*серийный номер счётчика* .V1"

+2

Супер, день потрачен не зря. Кому-то сохраните этот день :)