Статья

Прошивка сенсорного выключателя MiniTiger под HomeKit

Предисловие

Это статья является продолжением статьи про прошивку Sonoff Basic и продолжает знакомить читателей с возможность HAA и вариантами ее  настройки для добавления в систему умного дома Apple, под названием HomeKit

Подготовка

Скачиваем все необходимые файлы, для удобства одним архивом. Я буду использовать "безнулевой" двухклавишный выключатель MiniTiger  (аналог Sonoff T2 EU). Обязательное условие, чтобы этот выключатель корректно работал - это поставить параллельно нагрузке (лампочке) тот самый конденсатор, который был в комплекте.

Подключение

Отключаем плату от реле, согласно ниже приведенной схеме (спасибо автору статьи) подключаем TTL конвертер 3.3 к 3.3, TX к RX, RX к TX, GND-GND и так как на выключателе нет отдельной системной кнопки (точнее ее функцию выполняет левая сенсорная клавиша), то удобнее припаять к GPIO 0 провод и подкинуть его на GND для перевода платы в режим прошивки. Далее подключаем  TTL к компьютеру.

Установка прошивки OTA. 

Запускаем программу, выбираем версию в зависимости от версии ESP чипа на устройстве (8285 или 8266) и выставляем все, как на скрине.  Далее все, как и в прошлой статье: ERASE, отключаем и заново подключаем TTL к компьютеру, жмем FLASH и ждем FINISH, отключаем TTL от компьютера.

Установка прошивки HAA

Все действия мы будем делать, не подключая плату с ESP к плате выключателя, а продолжаем с TTL – отключаем TX и RX и обязательно отключаем GPIO 0 от GND, подключаем TTL к компьютеру.

Подключаемся к точке доступа TLC-….., переходим на страницу настройки OTA.  Указываем путь репозитория RavenSystem/haa, выбираем свою домашнюю точку доступа и указываем пароль, жмем JOIN, реле перезагружается и ждем 5-7 минут, пока скачается и установится HAA

Настройка HAA

Идем на сайт конфигуратора JSON и выбираем Sonoff T2 EU 3gangs, настраиваем в зависимости от количества клавиш. Если у вас 3 клавиши, тогда оставляем все как есть, идем вниз сайта, жмем кнопку на скриншоте для того, чтобы код приобрел более удобный вид.

Если у вас выключатель с 2 клавишами, то удаляем последний блок нажатием Remove Accessory, если 1 клавиша - то 2 последних блока, и сразу видим, как автоматом меняется код.

Копируем нужный код и вставляем его в поле JSON Config на веб странице настройки HAA, сохраняем и устройство перезагружается.Если вы что-то сделали не правильно - это не страшно, так как для того, чтобы веб страница настройки HAA стала активна, просто необходимо перевести устройство в режим настройки 8-кратным нажатием кнопки (в нашем случае - левый сенсор).

У меня для  двухклавишного выключателя получился следующий код:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}],"s":0},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]},"b":[{"g":9}],"s":0}]}

Добавление устройства в Home Kit

Все шаги проделываем так же, как и в прошлой статье.

P.S.

Огромный плюс прошивки HAA в том, что изменив код JSON, вы можете менять функционал устройства. Допустим, можно любое реле с кнопкой добавить в систему HomeKit как отдельный выключатель и отдельную кнопку. Преимущество кнопки заключается в том, что на ее различные нажатия (одиночное, двойное или долгое) можно привязать три отдельных действия. 

Мой пример: одиночное нажатие левой клавиши отвечает за вкл/выкл левого реле, к которому у меня подключена люстра; долгое нажатие левой клавиши – вкл/выкл правого реле, к которому подключены споты;  а правую клавишу я настроил как кнопку и прокинул в HomeKit. Уже через HomeKit настроил так, что короткое нажатие правой клавиши – включает сценарий «просмотр кино», долгое нажатие правой клавиши – запуск сценария «выключить все в гостиной» (сразу оговорюсь, что мой сенсорный выключатель плохо отрабатывал двойные нажатия, поэтому я их исключил).

Код JSON, который у меня получился:

{"c":{"l":13,"b":[{"g":0,"t":5}],"i":1,"n":"switch living room"},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0,"i":0}],"s":0},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]},"b":[{"g":0,"t":3}],"s":0},{"t":3,"b":[],"s":0,"f0":[{"g":9,"t":1}],"f1":[{"g":9,"t":2}],"f2":[{"g":9,"t":3}]}]}


Вы фильтрацию кнопок не делали?
У меня на Сонофф Т1 старой версии (который с нейтралью) при прошивке RC периодически свет сам фключался. Перевел его на HAA и ввел там фильтрацию кнопок - самовключения пропали.
На 4пда и ГитХабе по поводу самовключения много вопросов. На Гите народ менял емкости и чего-то еще паял.

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

У меня после прошивки тоже начал сам включаться/выключаться. Долгим нажатием на левую кнопку сделал сброс, сбросил Homekit ID, добавил заново, вроде пропали фантомные сработки. Продолжаю наблюдение.

Мой выключатель кстати в режим настройки вводился правой кнопкой, а не левой, как указано в статье.

Пока учился паять, убил 2 выключателя :(

С помощью конфигуратора собрал sonoff с датчиком DHT22 температура завышает +3 градуса, влажность на 15 процентов.


В конфигураторе есть функция корректировки но только почему от 0 в плюс можно добавить корректировку.

В самом скетче находим параметр h и z ставим - к значению.

Если меняем устройство на другое ставим галочку сбросить ID 

У меня устройство не появлялась пока я не выбрал в списке свою точку доступа и ввёл пароль.



Алексей, подскажите, пожалуйста, как сделать подсветку кнопок синим светодиодом в выключенном состоянии, как это было до перепрошивки?

И что нужно выбирать в JSON-конфигураторе для 1-кнопочного выключателя, чтобы коротким нажатием было обычное включение/выключение, а на длительное нажатие сделать кнопку в Homekit? Хочу в коридоре длительным нажатием выключать весь свет в доме или ставить дом на охрану. 

{"c":{"l":13,"b":[{"g":0,"t":5}],"i":0,"n":"switch"},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0,"i":0}],"s":0},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]},"b":[{"g":0,"t":3,"i":0}],"s":0},{"t":3,"b":[],"s":0,"f0":[{"g":9,"t":1,"i":0}],"f1":[{"g":9,"t":2,"i":0,"p":0}],"f2":[{"g":9,"t":3,"i":0}]}]} - это код с корректно работающей подстветкой, тоже немного помучался но все работает. 

{"c":{"l":13,"b":[{"g":0,"t":5}],"i":0,"n":"switch"},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0,"i":0}],"s":0},{"t":3,"b":[],"s":0,"f0":[],"f1":[],"f2":[{"g":0,"t":3,"i":0}]}]}

это код на 1 клавишный выключатель, в котором долгое нажатие прокинуто отдельной кнопкой в HK

Спасибо. С кнопкой в Homekit уже разобрался, вроде работает.

Что выбираете в конфигураторе, чтобы работала подсветка в выключенном состоянии?

Нужно убрать инверсию Led на 13 GPOI

В шапке конфигуратора инверсия GPIO 13 по умолчанию отключена в шаблоне. Можете расписать подробнее?

А почему все шьют тремя файлами, а не одним? Почему бы не прошить по инструкции HAA https://github.com/RavenSystem/esp-homekit-devices/wiki/Installation">https://github.com/RavenSystem/esp-homekit-devices/wiki/Installation
Прошил Sonoff 4CH как по инструкции в HAA, к одной точке зацепился, а к любой другой уже не подключается. Так и задумано?

У меня выключатель Esooli https://m.aliexpress.ru/item/4001027277018.html?_s_t=1597505472665">Ссылка на прошивке Tuya smart, плата 2PH105626A 


Я его прошил на home kit по этой инструкции https://m.youtube.com/watch?v=dzb-L-tFE-M">https://m.youtube.com/watch?v=...


Ни один другой метод прошивки не подошел от платы Mini Tiger сильно отличается и распиновка другая


https://sprut.ai/static/media/cache/00/61/91/5/4724973/64590/1000x_image.jpeg?1597561892" alt="1000x_image.jpeg?1597561892" />
https://sprut.ai/static/media/cache/00/61/91/5/4724973/64589/1000x_image.jpeg?1597561854" alt="1000x_image.jpeg?1597561854" />

Припаял провода вот так


https://sprut.ai/static/media/cache/00/61/91/5/4724973/64600/1000x_image.jpeg?1597586270" alt="1000x_image.jpeg?1597586270" />

Как здесь написано пробывал замыкать и размыкать gpn и gpio0, но прошивка не шла, тогда я припаял gpn и gpio0 и оставил так, как будто кнопка нажата на все время прошивки.


По окончании прошивки появилась wifi сеть HAA, а далее все как в вашей инструкции.


Чтоб синяя подсветка работала в выключенном состоянии используйте этот 


Json



{"c": {"b": [{"g": 5, "t": 5}]}, "a": [{"0": {"r": [{ "g": 12},{ "g": 1,"v":0}]}, "1": {"r": [{"g": 12, "v": 1},{ "g": 1,"v":1}]}, "b": [{"g": 5}]}] }


Если кто будет шить выключатель Esooli, отпишитесь как прошился.



 сделал все как в видео, который вы выложили в описани и конфиг json ваш же пробовал... ничего не получается(((прошивается успешно, конфиг json открывает и свою сеть wifi указываю, но после этого ничего не происходит....где копать? может, я что-то пропустил???подскажите пожалуйста



А что конкретно не работает, попробуйте скачать версию fullhaaboot.bin с гитхаба, сейчас версия 3.5.1 актуальная.


Шить еще можно через программу Nodemcu, а еще надо хоррший usb ttl купить и провода нормальные, если контакт плохой, может как будто прошиться, а wifi сеть не поднимает, сам столкнулся с такой проблемой, что на чипе cr340 шились одни sonoff, а другие только cp2101. Лучше купить несколько разных usb ttl. Обновил json файл, 
{"c": {"b": [{"g": 5, "t": 5}]}, "a": [{"0": {"r": [{ "g": 12},{ "g": 1,"v":0}]}, "1": {"r": [{"g": 12, "v": 1},{ "g": 1,"v":1}]}, "b": [{"g": 5}]}] }


Прошил второй, выключатель, esooli. Все работает.


На али появились выключатели с поддержкой homekit, для тех кто не хочет заморачиваться https://a.aliexpress.com/_mKHUver">Homekit





https://sprut.ai/static/media/cache/00/68/79/5/5988461/70529/1000x_image.jpeg?1605436528" alt="1000x_image.jpeg?1605436528" />https://sprut.ai/static/media/cache/00/68/79/5/5988461/70530/1000x_image.jpeg?1605436529" alt="1000x_image.jpeg?1605436529" />https://sprut.ai/static/media/cache/00/68/79/5/5988461/70531/1000x_image.jpeg?1605436531" alt="1000x_image.jpeg?1605436531" />https://sprut.ai/static/media/cache/00/68/79/5/5988461/70532/1000x_image.jpeg?1605436532" alt="1000x_image.jpeg?1605436532" />

Привет. Да действительно данный выключатель смог прошить только по примеру указанному по ссылке в твоём видео. Json использовал тоже из твоей статьи 

 {"c": {"b": [{"g": 5, "t": 5}]}, "a": [{"0": {"r": [{ "g": 12},{ "g": 1,"v":0}]}, "1": {"r": [{"g": 12, "v": 1},{ "g": 1,"v":1}]}, "b": [{"g": 5}]}] }

Все отлично работает, единственное что смутило когда защелкнул стеклянную крышку выключатель ушёл на перезагрузку на пару минут.

Хотел тебя попросить дописать json чтобы функционал остался тот же но при длительном удержании включалась либо выключалась виртуальная кнопка, как у автора статьи.

С помощью твоего описания все получилось. Но никак не найду в конфигураторе как ты добился этого конфига
{"c": {"b": [{"g": 5, "t": 5}]}, "a": [{"0": {"r": [{ "g": 12},{ "g": 1,"v":0}]}, "1": {"r": [{"g": 12, "v": 1},{ "g": 1,"v":1}]}, "b": [{"g": 5}]}] }
хочу в данный конфиг виртуальную кнопку добавить


Одноклавишный + виртуальная кнопка 


{"c":{"l":13,"b":[{"g":0,"t":5}],"i":0,"n":"switch"},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0,"i":0}],"s":0},{"t":3,"b":[],"s":0,"f0":[],"f1":[],"f2":[{"g":0,"t":3,"i":0}]}]}

не получается прошить такой же выключатель((


вроде и пины правильные (питание без вопросов), на 5й пин (reset) тоже реагирует. пробовал и TX-RX местами менять и GPIO0 включать при подаче питания и постоянно. при GPIO0 к земле статусный диод быстро моргает и не включается, как обычном режиме. т.е. вроде правильно, но не шьется и не читается. кабели менял, отдельно питание подключал. wtf?

Получил два новых выключателя minitiger (1кл.+2кл.). Пробовал считывать прошивку и прошивать через адаптер FT232RL. Ничего не получалось, хотя чип esp8285 команды flash_id и chip_id отрабатывал. Проблема решилась заменой адаптера на PL-2303HX.
Новые выключатели отлично прошиваются программой WriteFlash_ESP82XX.

Прошил такой выключатель с первого раза, только json не верным оказался для 3-Х клавирного выключателя. Помогите найти. 

такой же выключатель

Недавно пришло 7 новых выключателей Mini Tiger новой ревизии на базе реле. 6 из них прошил без проблем, с седьмым (3-клавишным) возникла проблема. Вроде нормально прошился, в эфире появляется сеть HAA, но к ней не удается подключиться. Пробовал перешивать, тоже самое. Никто не сталкивался?

Подскажите код для 3/х клавишного выключателя !!! 


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

Устройства


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