Статья

Добавляем Zigbee датчику Xiaomi LYWSD03MMC

Сегодня на хабре вышла статья по добавлению Bluetooth датчику температуры/влажности от Xiaomi фичей Zigbee версии. И да, паять, менять модуль и ковыряться в маленьком устройстве не надо. Я распишу более простым языком то, что у автора расписано более завуалированно и не на русском языке. Сразу предупреждаю, все что далее будет описано вы делаете на свой страх и риск, в случае если что то пойдет не так, или вы захотите откатиться на стандартную прошивку - надо будет паять, имейте это в виду. Итак, погнали!

Нам потребуется:

  1. Сам датчик Xiaomi LYWSD03MMC
  2. Компьютер с Bluetooth модулем

Для начала датчик необходимо прошить на кастомную прошивку, что бы появилась возможность полноценного апгрейда. Качаем файл тут и открываем в браузере Chrome или Firefox (в других могут быть проблемы) эту страничку. С нее можно подключиться к датчику и обновить ПО. Жмем на кнопку "Connect":

У вас появится окно с поиском устройств, среди них надо найти датчик с именем LYWSD03MMC. После выбора датчика жмем на кнопку подключить. Если датчиков у вас несколько, советую остальные отключить на время этой процедуры, чтобы избежать проблем. При успешном подключении на экране датчика загорится значок Bluetooth а на странице в браузере будет написано Connected. После этого жмем на кнопку Do Activation:

Это отключит датчик от вашей учетной записи Xiaomi и обновит его секретный ключ. Следующим шагом выбираем в разделе Select Firmware файл с кастом прошивкой, и после нажимаем на кнопку Start Flashing:

Пойдут недолгие секунды ожидания с процентами загрузки прошивки. В результате в логе ниже должна появиться следующая строчка:

Ждем пару минут, перевтыкаем батарейку в датчик и возвращаемся к ранее открытой странице в браузере. Повторяем поиск устройства, и ищем свой обновившийся датчик. После успешного коннекта будет немного обновленный список параметров, ничего в нем не меняем. Качаем прошивку с Github автора, выбрав файл с именем z03mmc.bin. Выбираем его как делали раньше и жмем кнопку Start Flashing:

Теперь осталось запастись терпением, процесс будет идти примерно раза в два дольше, чем в прошлый раз из за большей длины файла. После прошивки у нас будет полноценный Zigbee датчик, который уже сейчас можно добавить в умный дом используя Zigbee2mqtt свежей сборки. Датчик после переподключения батарейки будет в режиме пэйринга. Я сейчас делаю шаблон для работы датчика в Spruthub и после его проверки дополню статью.

Какие у данного решения могут быть минусы? Ну, как я и сказал выше, вернуть датчик на стандартную прошивку можно только путем его разбора и подпайки проводков в нужные контактные точки. Плюс не совсем понятно, как покажет себя батарейка в будущем, но учитывая, что это Zigbee - скорее всего не хуже чем было до прошивки. Плюсов у этого решения гораздо больше, нет больше мороки с секретными ключами и лишним Bluetooth хабом, чаще отдаются данные по температуре и влажности, ну и конечно же дешевизна данного решения. 


Уже пользуюсь. Лайк, лайк, лайк
Шаблон уже в сх?
после обновления хаба станет доступен
А когда обновление? версия шаблонов сейчас 2071
Поясните пожалуйста, как это вообще стало возможным? Беглый поиск по Гуглу не дал ответа, мб есть какие-то статьи почитать на досуге, не знал про их потенциальную заменяемость. Или это потенциал который заложен в устройстве, но не был активирован?
В начале стати есть ссылка на Habr. Грубо говоря, чип изначально поддерживал Zigbee.
ну на самом деле у того же Silicon Labs чип поддерживает три протокола: ZigBee. Bluetooth и Thread. То есть в зависимости от прошивки - выбирается протокол. Так что ничего удивительного, так как многие производители анонсировали OTA обновление для своих устройств при необходимости перехода на Thread с того же Bluetooth или ZigBee.
Интересно сколько таких устройств с потенциалом в зигби)
Понял, спасибо большое за статью и пояснение
Неожиданно!!!
Респект) надеюсь на стабильную работу в сх)
На странице get config много параметров, можно ли их менять? Например поставить галочку часы. С какого проект это взято?
Все данные и исходники есть в статье. Параметры меняются для кастомной Bluetooth прошивки.
Статус поддержки: не поддерживается. версия zigbee2mqtt 1.33.1-1
Через внешний конвертор работает в 1.33.1-1
Конвертор: https://github.com/devbis/z03mmc/blob/master/converters/lywsd03mmc.js
Руководство: https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html
Всё сделал как в инструкцие выше, теперь приложение MiHome вообще не видит датчик)
Изначально целью было сделать так, что алиса с зигби видела эти датчики, но и с этим чёт не получилось. Алиса не может найти(
Как вообще понять, появился зигби или нет?
так написано что работает в zigbee2mqtt, алиса еще не поддерживает наверное, да и наврятли будет
Яндекс хаб видит, в целом всё получилось. Со 2м конечно пришлось повозиться. раз 7 запускал поиск через хаб.
У меня датчик добавился в Smart Home от Tuya)))
Прошил к SLS Zigbee шлюзу приконектился сразу а экран не показывает


Прошивал разными флешами и прошивками у 3 экраны не показывают но работает зигби
Чуток разобрался, перепрошить через юсб
Прошил 3 датчика из 8 имеющихся у меня. До этого на них стояла кастомная прошивка PVVX. Каждый из трёх вёл себя по-разному - к одному даже пришлось подпаивать провода, но это неважно.
А проблема оказалась вот, в чём - и это проявилось у всех троих моих "зигбишничков". На экране датчик показывает одну температуру и влажность, а в Home Assistant отображается другая. Да еще и с пометкой "Обновлено 38 минуту назад". Как вам такая скорость обновления, Илон Маск? Захожу в Zigbee2MQTT, открываю настройки одного из датчиков, иду в раздел "Отчеты" и вижу, что и для температуры, и для влажности выставлены следующие параметры:
Мин.интервал отчетов: 10
Макс.интервал отчетов: 3600
Мин.интервал отчетов при изменении: 0
Любая попытка изменить и сохранить эти параметры вызывает ошибку.
В-общем, я в растерянности.
На эти датчики у меня завязана система управления отоплением дома, но если данные будут обновляться через полчаса с лишним, то я либо замерзну, либо запарюсь.
У меня в спрутхабе при изменении температуры - данные сразу прилетают. Проверял просто нагревом датчика рукой.
Разве шаблон уже есть? У меня устройств найдено, но опрос не пройден почему то
Опять танцы с бубнами )))
Добрый день. Подскажите пожалуйста что не так:
16:52:47: Connecting to: LYWSD03MMC
16:52:57: Hardware Revision String: B1.5
16:52:57: Software Revision String: V4.4
16:52:57: Firmware Revision String: github.com/pvvx
16:52:57: Detected custom Firmware
16:52:57: Hardware Version: LYWSD03MMC B1.5, Software Version: 4.4, Sensor: SHTC3 (SHTV3)
16:52:57: Custom config HEX string: 55051000002804a931318ab4
16:56:34: Start DFU
16:56:40: Update error: NotSupportedError: GATT operation failed for unknown reason.
16:56:40: Disconnected.
То же самое, промежуточная установилась, а зигбишная не хочет, hw тоже 1,5. Ну хоть я не один, а то думал у меня руки кривые.
А у вас датчики новые?
Да, прям только купил и сразу зашил. Есть ещё старый, но его пока не рискнул трогать.
Та же проблема. Старый прошился, новый не хочет.
UPD: Нашёл вот такую страничку https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html там другой вебфлешер, с ним вроде прокатило. Проверить не могу, СХ2 ещё не приехал, а СЕ у меня в другой локации.
Да, этот смог прошить, тоже его вчера увидел., только один новый, который из коробки был, остались два на которые промежуточную накатить успел, их не может. Думаю посмотреть есть ли способ откатиться и прошить этим прошивальщиком или программатор.
Тут автор вроде бы поработал над ошибками, выложил новый релиз. Одно только непонятно - как теперь датчики обновить новой прошивкой. Разбирать и паять провода, чтобы прошить BLE, а потом новую версию ZB как-то не хочется. Вроде бы возможно обновление через OTA, но как, где и чего настраивать, никто не говорит.
Постараюсь завтра попробовать обновить и описать.
Разобрался! И успел даже инструкцию написать: https://github.com/devbis/z03mmc/issues/15#issuecomment-1774212681
Огонь, только у меня спрутхаб, а там чуть сложнее будет)
Ещё не пробовали обновленную прошивку залить через СХ?
Я верно понял, что будет другая инструкция? Сделал по инструкции выше. Дисплей зависает.
Получилось у вас обновление через СХ залить?
Можно что-то с датчиком LCZ030 подобное сделать или через HA обновить? Проблема редко шлёт данные и по освещению часто зависает на 50 lux
У автора вышло обновление. обещает фикс по расходу батарейки. Кто-то пробовал новой прошивкой шить?
Только что прошил последнюю версию 1.0.2, работать, работает, но что по расходу пока не известно.
У меня датчик прошился нормально, но после того, как вытащил и поставил батарейку экран не показывает, и температура не меняется, показывает-45°. В
В СХ я так понял пока шаблоне нет?
Александр, ну это просто 🔥🔥🔥!) Всегда хотелось чтобы датчик влажности имел дисплей) а тут такой подарочек :)


Добрый день. Перепрошил датчик. В НА он увиделся вот в таком виде.
НА его видит,но не распознает и данные не считывает
Что делать?
Сегодня прилетело обновление НА. Не знаю, связано ли с обновлением, но датчик заработал. Перешил еще один. Все ок. Спасибо


Прошил по инструкции и подключил к Fibaro HC3. Все отлично работает.
После такого мода он к любой зигби системе подключается? В акара-хом залетит?
отваливается при прошивке

01:06:34: Custom config HEX string: 55056000002804a97c31803c000000
01:06:38: Load firmware file 'https://raw.githubusercontent.com/pvvx/ZigbeeTLc/master/bin/Z03MMC_v0108.bin'...
01:06:38: File: https://raw.githubusercontent.com/pvvx/ZigbeeTLc/master/bin/Z03MMC_v0108.bin
01:06:38: File size: 126884 bytes
01:06:38: Count: 7931
01:06:43: Start DFU
01:06:55: Update error: NotSupportedError: GATT operation failed for unknown reason.
01:06:55: Disconnected.
У меня висит уже пол часа на Activating now, please wait... и ничего не происходит. Кто подскажет почему так?
Пытаюсь прошить в Файрфоксе под Линукс минт - не видит датчика. При этом из самой операционки датчик виден, можно его приконнектить. В чем может быть дело? Датчик новый, никуда не цеплялся, только получил из Китая.
Спасибо большое!! перепрошилось без проблем. Залетел в СХ под зигбии контролер без проблем. Апдей данных с датчика почти моментальный.
По батареи ... посмотрим)


Не получается прошить на Zigbee после промежуточной версии.
Отправляет 7 блок и разрывается соединение.
Пробовал и этим вебфлешером https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html

Он показывает вариант прошивки Zigbee Firmware: Z03MMC_v0112.bin

Но все дальнейшие шаги заканчиваются на 7 пакете при передаче.

Еще один датчик попробовал прошить, всё так же на 7 пакете разрывается связь.
После первой прошивки ждал несколько минут - датчик как бы зависает, не меняет показания.
Прошил все датчики тут
https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html
Если зависал на 7 пакете, то прошивал стандартной прошивкой из предложенных вариантов прошивальщика, а потом уже Zigbee.
Не с первого раза подключается к блютус, не сразу стартует прошивать, но с нескольких попыток все пошло.
Подключать к Спрутхабу нужно возле него.
Все датчики прошил, все в хабе.

Как быстро садится батарея - не проверял. Жду обновления прошивки из Спрута, возможно со временем будет все с этим выправляться
Подключается к Яндекс станции Макс 2.... но НЕ подключается к Aqara хабу и Яндекс МиДи..... кто проверял и тоже самое?
кто ни будь объясните как ускорить на датчике считывание показаний. Везде искал ,не нашел.
Народ, подскажите. Может кто сталкивался. 3 датчика температуры. Прошил по инструкции. Яндекс Хаб их увидел, подключил. Хаб стоит в магазине и настроеный на кондиционеры. Ночью естественно хаб отключается. Но почему то датчики зависает на 1 показателе и утром приходится каждый перезагружать чтобы корректо работали. В чем может быть причина. Почему датчики зависают. Делал ресет, к хабу подключал повторно. Но не помогло. Утром всегда надо их перезагружать. Буду благодарен
Как ввести это устройство а режим спаривания, после отвязки от SH? Вытаскивать батарейку и замыкать контакты на 5-6 сек как было по умолчанию не помогает
батарейку не вытаскивать и замкнуть (вверху над батарейкой) два контакта на 7-8 сек


проблема видимо новая прошивка не пропускает. что делать?


в другом репозитории так
🍺 Автору спасибо за Long Story Short! Изначально увидел на хабре, но надо было удостовериться что заведется в СХ и нашел эту статью!

Прошил 5 датчиков на изи и залетело в CХ -> HomeKit


С горем пополам откатился на старую прошивку которая прошивается по воздуху. Сейчас добавил в Tuya smart но в Яндексе не отображается датчики как перекинуть их туда??

Вернуться назад
Вернуться назад