Немного о том, что такое проект ZESP. Примерно с год назад появилась идея состряпать простенький шлюз для Zigbee сети. В качестве комплектующих были выбраны ESP32 и модуль на базе CC2530.
Так как я не очень люблю покупать готовые устройства, то при изготовлении собственных, в процессе отладки и при написании прошивок, необходима была простая железка со всем необходимым софтом на борту. Если кто-то занимался подобным, наверняка знают какой это геморрой - добавить новое устройство в ZigBee2MQTT или ioBroker. А если еще и меняешь что-то в конечном устройстве, то времени уходит еще больше на правку конвертеров и тому подобного.
Собственно так и появился Zigbee&ESP = ZESP. Основные моменты были отработаны на нем, а потом, по случаю, мне попался шлюз Xiaomi, у которого на борту оказался полноценный линукс и модуль зигби JN5169 на борту.
Так как в процессе работы с ESP, мы уже подключали к ней зигби от NXP, то мы решили просто портировать все наши наработки на него.
Основная концепция при добавлении новых устройств - это простота и возможность собственноручно подправить параметры представления конечных устройств в системе.
Для этого, первоначально используются шаблоны, а уже на их основе можно кастомизировать свое устройство как душе угодно, не переживая, что с очередным апдейтом все ваши кастомные устройства пропадут, как это происходит на Z2M и всех производных системах на его движке.
Итак, приступим.
Первое, что необходимо сделать - это получить права root. Для этого читаем материалы тут или тут.
Далее, поднимаем SSH и подключаемся к хабу:
cd /opt
wget http://82.146.46.112/fw/mihub.tar.gz
tar -xzvf mihub.tar.gz -C /
ln -s /opt/node/bin/npm /usr/bin/npm
ln -s /opt/node/bin/node /usr/bin/node
Следующая команда пропишет в модуль зигби нашу прошивку. Переживать на эту тему не стоит, так как откатиться можно в любой момент.
cd /opt/app/util
./flashNew.sh
cd /opt/app
./start.sh
После запуска, становится доступен веб интерфейс по адресу шлюза.
Для интеграции с системами умного дома, можно настроить MQTT или общаться с хабом через Web Socket.
Софт пока находится в процессе переноса и обкатки, поэтому если есть желание повлиять на функционал, или подкинуть интересных идей - велком в телеграм чат проекта ZESP, чтобы не засорять основной чат ZigBee обсуждением отдельного проекта.