1) Вступление, прошивка стика, установка zigbee2mqtt viewtopic.php?f=5&t=6011#p95680
2) Привязка устройств viewtopic.php?f=5&t=6011#p95681
3) Список протестированного оборудования viewtopic.php?f=5&t=6011#p96005
4) Binding viewtopic.php?f=5&t=6011#p96064
Вступление
В настоящее время для работы с zigbee сетями разработано уже довольно много различных решений (deconz, athom hommey, samsung smartthings, philips hue, Smart home Hommyn Zigbee Хаб (HU-20-Z), Mi home и др). Наиболее динамично развивающийся проект создан норжвежцем Коеном Кантером (https://zigbee2mqtt.io). Данный проект отличает внушительное количество поддерживаемого оборудования и большое сообщество неравнодушных людей по всему миру.
Модуль zigbee2mqtt для мажордомо является клиентом mqtt, заточенным для работы с zigbee2mqtt проектом. Развитие модуля не завершено, обновления указаны в конце 1 сообщения.
Пока модуль может работать только с брокером mqtt, например mosquitto. Установка mosquitto на ubuntu-18.04 детально описана тут https://www.8host.com/blog/ustanovka-br ... ntu-18-04/
В перспективе планируется управление шлюзом на esp32 без использования mqtt.
Варианты работы:
1) Самый простой вариант USB стика:
Для работы c zigbee2mqtt нужен прошитый стик и компьютер на линукс (подойдет любой одноплатник типа малины) Также есть варианты запуска z2m на Windows.
Готовый прошитый последней девелоперской прошивкой стик можно заказать по цене 1000 руб + стоимость доставки по РФ (около 200 руб)
Для корректной отправки требуется отправить сообщение в WhatsApp/telegram на номер +79122962262 адрес в следующем формате:
ФИО (без сокращений), телефон, индекс, город, улица, дом, корпус, номер квартиры (офиса)
стик https://ru.aliexpress.com/store/product ... 26435.html
дебаггер https://ru.aliexpress.com/store/product ... 22195.html
шнурок https://ru.aliexpress.com/store/product ... 31081.html
Желательно все заказывать у одного продавца, тогда будет один трек на все товары. Я имел неосторожность заказать у разных продавцов, в итоге шнурок ждал около 3 месяцев без пробивания трека.
Есть возможность прошить стик через ардуино https://github.com/kirovilya/ioBroker.z ... B7-Arduino, но это очень длительный процесс и занимает около 5 часов. К тому-же очень сложно прошивать, не имея кабель-шнурок. От этого варианта прошивки я отказался.
2) Вариант USB стика v2 с усилителем cc2530+2992 https://modkam.ru/?p=1017 в продаже не будет
3) Вариант USB стика v3 с усилителем и новым чипом сс2538+2592 https://modkam.ru/?p=1112
Принимаются заявки на изготовление готового стика v3, цена без учета доставки около 2000. Заявки отправлять через телеграм https://t.me/Dmitrii_Sannikov.
4) Вариант готового контроллера на esp32 и новом чипе с усилителем сс2538+2592 (работает из коробки) viewtopic.php?f=22&t=6700
Пока только опытные образцы для самостоятельной сборки. Чуть позже будут в продаже готовые контроллеры в удобном корпусе.
В настоящее время прошивка поддерживает около 100 видов устройств от 10 производителей. Список поддерживаемых устройств постоянно обновляется. Почти любое из устройств Zigbee или BLE может быть добавлено в прошивку по запросу.
Инструкция и дополнительная информация по работе с шлюзом указаны на сайте https://slsys.github.io/Gateway/README_rus.html
В основе шлюза лежит контроллер ESP32, трансивер сс2538 с усилителем сс2592. Шлюз в корпусе, 3000 руб. Доставка в любой регион РФ или СНГ почтой России или Авито-доставкой. Примерная стоимость доставки почтой РФ 200 руб. и оплачивается дополнительно. https://www.avito.ru/ekaterinburg/tovar ... 1859134075
Инструкция по прошивке стика v1 и v2:
Прошивал по этой инструкции: https://www.zigbee2mqtt.io/getting_star ... c2531.html
Еще инструкция https://github.com/kirovilya/ioBroker.z ... 0%BA%D0%B0
Прошивальщик https://yadi.sk/d/RxIVtu3YTCBDyw
Последние версии прошивок можно взять тут https://github.com/Koenkk/Z-Stack-firmw ... oordinator
Прошитый стик можно обновлять без кабеля и прошивальщика https://github.com/kirovilya/ioBroker.z ... r-Arduino)
Проверим стик:
Код: Выделить всё
pi@raspberry:~ $ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 May 16 19:15 /dev/ttyACM0 # <-- CC2531 on /dev/ttyACM0
Код: Выделить всё
ls -l /dev/serial/by-id
total 0
lrwxrwxrwx. 1 root root 13 Oct 19 19:26 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00 -> ../../ttyACM0
Необходимо было выполнить:
Код: Выделить всё
sudo chmod 666 /dev/ttyACM1
Код: Выделить всё
SUBSYSTEM == "tty", ATTRS {idVendor} == "0451", MODE="0666"
sudo usermod -a -G dialout www-data
Инструкция по установке zigbee2mqtt для linux:
https://www.zigbee2mqtt.io/getting_star ... 2mqtt.html
Если вам нужна поддержка разрабатываемого в данный момент железа, можно установить девелоперскую ветку. Тогда посте установки мастер необходимо выполнить следующий код:
Код: Выделить всё
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
npm install
Код: Выделить всё
sudo git clone --single-branch --branch dev https://github.com/Koenkk/zigbee2mqtt/ /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
npm install
Установка zigbee2mqtt для windows
1) Устанавливаем брокер mqtt, если у вас его еще нет по инструкции http://www.steves-internet-guide.com/in ... to-broker/
Кому лениво устанавливать или держать у себя брокер, а также пользователям windows, у которых нет брокера, при наличии платной подписки на connect (200р.), вы можете использовать адрес http://connect.smartliving.ru в качестве брокера mqtt.
2) Качаем и устанавливаем git
https://git-scm.com/download/win
3) Качаем и устанавливаем node.js для windows
https://nodejs.org/en/download/
Далее процесс идентичен установке под linux https://www.zigbee2mqtt.io/getting_star ... 2mqtt.html
Пока только не понятно, как управлять и перезагружать сервис под виндой.
Более подробная инструкция для WIndows 10 указана в данном сообщении: viewtopic.php?f=5&t=6011&start=220#p103652
Настраиваем конфигурационный файл /opt/zigbee2mqtt/data/configuration.yaml
пример вариантов настроек конфигурационного файла https://www.zigbee2mqtt.io/configuratio ... ation.html
Код: Выделить всё
homeassistant: false
permit_join: true
advanced:
channel: 26
log_level: debug
report: true
mqtt:
base_topic: zigbee2mqtt
# server: 'mqtt://192.168.178.32:1900'
server: 'mqtt://192.168.1.39'
serial:
port: /dev/ttyACM1
Если вы настраиваете систему под windows, порт необходимо указать в следующем формате:
Код: Выделить всё
serial:
port: COM4
Обновление локального zigbee2mqtt до актуальной версии:
Код: Выделить всё
# Stop zigbee2mqtt and go to directory
sudo systemctl stop zigbee2mqtt
cd /opt/zigbee2mqtt
# Backup configuration
cp -R data data-backup
# Update
git checkout HEAD -- npm-shrinkwrap.json
git pull
rm -rf node_modules
npm install
# Restore configuration
cp -R data-backup/* data
rm -rf data-backup
# Start zigbee2mqtt
sudo systemctl start zigbee2mqtt
Чтобы сервис стартовал автоматически, не забудьте после п. 5 (Optional) Running as a daemon with systemctl выполнить
Код: Выделить всё
sudo systemctl enable zigbee2mqtt
Главная задача данного проекта (модуля) - комплексное управление освещением с возможностью управления устройствами (лампами и реле ) с помощью настенных пультов. Работа данной связки (при наличии соответствующих возможностей самого оборудования (икея, филипс) без координатора (режим Binding https://www.zigbee2mqtt.io/information/binding.html ). Поддержка остального оборудования из списка поддерживаемого (ссылка внизу 1 сообщения). Задачи по замещению функций модуля miHome не ставится. Хотя функции выполняются одни и те-же.
Текущий статус модуля: бетта
Реализовано:
1) подписка на канал zigbee2mqtt/#
2) автоматическое создание устройств;
3) автоматическое заполнение метрик устройств;
4) привязка метрик к объектам.
5) просмотр логов zigbee2mqtt;
6) конвертирование привязанных переменных в стандартный для мажордомо формат (вместо 1/0 в zigbee2mqtt используется ON/OFF);
7) управление устройствами;
8) создание карты устройств.
9) Добавлено управление и просмотр режимами сопряжения.
10) Добавлено управление (ON OFF) устройствами с главного окна модуля.
11)Подсвечиваются серым потерянные устройства.
12) Исправлен баг с отсутствием combobox
13) Добавлен индикатор режима сопряжения.
При нажатии на верхнюю кнопку "доступен /недоступен для сопряжения" переключается текущий режим. Управление производится через публикацию zigbee2mqtt/bridge/config/permit_join в mqtt (https://www.zigbee2mqtt.io/information/ ... cture.html). Зеленый цвет - сопряжение разрешено, красный - запрещено.
14) Убрана кнопка и функционал запроса доп. данных устройств из файла базы данных. Весь функционал заменен обменом сообщений через mqtt. Таким образом, сервис zigbee2mqtt может быть установлен на другом сетевом устройстве (отдельной малине, сервере и тд). При нажатии кнопки "Refresh log from mqtt" на вкладке "Service" происходит публикация запроса в топик zigbee2mqtt/bridge/config/devices. Создается отложенная на 10 секунд задача, которая разбирает полученный массив и обновляет данные по устройствам. В виду того, что строка ответа может содержать длиннейшую запись, изменен формат базы данных на LONGTEXT. Чтобы корректно обновились данные, необходимо удалить или модуль или таблицу zigbee2mqtt.
15) Добавлена кнопка исключения устройства (правый крестик). Публикуется Friendy_Name в топик zigbee2mqtt/bridge/config/remove. Также удаляется запись об устройстве в базе данных модуля. Левый крестик только удаляет запись в модуле без исключения устройства.
16) Добавлены кнопки управления устройствами с главной страницы модуля без привязки к объектам. Протестированы лампочки IKEA, Aqara, выключатели QBKG03LM, WXKG03LM. Двухкнопочными выключателями можно управлять с главной страницы модуля обоими реле (появляются две кнопки).
17) Пересортирован лог приложения zigbee2mqtt. Последние сообщения находятся сверху.
18) Добавлен журнал сообщений mqtt с разбором типа сообщений
19) Добавлен просмотр групп (тест).
20) Добавлена привязка устройств к группе (тест)
21) Изменен цикл и сопутствующие методы работы по аналогии с изменениями в модуле mqtt (за последние 4 месяца много чего изменилось). Получился значительный пророст производительности обработки входящих сообщений.
22) Отлажена работа беспроводных пультов (ikea, aqara). Если в сообщении прилетает "action" или "click", то параметры реверсятся. Это дает возможность настраивать каждое из получаемых действий в отдельности. Привязка действие протестирована в режиме вызова метода. Время реакции около 1 сек.
33) Убрана вкладка "Data", чтоб не вводить в заблуждение.
34) Отлажено уведомление об остановке zigbee2mqtt. Возможно еще нужно что-то придумывать, когда сервис установлен на другом сервере. Такую конфигурацию еще не тестировал. Просьба отписаться, кто пробовал такой режим работы.
35) Теперь работает переключение режима логирования z2m (debug, info, warn, error). Переключение на вкладке Settings. После перезагрузки z2m берется настройка из файла конфигурации configuration.yaml
36) Обновлен файл помощи.
37) Автоматическое обновление лога zigbee2mqtt на вкладке "Zigbee2mqtt log". Теперь нет нужды постоянно обновлять страницу.
38) Добавлена визуализация карты в формате graphviz.
39) Добавлена более удобная визуализация на базе bootstrap 4
40) При нажатии на фотографию, переключается режим работы
41) Цвет рамки меняется в зависимости от состояния устройства.
42) Добавлен режим просмотра журнала изменений по каждому устройству
43) Добавлена возможность отвязки и привязки кнопок к реле настенных выключателей aqara
44) Добавлен фильтр устройств по помещениям и типам устройств.
45) Оптимизированы шаблоны отображения устройств. В основном окне модуля показываются значения привязанных свойств и методов, которые они вызывают. При нажатии на картинку меняется режим работы устройства. Включенный режим по возможности отображается выделенным цветом.
46) Вынесены настройки типа отображения (старый табличный и новый вид)
47) Исправлены логотипы для групп
48) Метрика color с координатами осей XY конвертирует в метрику rgbcolor. Эту метрику можно привязывать к "Простому устройству" RGB, свойству color. Изменение цвета и изменение свойства работают в обоих направлениях.
49) Добавлена кнопка получения списка привязанных групп, удаление устройства из всех групп (тестирование)
50) Добавлено меню для отвязки кнопок от реле для выключателей aqara с нулем.
51) Добавлена фильтрация по типам записей (группы и устройства)
52) Добавлена кнопка запроса состояние устройства (на вкладке с метриками напротив frindly_name устройства кнопка обновить)
53) Для корректного отслеживания реакций на выключатели рекомендуется включить в configuration.yaml:
Код: Выделить всё
advanced:
report: true
55) Добавлена информация о биндинге (в разделе Help), также в 5 сообщении данной темы собирается список протестированных в режиме Bind устройств viewtopic.php?f=5&t=6011&p=96064#p96064
56) Добавлена возможность изменения цвета ламп и RGB димеров. Протестированы лампа LED1624G9 и диммер GL-C-008. Обновлены метрики. Добавлена возможность изменения цвета через меню устройства (см. скриншот)
57) Добавлена возможность цветовой температуры ламп и RGB димеров. Протестирована лампа aqara.
58) Добавлен быстрый переход к справке по устройству из списка проекта zigbee2mqtt.io https://www.zigbee2mqtt.io/information/ ... vices.html (клик по картинке с логотипом устройства)
59) Исправил текст левых/правых кнопок при привязке/отвязке.
60) Исправлены некоторые языковые подписи, структура страницы с настройками (nick7zmail)
61) Убрана возможность отправки сообщений в топики с параметрами Qos и Retain. Последний запоминает на сервере все последние топики и начинает их отрабатывать по кругу. Необходимость настройки QoS в рамках поставленных задач пока также не обнаружена.
62) Добавлены определение и метрики для управления устройством Danalock
63) Исправлены метрики для управления выключателями LIvolo
64) Добавлена возможность чистки лога устройства и общего лога в базе данных сервера.
65) Рефакторинг главного обработчика событий.
66) Убраны лишние сообщения в логе. Теперь в логе хранятся данные только в json, также в лог теперь пишутся исходные данные для формирования карты в обоих форматах.
67) Исправлены проблемы, когда не рисовалась карта в формате VIS (при наличии двух и более координаторов - глюк).
68) Масштабирование карты в формате graphviz (nick7zmail)
Что планируется:
1) Работа с группами https://www.zigbee2mqtt.io/information/groups.html
2) Заведение отсутствующих метрик, чтобы можно было привязать не описанные события)
4) Отладить работу, когда мажордомо и zigbee2mqtt находятся на разных устройствах. Запросил информацию для отвязки от конфигов https://github.com/Koenkk/zigbee2mqtt/issues/1236
5) Настройка отвязки выключателей акара от реле
6) Биндинг устройств (управление без коодинатора)
Ссылка на интересный тематический канал в телеграм: https://t.me/zigbeer
Часто задаваемые вопросы по zigbee https://myzigbee.ru/
Ссылка на репозиторий модуля zigbee2mqtt: http://github.com/directman66/majordomo-zigbee2mqtt/
Топики для управления устройствами через mqtt https://www.zigbee2mqtt.io/integration/ ... stant.html
Топики для управления шлюзом через mqtt https://www.zigbee2mqtt.io/information/ ... tbridgelog
Драйвера для smartRF04EB начинаются на swrc* есть в репозитории Кирова Ильи https://github.com/kirovilya/files
Огромная благодарность Илье @goofyk за помощь в освоении материала )
Последние версии прошивок можно взять тут
https://github.com/Koenkk/Z-Stack-firmw ... CC2531/bin
https://github.com/Koenkk/Z-Stack-firmw ... ity/CC2531
Список поддерживаемого оборудования:
https://www.zigbee2mqtt.io/information/ ... vices.html
Обсуждение умных ламп http://majordomo.smartliving.ru/forum/v ... 733#p95733
Разработка данного модуля осуществляется на общественных началах и требует значительных временных затрат. Поддержать разработку данного модуля можно через коннект https://connect.smartliving.ru/tasks/355.html,
покупкой прошитого стика, переводом Cбербанк-Онлайн по номеру телефона +79122962262, банковским переводом на карту 5336690289960694, либо через Яндекс кошелек: 41001189619405. Покупка прошитого стика сс2531 у автора модуля также является элементом стимулирования развития проекта. .
Скриншот: