Иногда хочется посмотреть на карту zigbee сети. Есть несколько способов как можно получить карту сети при использовании Home Assistant и zigbee2mqtt:
Можно использовать встроенный в zigbee2mqtt вебинтерфейс (появилось в версии 1.15.0). Можно установить дополнительный софт. Я знаю следующие проекты которые умеют показывать карту сети zigbee2mqtt:
Но, на самом деле, получить карту сети можно исключительно средствами Home Assistant и одного сервиса в интернете.
В этом тесте я рассказываю как можно получить карту zigbee сети без необходимости что-то устанавливать. Нужен только Home Assistant который настроен на работу с zigbee2mqtt.
Home Assistant общается с zigbee2mqtt через MQTT сервер. Для того чтобы получить карту из zigbee2mqtt нужно отправить в MQTT сервер специальную команду, а потом из этого же сервера MQTT взять данные с картой сети.
Это все можно сделать исключительно средствами Home Assistant.
Home Assistant очень динамично разрабатывается, поэтому то где в интерфейсе находится инструмент по работе с MQTT зависит от версии Home Assistant.
На свежих версиях Home Assistant нужно выбрать в меню: Configuration -> Integrations -> MQTT Configure
На более ранних версиях Home Assistant чтобы открыть этот инструмент нужно выбрать Developer Tools -> MQTT.
В раздел "Listen to a topic" необходимо ввести текст "zigbee2mqtt/bridge/#" и нажать кнопку "START LISTENING". С помощью этого действия мы просим Home Assistant отображать на экране все обновления MQTT топиков которые начинаются с "zigbee2mqtt/bridge/" (символ "решетка" в MQTT означает "все"). Сразу же после нажатия на кнопку мы должны увидеть какие-то сообщения.
После того как мы стали слушать все что происходит в нужном разделе MQTT нужно отправить команду на создание карты сети. Для этого в раздел "Publish a packet" нужно указать топик "zigbee2mqtt/bridge/networkmap", а в поле "Payload" нужно ввести слово "graphviz" и нажать на кнопку "Publish".
После нажатия на кнопку "Publish" в разделе "Listen to a topic" сразу появится информация о топике который мы только что отправили, а чуть позже в этом же разделе появится данные с картой сети (чем больше устройств в сети тем больше времени займет формирование этих данных)
Итак, мы получили из zigbee2mqtt данные с картой сети. Но эти данные описаны текстом в специальном формате (этот формат называется "graphviz"). Чтобы сделать из этого текста картинку нужно воспользоваться специальным инструментом. Открываем страницу https://dreampuf.github.io/GraphvizOnline/ (этот инструмент очень просто найти через поиск по запросу "graphviz online").
Дальше нужно скопировать данные с картой сети из Home Assistant в буфер обмена и вставить их в этот инструмент. Результат — появится картинка с картой.
Но для лучшего отображения стоит поменять "Engine". В этом инструменте по умолчанию используется "dot", но для zigbee карты сети лучше подходит "circo". Так элементы располагаются вокруг центрального компонента.
Итак, вот карта. Если кликнуть на нее, скачается .svg файл с этой картой.
14 июля 2020
Этот текст есть и на английском языке
Кстати, у меня есть телеграм канал про Home Assistant: https://t.me/bessarabov_ha
|