Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку

Автоматизация, homeassistant + mqtt + zigbee

Немного потупил на тему как увязать три сущности homeassistant + mqtt + zigbee, но разобрался.

Во-первых zigbee2mqtt отправляется на свалку истории. В нем нет вообще никакого смысла, мутное тяжеловесное, глючное дерьмо. Постоянно отваливаются датчики, срет ошибками, невменяемый и неадекватный интерфейс.

HA с установленной интеграцией MQTT прекрасно выполняет все задачи.
Например — транслирует данные с Zigbee датчиков в MQTT брокер. Делается это очень просто.
Создаем файл автоматизации (тоже самое можно через gui) с таким содержимым:

- id: 'send_voltage_on_changes'
  alias: 'Передача показаний zigbee'
  description: ''
  trigger:
  - platform: time_pattern
    seconds: '0'
  condition: []
  action:
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/voltage
      payload: "{{states('sensor.zb_kitchenbacklight_voltage')}}"
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/power
      payload: "{{states('sensor.zb_kitchenbacklight_power')}}"
  - service: mqtt.publish
    metadata: {}
    data:
      topic: zigbee/kitchen/waterleak
      payload: "{{states('sensor.zb_waterleak_kitchen_moisture')}}"
  mode: single

По тексту всё понятно — он запускается каждую минуту и в соответствующие темы кидает значение zigbee датчиков.

Или нужно отправлять MQTT по нажатию кнопки:

- switch:
      unique_id: mqtt_switch1
      name: "MQTT кнопка"
      state_topic: "test/switch1"
      command_topic: "test/switch1"
      payload_on: "on"
      payload_off: "off"
      state_on: "on"
      state_off: "off"
      optimistic: false
      qos: 2
      retain: true

Здесь важный момент — темы state и command совпадают для того, чтобы HA оперативно отражал изменение статуса другим маршрутом (с другого устройства например).

 1   19 ч   ha   homeassistant   mqtt   zigbee