Stupid House

ZigBee2MQTT: карта ZegBee сети в Home Assistant


ZigBee2MQTT карта ZegBee сети в Home Assistant

При поиске проблем с подключенными ZigBee устройствами при помощи ZigBee2MQTT бывает полезно посмотреть карту подключения.

 

Вариант #1. Lovelace custom card.

Адрес проекта на GitHub https://github.com/azuwis/zigbee2mqtt-networkmap/. Необходима версия ZigBee2MQTT не ниже 1.5.1, Home Assistant не ниже 0.107.

Скачиваем скрипт zigbee2mqtt-networkmap.js в папку .homeassistant/www, если ее нет, то необходимо создать.

$ sudo mkdir -p /home/homeassistant/.homeassistant/www/
$ sudo wget https://github.com/azuwis/zigbee2mqtt-networkmap/releases/download/v0.6.0/zigbee2mqtt-networkmap.js

В файл configuration.yaml добавляем:

sensor:
  - platform: mqtt
    name: Zigbee2mqtt Networkmap
    # if you change base_topic of Zigbee2mqtt, change state_topic accordingly
    state_topic: zigbee2mqtt/bridge/networkmap/raw
    value_template: >-
      {{ now().strftime('%Y-%m-%d %H:%M:%S') }}
    # again, if you change base_topic of Zigbee2mqtt, change json_attributes_topic accordingly
    json_attributes_topic: zigbee2mqtt/bridge/networkmap/raw

lovelace:
  mode: yaml
  resources:
    - url: /local/zigbee2mqtt-networkmap.js?v=0.6.0
      type: module

Правим файл ui-lovelace.yaml, при необходимости создаем его:

views:
  - title: Zigbee Network
    panel: true # this renders the first card on full width, other cards in this view will not be rendered
    cards:
      - type: custom:zigbee2mqtt-networkmap
        entity: sensor.zigbee2mqtt_networkmap
        # the following are optional:
        mqtt_base_topic: zigbee2mqtt # if you change base_topic of Zigbee2mqtt, change it accordingly
        force: 3000 # decrease it to get smaller map if you have many devices
        node_size: 16
        font_size: 12
        link_width: 2
        height: 800 # height of the card
        # use this css config or use whatever css tech to change look and feel,
        # the same variable can also be used in Home Assistant themes, see https://www.home-assistant.io/components/frontend/#defining-themes
        css: |
          :host {
            --zigbee2mqtt-networkmap-node-color: rgba(18, 120, 98, .7);
            --zigbee2mqtt-networkmap-node-fill-color: #dcfaf3;
            --zigbee2mqtt-networkmap-node-pinned-color: rgba(190, 56, 93, .6);
            --zigbee2mqtt-networkmap-link-color: rgba(18, 120, 98, .5);
            --zigbee2mqtt-networkmap-hover-color: #be385d;
            --zigbee2mqtt-networkmap-link-selected-color: rgba(202, 164, 85, .6);
            --zigbee2mqtt-networkmap-label-color: #127862;
            --zigbee2mqtt-networkmap-arrow-color: rgba(18, 120, 98, 0.7);
            --zigbee2mqtt-networkmap-node-coordinator-color: rgba(224, 78, 93, .7);
            --zigbee2mqtt-networkmap-node-router-color: rgba(0, 165, 255, .7);
          }

Проверяем конфигурацию Home Assistant Configure -> Server Controls -> Check Configuration, если всё хорошо, то перегружаем систему автоматизации Configure -> Server Controls -> Check Configuration -> Restart.

После перезагрузки на панели Overview появится карта ZigBee сети. Первая загрузка карты может занять какое-то время и может показать ошибку панели, через несколько минут попробуйте перезагрузить страницу или Home Assistant.

zigbee2mqtt zigbee map lovelace custom card

 

Вариант #2. Home Assistant ZigBee2MQTT network map. Custom component.

Адрес проекта https://github.com/rgruebel/ha_zigbee2mqtt_networkmap. В HACS в разделе Integration находим и устанавливаем компонент zigbee2mqtt Networkmap. Как установить компонент HACS рассказано в статье Установка HACS в Home Assistant.

Если у вас не установлен HACS или с установкой возникают проблемы, то компонент можно установить вручную. Делаем клон репозитория, каталог копируем zigbee2mqtt_networkmap в папку .homeassistant/custom_components, если ее нет, то необходимо создать.

$ sudo git clone https://github.com/rgruebel/ha_zigbee2mqtt_networkmap
$ sudo cp -R ha_zigbee2mqtt_networkmap/custom_components/zigbee2mqtt_networkmap/ /home/homeassistant/.homeassistant/custom_components/
$ sudo rm -R ha_zigbee2mqtt_networkmap/

В файл configuration.yaml добавляем:

webhook:

zigbee2mqtt_networkmap:
  #topic: your topic (optional, default zigbee2mqtt)
panel_iframe:
  networkmap:
    title: 'Zigbee Map'
    url: '/local/community/zigbee2mqtt_networkmap/map.html'
    icon: 'mdi:graphql'

Проверяем конфигурацию Home Assistant Configure -> Server Controls -> Check Configuration, если всё хорошо, то перегружаем систему автоматизации Configure -> Server Controls -> Check Configuration -> Restart.

После перезагрузки в списке панелей добавится пункт Zigbee Map.

zigbee2mqtt zigbee map custom component

ВНИМАНИЕ! Компонент не защищен паролем и доступ к карте сети можно получить без авторизации! Использование компонента на системах, имеющих доступ из внешней сети делается только на свой страх и риск!

Автор: muxa, 16.02.2021
Войдите или зарегистрируйтесь, чтобы иметь возможность оставлять комментарии

Комментарии


То, что надо! Давно хотел посмотреть карту зигбее.

Так уже давным давно есть встроенная карта в аддоне Zigbee2mqtt, а до него в аддоне zigbee2mqttassistant была. Зачем городить что то еще?


Есть, с версии 1.15, если не изменяет память, но у меня не взлетел, показывает пустой экран. Как разберусь в чем проблема дополню. Альтернативы всегда нужны.