Модуль для интеграции устройств zigbee в систему MAJORDOMO c использованием zigbee2mqtt
Давно известно, что с zigbee устройствами можно работать не только через шлюз MiHome. Имеется множество других решений, через которые можно получать данные и управлять устройствами (deconz, athom hommey, samsung smartthings, philips hue, Smart home Hommyn Zigbee Хаб (HU-20-Z) и др.). По моему мнению, самым интересным и бюджетным вариантом является проект zigbee2mqtt
Для работы zigbee2mqtt понадобится прошитый usb-стик и компьютер (windows, linux, в том числе микрокомпьютеры на arm-процессорах)
Желательно все позиции заказывать у одного продавца, тогда мы молучим один трек на все товары. Я имел неосторожность заказать у разных продавцов, в итоге кабель ожидал около 3 месяцев.
Прошивка USB-стика cc2531 через arduino.
Прошивка стика через ардуино - очень долгий процесс и занимает около 5 часов. К тому-же очень сложно прошивать, не имея кабель-шнурок. От этого варианта прошивки я отказался.
Также usb-стик можно прошить у коллег в вашем городе, например в Екатеринбурге я могу прошить стик за символическую плату в размере 500 руб.
Инструкция по перепрошивке USB-стика cc2531 через отладчик:
Понадобится драйвер для отладчика
Прошивку следует осуществлять по этой инструкции.
Альтернативная инструкция
Ссылка на прошивальщик
Последние версии прошивок можно взять тут
Прошитый usb-стик можно заказать тут.
Инструкция по установке zigbee2mqtt для linux:
Если вам нужна поддержка разрабатываемого в данный момент железа, можно установить девелоперскую ветку. Тогда вместо
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, если у вас его еще нет по инструкции
Также в качестве mqtt брокера, при наличии платной подписки на connect-pac (200р.), вы можете использовать адрес http://connect.smartliving.ru в качестве брокера mqtt. Логик и пароль необходимо использовать реквизиты входа сайта http://connect.smartliving.ru
2) Качаем и устанавливаем git
3) Качаем и устанавливаем node.js для windows
Далее процесс идентичен установке под linux.
Настраиваем конфигурационного файла
Конфигурационный файл обычно расположен по указанному пути /opt/zigbee2mqtt/data/configuration.yaml
Пример вариантов настроек конфигурационного файла
homeassistant: false
permit_join: true
advanced:
channel: 26
log_level: debug
mqtt:
base_topic: zigbee2mqtt
# server: 'mqtt://192.168.178.32:1900'
server: 'mqtt://192.168.1.39'
serial:
port: /dev/ttyACM1
26 канал выбран для livolo выключателя (работают только на 26 канале https://github.com/Koenkk/zigbee2mqtt/issues/592). При отсутствии ливоло выключателей, можно удалить эту строку.
Если вы настраиваете систему под windows, порт необходимо указать в следующем формате:
serial:
port: COM4
Запускаем командой sudo systemctl start zigbee2mqtt
Обновление локального 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
(сервис будет запускаться автоматически при старте системы)
Список поддерживаемого оборудования.
Текущий статус модуля: бетта
Реализовано:
1) подписка на канал zigbee2mqtt/#
2) автоматическое создание устройств;
3) автоматическое заполнение метрик устройств;
4) привязка метрик к объектам.
5) просмотр логов zigbee2mqtt;
6) конвертирование привязанных переменных в стандартный для мажордомо формат (вместо 1/0 в zigbee2mqtt используется ON/OFF);
7) управление устройствами;
8) создание карты устройств.
9) Добавлено управление и просмотр режимами сопряжения.
10) Добавлено управление (ON OFF) устройствами с главного окна модуля.
11)Подсвечиваются серым потерянные устройства.
Что планируется:
1) Работа с группами https://www.zigbee2mqtt.io/information/groups.html
2) Заведение отсутствующих метрик, чтобы можно было привязать не описанные события)
3) Отладить работу. Поступают противоречивые данные, у кого-то не отображаются выпадающие списки с картинками и тд.
4) Отладить работу, когда мажордомо и zigbee2mqtt находятся на разных устройствах. Запросил информацию для отвязки от конфигов
5) Настройка прямого управления устройствами
6) Разработка шлюза на базе платы сс2530 и микрокомпьютера raspberry pi nano в едином корпусе.
Ссылки:
Ссылка на интересный тематический канал в телеграм: https://t.me/zigbeer
Ссылка на репозиторий модуля zigbee2mqtt:
Топики для управления устройствами через mqtt
Топики для управления шлюзом через mqtt
Драйвера для smartRF04EB начинаются на swrc* есть в репозитории Кирова Ильи
Огромная благодарность Илье @goofyk за помощь в освоении материала )
Последние версии прошивок можно взять тут
Обсуждение умных ламп