547
правок
Ian (обсуждение | вклад) |
Ian (обсуждение | вклад) |
||
Строка 162: | Строка 162: | ||
== Написание правил == | == Написание правил == | ||
Zigbee2mqtt имеет свою структуру топиков, не подходящую под [https://github.com/wirenboard/homeui/blob/master/conventions.md MQTT конвенцию Wiren Board]. На данный момент идет разработка конвертера, который будет пересылать данные из топиков zigbee2mqtt в подходящие под конвенцию топики. | '''Zigbee2mqtt''' имеет свою структуру топиков, не подходящую под '''[https://github.com/wirenboard/homeui/blob/master/conventions.md MQTT конвенцию Wiren Board]'''. На данный момент идет разработка конвертера, который будет пересылать данные из топиков zigbee2mqtt в подходящие под конвенцию топики. | ||
Пока разработка не закончена есть несколько способов взаимодействия с добавленными в zigbee2mqtt устройствамиː | Пока разработка не закончена есть несколько способов взаимодействия с добавленными в zigbee2mqtt устройствамиː | ||
* Установить конвертер от стороннего разработчика ( На пример [https://github.com/avp-avp/zigbee2wb конвертер от пользователя avp-avp] ) | * Установить конвертер от стороннего разработчика ( На пример '''[https://github.com/avp-avp/zigbee2wb конвертер от пользователя avp-avp]''' ) | ||
* Использовать для автоматизации [https://wirenboard.com/wiki/index.php?title=Node-Red Node-Red] | * Использовать для автоматизации '''[https://wirenboard.com/wiki/index.php?title=Node-Red Node-Red]''' | ||
* Cделать небольшое изменение в коде zigbee2mqtt, что бы получать данные в топики вида /devices/zigbee2mqtt/controls/../on | * Cделать небольшое изменение в коде zigbee2mqtt, что бы получать данные в топики вида /devices/zigbee2mqtt/controls/../on | ||
Строка 175: | Строка 175: | ||
# В файле '''/mnt/data/root/zigbee2mqtt/data/configuration.yaml''' параметр '''base_topic''' измените на '''/devices/zigbee2mqtt/controls''' как это показано на скриншоте ниже. Сохраните файл. [[Файл:Zigbee2.PNG|700px|thumb|center| /mnt/data/root/zigbee2mqtt/data/configuration.yaml]] | # В файле '''/mnt/data/root/zigbee2mqtt/data/configuration.yaml''' параметр '''base_topic''' измените на '''/devices/zigbee2mqtt/controls''' как это показано на скриншоте ниже. Сохраните файл. [[Файл:Zigbee2.PNG|700px|thumb|center| /mnt/data/root/zigbee2mqtt/data/configuration.yaml]] | ||
# В файле '''/mnt/data/root/zigbee2mqtt/lib/controller.js''' (311 строка) к параметру “'''resolvedEntity.name'''” добавьте '''+ “/on”''', как это показано на скриншоте ниже. Сохраните файл. [[Файл:Zigbee1.PNG|700px|thumb|center| /mnt/data/root/zigbee2mqtt/lib/controller.js]] | # В файле '''/mnt/data/root/zigbee2mqtt/lib/controller.js''' (311 строка) к параметру “'''resolvedEntity.name'''” добавьте '''+ “/on”''', как это показано на скриншоте ниже. Сохраните файл. (Это поможет получать данные от zigbee устройств в топики "/on") [[Файл:Zigbee1.PNG|700px|thumb|center| /mnt/data/root/zigbee2mqtt/lib/controller.js]] | ||
# Перезапустите zigbee2mqtt командой service zigbee2mqtt restart | # Перезапустите zigbee2mqtt командой service zigbee2mqtt restart | ||
Строка 184: | Строка 184: | ||
<pre> | <pre> | ||
defineVirtualDevice("zigbee2mqtt", { //Указываем топик, который мы указали в configuration.yamlː / | defineVirtualDevice("zigbee2mqtt", { //Указываем топик, который мы указали в configuration.yamlː /devices/../controls | ||
title: "Zigbee Devices", | title: "Zigbee Devices", | ||
cells: { | cells: { | ||
Строка 199: | Строка 199: | ||
</pre> | </pre> | ||
После сохранения правила все данные приходящие от устройств будут видны в веб интерфейсе. Данные приходят в формате JSON и с ними уже можно работать в движке правил. На пример напишем правило - по двойному нажатию на zigbee кнопку с именем '''0x00158d0002729348''' изменяем состояние | После сохранения правила все данные приходящие от устройств будут видны в веб интерфейсе. Данные приходят в формате JSON и с ними уже можно работать в движке правил. На пример напишем правило - по двойному нажатию на zigbee кнопку с именем '''0x00158d0002729348''' изменяем состояние баззера контроллера. | ||
<pre> | <pre> |
правок