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

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

Модератор: immortal

SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

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

Сообщение SrFatCat » Пн мар 11, 2019 11:30 pm

nightwind писал(а):
Пн мар 11, 2019 8:17 pm
@directman66 как управлять выключателем двухкнопочным в разрыве фазы?

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

zigbee2mqtt/0x00158d00029b1a2a/set
'{"state_left":"OFF"}
и нифига!
А что за выключатель?
Я в XIAOMI вижу совсем другой playload

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

{
  "operation_mode": {
    "button": "single"|"left"|"right",
    "state": "VALUE"
  }
}
В свою очередь - установил обновление модуля, к своему удивлению увидел, что на первой странице "Закрыт для сопряжения", хотя
в configuration.yaml строка permit_join: true явно присутствует.
На вкладке Edit device устройств SELECTVENDOR: SELECTTYPE: так и остались без возможности выбора.
Подключил второй ONOFF к сети, используя первый ONOFF как Роутер (к свистку (координатору) не подносил, он более чем в 10м). В raw запроса топологии вроде все четко:

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

 '[{"ieeeAddr":"0x00158d0002e277eb","nwkAddr":18497,"lqi":170,"parent":"0x00124b001936dbe0","status":"online"},{"ieeeAddr":"0x00158d0002ec3034","nwkAddr":24305,"lqi":1,"parent":"0x00124b001936dbe0","status":"online"},{"ieeeAddr":"0x01124b001bae74d7","nwkAddr":34610,"lqi":22,"parent":"0x00124b001936dbe0","status":"offline"},{"ieeeAddr":"0x01124b001bae7031","nwkAddr":12373,"lqi":22,"parent":"0x00124b001936dbe0","status":"online"},{"ieeeAddr":"0x00124b001936dbe0","nwkAddr":0,"lqi":1,"parent":"0x01124b001bae74d7","status":"online"},{"ieeeAddr":"0x01124b001bae7031","nwkAddr":12373,"lqi":176,"parent":"0x01124b001bae74d7","status":"online"},{"ieeeAddr":"0x00124b001936dbe0","nwkAddr":0,"lqi":1,"parent":"0x01124b001bae7031","status":"online"},{"ieeeAddr":"0x01124b001bae74d7","nwkAddr":34610,"lqi":181,"parent":"0x01124b001bae7031","status":"offline"}]'
Вновь подключенный ONOFF видится. Управляется через MQTT. В модуле появился. В карте картина такая:
Opera Снимок_2018-07-23_214804_diagnostika-plus.ru.png
Opera Снимок_2018-07-23_214804_diagnostika-plus.ru.png (60.43 КБ) 3530 просмотров
Так разве верно?
directman66
Сообщения: 2800
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 695 раз
Контактная информация:

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

Сообщение directman66 » Вт мар 12, 2019 12:09 pm

nightwind писал(а):
Пн мар 11, 2019 8:17 pm
@directman66 как управлять выключателем двухкнопочным в разрыве фазы?

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

zigbee2mqtt/0x00158d00029b1a2a/set
'{"state_left":"OFF"}
и нифига!
У меня управляется. Нужно выбрать нужный профиль оборудования, тогда привяжутся нужные топики управления.

У вас есть выпадающее поле выбора с картинками? Можете выбрать вендора и модель оборудования ?

В текущей реализации определение модели ведется через файл базы данных. Получил от Koenk уточнение, как это сделать через mqtt. Этот вариант более универсальный и можно использовать z2m, установленный на удаленной машине. Т.о. можно разнеси мажордом и расбпери как вариант.
Последний раз редактировалось directman66 Вт мар 12, 2019 12:18 pm, всего редактировалось 1 раз.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
directman66
Сообщения: 2800
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 695 раз
Контактная информация:

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

Сообщение directman66 » Вт мар 12, 2019 12:13 pm

SrFatCat писал(а):
Пн мар 11, 2019 11:30 pm
@directman66 как управлять выключателем двухкнопочным в разрыве фазы?

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

zigbee2mqtt/0x00158d00029b1a2a/set
'{"state_left":"OFF"}
и нифига!
есть несколько моделей выключателей, но управляются они одинаково.

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

{
  "operation_mode": {
    "button": "single"|"left"|"right",
    "state": "VALUE"
  }
}
SrFatCat писал(а):
Пн мар 11, 2019 11:30 pm
В свою очередь - установил обновление модуля, к своему удивлению увидел, что на первой странице "Закрыт для сопряжения", хотя
в configuration.yaml строка permit_join: true явно присутствует.
Есть вероятность, что статус передается при изменении через mqtt. Как вариант - устанавливать режим работы в закрытый раз в час.

SrFatCat писал(а):
Пн мар 11, 2019 11:30 pm
На вкладке Edit device устройств SELECTVENDOR: SELECTTYPE: так и остались без возможности выбора.
Это мне не нравится. Давайте попробуем новый метод, после чего будем смотреть, что не так с комбобоксами.
SrFatCat писал(а):
Пн мар 11, 2019 11:30 pm
Подключил второй ONOFF к сети, используя первый ONOFF как Роутер (к свистку (координатору) не подносил, он более чем в 10м). В raw запроса топологии вроде все четко:

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

 '[{"ieeeAddr":"0x00158d0002e277eb","nwkAddr":18497,"lqi":170,"parent":"0x00124b001936dbe0","status":"online"},{"ieeeAddr":"0x00158d0002ec3034","nwkAddr":24305,"lqi":1,"parent":"0x00124b001936dbe0","status":"online"},{"ieeeAddr":"0x01124b001bae74d7","nwkAddr":34610,"lqi":22,"parent":"0x00124b001936dbe0","status":"offline"},{"ieeeAddr":"0x01124b001bae7031","nwkAddr":12373,"lqi":22,"parent":"0x00124b001936dbe0","status":"online"},{"ieeeAddr":"0x00124b001936dbe0","nwkAddr":0,"lqi":1,"parent":"0x01124b001bae74d7","status":"online"},{"ieeeAddr":"0x01124b001bae7031","nwkAddr":12373,"lqi":176,"parent":"0x01124b001bae74d7","status":"online"},{"ieeeAddr":"0x00124b001936dbe0","nwkAddr":0,"lqi":1,"parent":"0x01124b001bae7031","status":"online"},{"ieeeAddr":"0x01124b001bae74d7","nwkAddr":34610,"lqi":181,"parent":"0x01124b001bae7031","status":"offline"}]'
Вновь подключенный ONOFF видится. Управляется через MQTT. В модуле появился. В карте картина такая:
Opera Снимок_2018-07-23_214804_diagnostika-plus.ru.png

Так разве верно?
нет, видимо придется где-то брать эти реле.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

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

Сообщение nightwind » Вт мар 12, 2019 12:44 pm

directman66 писал(а):
Вт мар 12, 2019 12:13 pm
есть несколько моделей выключателей, но управляются они одинаково.

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

{
  "operation_mode": {
    "button": "single"|"left"|"right",
    "state": "VALUE"
  }
}
разобрался) этот код, что ты привел - это отвязка или привязка клавиши выключателя к реле. либо сразу переключает, либо отправляет событие и реле не трогает.
вкл/выкл делается так
для левого реле

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

{"state":"ON"} 
писать в топик zigbee2mqtt/[DEVICE_ID]/left/set
для правого сооnветственно right
Последний раз редактировалось nightwind Вт мар 12, 2019 12:47 pm, всего редактировалось 1 раз.
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

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

Сообщение nightwind » Вт мар 12, 2019 12:46 pm

Модуль пощупать не удалось, что то в нем ничего не появилось) но у меня и так все по mqtt управляется, дублировать смысла мало
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

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

Сообщение SrFatCat » Вт мар 12, 2019 3:22 pm

nightwind писал(а):
Вт мар 12, 2019 12:46 pm
у меня и так все по mqtt управляется, дублировать смысла мало
Законченный модуль очень нужен. Смысла в инкапсуляции всех решений - более, чем достаточно. Сейчас, чтобы было все по уму приходится на каждый девайс создавать свой класс, со своими методами, еще и крутить скрипт проверки выполнения состояний. Вы наверное еще не сталкивались с тем, что Zigbee устройства работающие на грани дальности координатора чудят не по детски?
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

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

Сообщение SrFatCat » Вт мар 12, 2019 3:50 pm

directman66 писал(а):
Вт мар 12, 2019 12:13 pm
Есть вероятность, что статус передается при изменении через mqtt. Как вариант - устанавливать режим работы в закрытый раз в час.
Ну кривенько как-то. Меня сейчас больше устраивает закрытый.
directman66 писал(а):
Вт мар 12, 2019 12:13 pm
SrFatCat писал(а):
Пн мар 11, 2019 11:30 pm
На вкладке Edit device устройств SELECTVENDOR: SELECTTYPE: так и остались без возможности выбора.
Это мне не нравится. Давайте попробуем новый метод, после чего будем смотреть, что не так с комбобоксами.
Не понял о каком новом методе идет речь?
directman66 писал(а):
Вт мар 12, 2019 12:13 pm
нет, видимо придется где-то брать эти реле.
На али от $10 и попадалась акция в каком-то бангуде или типа того $5.9, правда с платной доставкой.
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

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

Сообщение nightwind » Вт мар 12, 2019 4:03 pm

SrFatCat писал(а):
Вт мар 12, 2019 3:22 pm
nightwind писал(а):
Вт мар 12, 2019 12:46 pm
у меня и так все по mqtt управляется, дублировать смысла мало
Законченный модуль очень нужен. Смысла в инкапсуляции всех решений - более, чем достаточно. Сейчас, чтобы было все по уму приходится на каждый девайс создавать свой класс, со своими методами, еще и крутить скрипт проверки выполнения состояний. Вы наверное еще не сталкивались с тем, что Zigbee устройства работающие на грани дальности координатора чудят не по детски?
А как по другому? конечный автомат - наше все. я половину для себе попереписывал простыми классами в пхп файлах. это гораздо проще и приятнее, чем тыкаться мышкой вебморде)

А что там случается с зигби устройствами? я их набрал только на пощупать, в квартире дальности хватает. пишут - типа подойти к координатору для спарки) - у меня без проблем спарилось через 2 стены. акара + 2531
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

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

Сообщение SrFatCat » Вт мар 12, 2019 4:40 pm

nightwind писал(а):
Вт мар 12, 2019 4:03 pm
А как по другому? конечный автомат - наше все. я половину для себе попереписывал простыми классами в пхп файлах. это гораздо проще и приятнее, чем тыкаться мышкой вебморде)
Путь красивый, но только если достаточно умений и знаний. Кроме того и он может привести к отказу от MD вообще :D и попытке написания своего "простого и логичного", на который может не хватить жизни :lol: . Путь совместных усилий по созданию универсальных, пусть и не идеальных модулей куда более кошерен и соответствует дао MD. А так на муське видел попытку написания сервера УД на 1С, просто потому, что человек ее в совершенстве знает и ему так удобно.
nightwind писал(а):
Вт мар 12, 2019 4:03 pm
А что там случается с зигби устройствами? я их набрал только на пощупать, в квартире дальности хватает. пишут - типа подойти к координатору для спарки) - у меня без проблем спарилось через 2 стены. акара + 2531
Первый ONOFF у меня прописался только со второго раза прям лежа на 2531, второй за две стены лежа на первой, как на роутере. А один из акара датчиков движения вообще толком за 5 попыток не прописался и пришлось править руками .db-шник.
Теперь первый висит за кап. стеной в 7м от координатора. В зависимости от погоды на марсе и "интерыеренции сигналов с WiFi" (C) на посылаемые команды реагирует ошибками в логе zigbee2mqtt, про которые Коен ничего внятного не ответил. Ситуацию приходится обрабатывать программно.
directman66
Сообщения: 2800
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 695 раз
Контактная информация:

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

Сообщение directman66 » Ср мар 13, 2019 8:22 am

Обновил метод запроса для идентификации устройств.

Как ранее работало добавление устройств в модуль:
1) По mqtt приходил friendly_name и записывалась запись в zigbee2mqtt_devices, если таковой еще нет.
2) При добавлении новой записи считывался файл database.db, в котром по friendly_name заполнялись данные с IEEE адресом устройства и идентификатором модели устройства.
3) По модели идентификатора нужно было соотнести с моделью устройства через справочники (выбрать устройство из списка, если само не добавилось).

Этот метод идентифицирует устройства только на локальном сервере. Возможность парсинга файла базы данных осталась, вызывается из раздела service при нажатии кнопки Refresh database.db

Как теперь происходит добавление устройств в модуль:
1) По mqtt приходит friendly_name и записывалась запись в zigbee2mqtt_devices, если таковой еще нет.
2) При добавлении новой записи отправляется запрос сервису zigbee2mqtt об уточнении доп. данных по устройствам (посредством mqtt
публикуется в топик "zigbee2mqtt/bridge/config/devices" пустое сообщение, через 10 секунд происходит считывание ответного сообщения и парсинг ответа с заполнением доп. параметров в таблице zigbee2mqtt_devices.

Данный метод не привязан физически к месту установки zigbee2mqtt и может работать с удаленным сервером.

С картинками и заполнением остальных параметров устройств пока разбираюсь.

Еще раз, этот модуль от соседнего модуля mqtt отличается готовым набором метрик, который выбирается в зависимости от выбранного типа устройства. Базу устройств приходится адаптировать на живую, так как структура и набор данных несколько отличается от используемых в HomeAssistant. HomeAssistant является базовой системой управления, под которую интегрируется zigbee2mqtt.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Ответить