[Модуль] zigbee2mqtt (zigbee2mqtt)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Lisk
Сообщения: 16
Зарегистрирован: Пн апр 13, 2015 12:15 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение Lisk » Вс июн 12, 2022 12:27 pm

Как обновить модуль? купил такое устройство https://www.zigbee2mqtt.io/devices/MS-104BZ.html, вроде как поддерживается, а в списке выбора нету, могу только 1 канальное выбрать от этого производителя (https://www.zigbee2mqtt.io/devices/MS-104Z.html). Соответственно 2й канал не могу настроить, кто знает помогите пожалуйста.
Аватара пользователя
tarasfrompir
Сообщения: 3212
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение tarasfrompir » Вс июн 12, 2022 8:10 pm

Почитать первую страницу темы, где описано как добавить свое устройство?
Или где-то в коннекте может надо глянуть?
Спасибо нам ПОМОЖЕТ..!
Zubkov
Сообщения: 35
Зарегистрирован: Вт сен 13, 2016 8:43 pm
Благодарил (а): 9 раз
Поблагодарили: 6 раз

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение Zubkov » Вс окт 23, 2022 9:54 am

Добрый день. Подскажите стики еще продаются? Обьявление в первом сообщении закрыто...
V.A.S.t
Сообщения: 229
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 13 раз
Поблагодарили: 47 раз

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение V.A.S.t » Вс окт 23, 2022 4:41 pm

Проще на Алиэкспрессе взять. Вот хорошая статья:
https://connect.smartliving.ru/profile/ ... henie.html
Цена сейчас - подарок!
https://aliexpress.ru/item/100500378781 ... 7168371287
Аватара пользователя
CheBuraw
Сообщения: 28
Зарегистрирован: Ср авг 23, 2017 6:29 pm
Благодарил (а): 7 раз
Поблагодарили: 13 раз

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение CheBuraw » Чт ноя 17, 2022 11:51 am

Добрый день!

Вот и мой черед пришел подключать реле (управляемую розетку) и бороться с организацией переключения реле используя Простые устройства :D
Долго искал ответы, но явного не смог найти. Допускаю что не сильно качественно искал и не так глубоко копал.
Для понимания моего вопроса опишу ситуацию чуть подробнее. Простите, если много и сильно подробно, но я в надежде, что когда будет решение другим будет проще найти тут ответ.
zigbee2mqtt умеет конвертировать на лету ON/OFF в 1/0 при записи в свойства Majordomo. Но проблема в том что кликая мышкой на мое Реле (простое устройство) релюшка назад не переключалась. Получается как бы одностороннее действие - исключительно информирование о фактическом состоянии релюшки взятое из MQTT.
Погуглив и поискав на данном форуме я нашел вроде для себя решение. Используя Методы turnOn и turnOff. Написал в них следующую команду:

Код: Выделить всё

include_once(DIR_MODULES . 'zigbee2mqtt/zigbee2mqtt.class.php');
$z2m = new zigbee2mqtt();
$z2m->sendcommand('ZigbeeXXXX/0x00158D0002EE1285/set', '{"state":"ON"}');
Соответсвенно в методе turnOn передаем "state":"ON", а в методе turnOff - "state":"OFF"

Ну и сам вопрос:
Скажите, а можно как-то получать адрес устройства непосредственно из Majordomo? В модуле zigbee2mqtt адрес отображается. Было бы круто ещё и иметь возможность сохранять его в свойство, чтобы сделать метод по переключению более универсальным.
Я это вижу так: Во всем классе SDevices завожу свойство adress (без хранения истории). Лично для меня разные адреса много где используются. Создаю простое устройство Реле. В zigbee2mqtt в самом устройстве (в моем случае это управляемая розетка) в Данные привязываю state к свойству Реле.status, а ZigBee адрес розетки привязываю к свойству Реле.adress. И тогда в Простых устройствах - выбираю мое Реле и на вкладке Действия в модулях turnOn и turnOff можно будет использовать более универсальный:

Код: Выделить всё

include_once(DIR_MODULES . 'zigbee2mqtt/zigbee2mqtt.class.php');
$z2m = new zigbee2mqtt();
$z2m->sendcommand('ZigbeeXXXX/'.$this->getProperty('adress').'/set', '{"state":"ON"}');
ZigbeeXXXX у меня на все устройсва один и поэтому это не так важно откуда-то забирать.

... ну или может кто-то поделиться поподробнее своим решением данного вопроса. Уверен, что данная проблема актуальна для одних, и уже давно решена для других. И наверняка куда более элегантным способом.
На мой взгляд эту информацию было бы интересно разместить в мануалке к модулю.
Аватара пользователя
Nail
Сообщения: 370
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 172 раза
Поблагодарили: 28 раз

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение Nail » Чт ноя 17, 2022 5:20 pm

CheBuraw писал(а):
Чт ноя 17, 2022 11:51 am
Ну и сам вопрос:

Я может что то не понял но у меня только штора ксиоми 12 "косит" и там я проще использую код в методах (ну в место open можно применять on)

Код: Выделить всё

geturl('http://192.168.х.хх/ajax/zigbee2mqtt.html?device=1&command=state&value=open&friendlyname=0x04CF8CDF3C749DEF&gw=Zigbee36BC');
а в остальном все выключатели и реле работают в ПУ нормально -ON и OFF, без использования кода в методах - только по статусу в МД.
Вложения
Screenshot_4.jpg
Screenshot_4.jpg (111.75 КБ) 124 просмотра
Screenshot_3.jpg
Screenshot_3.jpg (125.31 КБ) 124 просмотра
За это сообщение автора Nail поблагодарил:
CheBuraw (Пт ноя 18, 2022 9:31 am)
Рейтинг: 1.18%
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
CheBuraw
Сообщения: 28
Зарегистрирован: Ср авг 23, 2017 6:29 pm
Благодарил (а): 7 раз
Поблагодарили: 13 раз

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение CheBuraw » Пт ноя 18, 2022 9:29 am

Nail писал(а):
Чт ноя 17, 2022 5:20 pm
а в остальном все выключатели и реле работают в ПУ нормально -ON и OFF, без использования кода в методах - только по статусу в МД.
Сейчас протестил на релюшке в подрозетник. Действительно все работает четко без лишних танцев с бубном :).
Видимо мои управляемые розетки мудрят. Хорошо хоть, описанным ранее костылем, получается их переключать корректно.
Спасибо Вам за быструю обратную связь ;) !
Nail писал(а):
Чт ноя 17, 2022 5:20 pm
Я может что то не понял но у меня только штора ксиоми 12 "косит" и там я проще использую код в методах (ну в место open можно применять on)

Код: Выделить всё

geturl('http://192.168.х.хх/ajax/zigbee2mqtt.html?device=1&command=state&value=open&friendlyname=0x04CF8CDF3C749DEF&gw=Zigbee36BC');
Тут Вы по сути тоже самое делаете, только иным способом - через geturl();. Я такой способ по возможности стараюсь избегать в виду использования абсолютного пути. При использовании упомянутого мною ранее способа:

Код: Выделить всё

include_once(DIR_MODULES . 'zigbee2mqtt/zigbee2mqtt.class.php');
$z2m = new zigbee2mqtt();
$z2m->sendcommand('ZigbeeXXXX/0x00158D0002EE1285/set', '{"state":"ON"}');
путь получается относительный, то есть не принципиален адрес Majordomo. Да и получается мы локально (напрямую) управляем одним компонентом Majordomo из другого. Не подумайте, пожалуйста, что я критикую Ваш вариант, чисто для пояснения моей точки зрения: грубо говоря, в Вашем примере команда как бы выходит за пределы Majordomo, потом возвращается и уже применяется. И если вдруг случайно/специально/в силу_иных_обстоятельств у Вас смениться адрес Majordomo, то Вам потребуется по всем методам (где он упоминался) менять этот адрес.

В любом случае спасибо Вам за обратную связь!

А вообще интересно мнение специалиста разрабатывающего и/или поддерживающего модуль zigbee2mqtt есть ли в планах (и видят ли они целесообразность) сделать возможность сохранения адреса ZigBee устройства в свойства Majordomo?

В geturl(); так же фигурирует адрес устройства и лично мне (в любом случае) было бы удобнее его забирать из свойства. Но вполне вероятно, что только мне :D .
За это сообщение автора CheBuraw поблагодарил:
Nail (Пт ноя 18, 2022 9:47 am)
Рейтинг: 1.18%
Аватара пользователя
Nail
Сообщения: 370
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 172 раза
Поблагодарили: 28 раз

Re: [Модуль] zigbee2mqtt (zigbee2mqtt)

Сообщение Nail » Пт ноя 18, 2022 9:46 am

CheBuraw писал(а):
Пт ноя 18, 2022 9:29 am
грубо говоря, в Вашем примере команда как бы выходит за пределы Majordomo, потом возвращается и уже применяется. И если вдруг случайно/специально/в силу_иных_обстоятельств у Вас смениться адрес Majordomo, то Вам потребуется по всем методам (где он упоминался) менять этот адрес.
Вы правы , было такое роутер раз поменял из-за моей ошибки адрес сервера и пришлось копать весь МД и переделывать IP сервера :) . Спасибо за совет.
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Ответить