Zigbee: различия между версиями

133 байта добавлено ,  4 года назад
Строка 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ː  /devicec/../controls
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>
547

правок