Redmond+ r4s gate. Release 12.01.2021.
Добавлена возможность очистки NVS перед записью настроек. Может быть полезна при переходе на другую версию esp-idf. Исправлена ошибка вывода текущей температуры MiKettle в третьей позиции. Устранено принудительное выключение чайника через несколько секунд после установки на подставку. Добавлен мониторинг состояния BLE соединений. При отсутствии хотя бы одного ранее подключенного устройства в течение минуты или при неудачном старте поиска устройств выполняется рестарт шлюза. Перегрузить шлюз можно и по Mqtt, записав в топик screen restart, reboot или reset. Добавлена поддержка чайников Xiaomi MiKettle. Поддерживаются 3 версии: интернациональная YM-K1501(Int) с ProductId 275, YM-K1501(HK) для Гонконга и Китая с ProductId 131 и V-SK152(Int) с ProductId 1116. Использована информация от aprosvetova c уточнением по авторизации от drndos. Управление возможно только из режима "keep warm". В этом режиме чайник поддерживает заданную шлюзом минимальную температуру 40°C с гистерезисом примерно 4°C, то есть при 36°C подогрев включается, а при 44°C отключается. Доступно включение и выключение кипячения (state = ON/OFF), установка температуры подогрева (heat_temp = 40...95). Можно перевести чайник в режим Idle (heat_temp = 0). Последняя команда выполняется с задержкой. После выполнения команды дальнейшее управление чайником недоступно. В отличие от выключения сенсором "warm" на чайнике при дальнейшем выключении и включении чайник возвращается в режим "keep warm". Возможно, это особенность конкретной версии MCU 6.2.1.9 и работает только если температура воды выше 20°C, это нужно уточнять. Пока оставил так и включил чайник через редмондовскую розетку. Если ее выключить и опять включить, чайник переходит в режим подогрева. Осталось найти возможность рестарта контроллера QN9020 чайника по BLE и будет полноценное включение. Все необходимые параметры чайника шлюз устанавливает самостоятельно, а родное приложение пригодится для обновления прошивки. Время подогрева установлено на 12 часов (720 минут), после 700 минут шлюз сбрасывает счетчик кратковременно включая и выключая кипячение. Изменены параметры сборки в sdkconfig. Пытаюсь убрать вылезшие непонятно с какого времени проблемы в библиотеке Ble. Удалил все проблемные релизы. Вернулся на версию v4.2-dev-1905-g625bd5eb1 esp-idf. В этой версии esp-idf собирал все ранние версии шлюза. Сейчас более-менее стабильная работа. В sdkconfig уменьшил timeout на установление BLE соединения с 30 до 10 секунд. Добавлено переназначение пинов для дисплея в настройках, что позволяет использовать для шлюза уже готовые устройства, например TFT BTC Ticker или m5 stack basic. Также экран можно включать и выключать по Mqtt, иcпользуя топик r4s/screen. Немного изменен выбор типа чайника. Есть вариант для старой прошивки RK-G200S-old, был актуален год-полтора назад, но может еще где встретится. Все новые чайники от RK-G200S до RK-G240S похоже используют один протокол обмена, можно выбирать для них любой из этих пунктов в меню. Поправлена обработка температуры нагрева чайника heat_temp по Mqtt. Если задается температура до 40, чайник выключается, при 40..90 включается режим нагрева, при 91 и более включается режим кипячения. Начинал делать это не помню в какой версии, но ошибка была в том, что при температуре 0...39 чайник не выключался. Добавлена возможность вывода в ответах на команды "true/false" вместо "ON/OFF". Мне пригодилась в в драйвере iot iobroker-а при подключении к яндекс колонке или гугл ассистенту. Они дружно понимают только "true/false". Позволяет не возиться в драйвере со скриптами автозамены. Опция включается в настройках и не работает, если включен Hass Discovery, т.к. в Home Assistant (и OpenHAB) "ON/OFF" идет по умолчанию. Увеличен размер стека http server-а. Доделал вроде бы общие топики команд/ответов. В версиях от 2020.10.27 до 2020.11.07(пока тестировал общие топики), возможны проблемы с Mqtt. Если это так, стоит обновиться до текущей версии.