ESP32 R4sGate For Redmond Versions Save

ESP32 Ready4Sky (R4S) Gateway for Redmond+ devices

2024.01.14

4 months ago

2024.01.14. Проект собран с использованием esp-idf версии 5.2-beta2. Добавлены русские названия программ в меню мультиварок. Добавлена поддержка обогревателя Redmond SkyHeat RCH-4560S. В BLE монитор шлюза добавлена поддержка термометров LYWSDCGQ. На экран шлюза можно выводить до 4 картинок по очереди, используя 4 url. 2023.12.23. В BLE монитор шлюза добавлена поддержка LYWSD02 часов с термометром и LYWSD03MMC термометров с оригинальной прошивкой. Ключи для LYWSD03MMC версии 2.1.1_0159 брал из облака Xiaomi. 2023.12.06. Добавлена возможность запрета AP по умолчанию r4s и перезагрузки шлюза при пропадании wifi. Добавлена поддержка протоколов Tx RF433 Livolo и RCswitch. 2023.11.12. Проект собран с использованием esp-idf версии 4.4.6. Добавлена поддержка Delonghi ECAM650.75. Мелкие исправления. 2023.10.05. Поле Mqtt сервера увеличено до 64 символов. 2023.09.28. Поправлена процедура таймера. Увеличен тайм-аут I2C. Добавлена проверка CRC при чтении SCD4x. 2023.09.23. Оптимизация и мелкие исправления. Свободной оперативной памяти стало больше примерно на 20кбайт. 2023.08.22. Добавлена поддержка экранов на ST7789. Мелкие исправления. 2023.08.04. Изменены имена объектов в Home Assistant Mqtt Discovery для совместимости с версией 2023.8.0. Для корректного изменения имен желательно после обновления выбрать в настройках Delete Mqtt Topics. Добавлена поддержка датчика движения HLK-LD2410B и датчика дверей Redmond RSO-31S. Ресурс батареи последнего в режиме постоянного соединения пока не тестировал). Исправления по Galcon. Добавлен вывод уровня батареи в счетчиках Элехант. 2023.07.08. Для портов 1-5 изменена процедура вывода в режиме open drain. Изменена процедура чтения для устройств Redmond. Интервал опроса метеостанции и датчиков дыма увеличен до 3 минут. Мелкие исправления. 2023.06.10. Для портов 1-5 режим Inv Out заменен на Out od(Out open drain) и выбирается отдельно для каждого выхода. 2023.05.15. В счетчике Элехант(Elehant) state_class изменен с measurements на total_increasing. Это позволяет добавить этот счетчик в раздел Энергия Home Assistant. 2023.05.14. Добавлена поддержка сенсоров SGP4x(0x59). Для вычисления VOC используется библиотека Sensirion. Добавлена возможность инвертирования выходов портов 1-5. 2023.04.30. Поправлено включение экрана M5Stack Tough при работе от батареи. 2023.04.29. Добавлена поддержка SkyDew RHF-3310S. 2023.04.22. В BLE монитор шлюза добавлена поддержка счетчиков Элехант(Elehant). 2023.04.01. Мелкие исправления. 2023.02.23. Добавлена поддержка сенсоров SHT4x(0x44, 0x45), SCD4x(0x62). Мелкие исправления. 2023.02.13. Добавлена поддержка шлюзом сенсора SGP30(0x58), BLE монитором устройства Qingping Air Monitor Lite(CGDN1). Общее время работы чайника выводится https://github.com/alutov/ESP32-R4sGate-for-Redmond/issues/141. Мелкие исправления. 2023.01.23. Данные в Mqtt LWT топик (r4sx/status) записываются с флагом Retain. Добавлена иконка favicon.ico. 2023.01.21. Поправлено выделение памяти в процедуре Hass Discovery. Актуально для версий 2023.01.17 и 2023.01.18. 2023.01.18. Добавлен вывод версии подключенных устройств Redmond и Mikettle в web и Home Assistant. Поправлена авторизация Redmond. 2023.01.17. Добавлен вывод на экран напряжения и тока из json строки по метрикам Voltage и Current (строка энергомониторинга Tasmota). 2023.01.05. Добавлено получение NTP сервера по DHCP.

2022.12.30

1 year ago
  • 2022.12.30. Поправлена индикация заряда и разряда батареи на AXP192 и регулировка яркости на m5stack tough. При питании от батареи яркость экрана уменьшается в 16 раз на m5stack и в 8 раз на m5stack tough. Исправлена ошибка отправки данных в mqtt при отключенном BLE мониторе.
  • 2022.12.29. Добавлена поддержка контроллера питания AXP192 и RTC PCF8563, что позволяет шлюзу работать на m5stack tough, а также поддержка ADC тензодатчиков HX711. Результат измерения с HX711 можно выводить как в килограммах, так и в процентах, в зависимости от калибровки. Возможен вывод на экран картинки разрешением выше 320. Размер буфера для загрузки картинки можно менять в пределах 20-65 килобайт. Управлять выводом изображения можно из интерфейса Home Assistant версии 2022.12. Добавлена поддержка ESP32C3. Из-за аппаратных ограничений этой микросхемы шлюз использует порт8 только как выход с широтно - импульсной модуляцией (PWM). Cвободной оперативной памяти больше примерно на 28 килобайт. И даже при подключенном экране у ESP32C3-12F остается еще 6 свободных gpio. Недостающие файлы для сборки и скомпилированные бинарные файлы в папке C3. Поправлено: выключение кофеварки, месяц в rtc, частота spi 20MHz, пины экрана.
  • 2022.12.10. При работе с отдельными топиками команд и состояний после чтения команды шлюз записывает в командный топик точку вместо очистки топика.
  • 2022.12.06. Добавлена поддержка I2C сенсоров SHT3x(адреса 0x44, 0x45), AHT20(0x38), HTU21(0x40), BME680/688(0x76, 0x77, 688 пока не проверен), а также RTC DS3231(0x68). Часы используются для хранения даты и времени с NTP сервера, датчик температуры выводится в Mqtt. Шлюз допускает горячее подключение всех сенсоров. 18B20 и DHT22 появляются в Mqtt и Home Assistant сразу после старта шлюза, а I2C сенсоры по мере обнаружения их на шине в течение 2-х циклов опроса (24 секунды). Удалена поддержка DHT22 на 6 порту, вместо него добавлен IR передатчик. Поддерживаются протоколы NEC(8 и 16 битный адрес) RC5, RC6, Samsung, Sony SIRC(12, 15, 20 бит), Panasonic. Управлять можно как из интерфейса ХА и отдельных топиков адреса, команды и протокола, так и прямой записью в топик r4sx/ir6code строки из 8 hex символов 0-9,a-f, например, 090a1c3d, где 09 - протокол(01-nec, 02-necx16, 03-rc5, 04-rc6, 05-samsung, 06-sircx12, 07-sircx15, 08-sircx20, 09-panasonic), 0a1c - адрес, 3d -команда. Проверял все на Atom lite, в нем есть IR LED на 12 gpio. Пока не проверены RC5 и SIRCx15. В чайниках установка температуры подогрева 100°C включает режим кипячения. Соответственно, в режиме кипячения целевая температура 100°C. На экране в строке состояния вместо "Mqtt" отображается значок вайфая, по которому можно оценить уровень(-60...-70...-80dBm) и состояние: желтый - нет Mqtt, красный - нет WIFI, зеленый - ок. В системах с контроллером IP5306 отображается и значок батареи с уровнем заряда, цвет также отображает состояние батареи: желтый - разряжается, белый - заряжается, зеленый - заряжена. Мелкие исправления.
  • 2022.10.30. Бинарные файлы собраны пока только для частоты 160MHz. Рабочая частота и максимальная частота процессора, если она определена производителем в EFUSE, отображается в строке версии. Вывод основной части диагностических сообщений сделан отключаемым (опция UART Debug в настройках). При обновлении со старых версий производится перезапись памяти NVS, возможно, при этом придется заново привязать некоторые устройства (датчик дыма и погодная станция). Изменен режим работы BLE сканера. Режим Passive - это только пассивное сканирование, а Auto - активное сканирование до соединения всех устройств с дальнейшим переходом в пассивный режим. Нужно учитывать, что не все устройства передают имя при пассивном сканировании (например, Xiaomi Mikettle). В любом случае лучше вводить в поле имени MAC адрес, теперь можно и с двоеточиями. Добавлено в чайниках восстановление режима ночника после завершения кипячения (частично было реализовано в версии 2022.09.13), а также восстановление режима ночника и режима подогрева после установки чайника на подставку (опция Keep kettle mode). При включенной опции в json строке состояния выводится переменная keep, равная 1, если шлюз запомнил режим подогрева, 2 - режим ночника при снятии чайника с подставки, или 3 - шлюз запомнил режим ночника при включении кипячения. Добавлена поддержка режима keep в розетках и обогревателях. Добавлена поддержка драйвера штор/жалюзи AM43 (A-OK и подобные). Добавлена поддержка утюга RI-C273S, пока не тестировал. Добавлена поддержка весов Xiaomi Mi Scale2. Добавлено 5 портов ввода - вывода. Два порта используются шиной I2C, а каждый из 3-х оставшихся портов можно использовать как выход с широтно - импульсной модуляцией (PWM), или же как вход для подключения или одного датчика DHT22(AM2302), или одного датчика DS18B20 с прямым питанием. Процедуры чтения упрощены, контрольная сумма не читается и не проверяется, данные округляются до одного знака после запятой. Если шлюз оборудован звуковым излучателем, то, подключив к нему выход PWM (в m5stack basic это gpio 25), можно организовать вывод звукового сигнала. Изменяя скважность импульсов, можно регулировать громкость. Частота фиксирована и равна 3.136 kHz. Шина I2C поддерживает датчики Bosh BME280 / BMP280 по адресам 0x76 и 0x77, а также контроллер батареи IP5306 по адресу 0x75. Контроллер установлен в m5stack и ttgo-t4 (SCL 22, SDA 21), позволяет определять уровень батареи с шагом 25% и ее режим (Discarging / Charging / Charged). При питании от батареи яркость экрана уменьшается в 32 раза. Все датчики опрашиваются шлюзом с интервалом 12 секунд.
  • 2022.09.14. Добавлен в Xiaomi Mi Scale сенсор предварительного (provisional) значения веса.
  • 2022.09.13. Добавлен выбор NTP сервера в настройках. После обновления следует в настройках отметить пункт Format NVS area и далее Save setting. После кипячения, если он был включен шлюзом, возвращается режим ночника, если перед этим он был включен.
  • 2022.09.11. Добавлена поддержка в BLE-мониторе Xiaomi Mi Scale пока только v1.
  • 2022.08.22. Увеличен размер таблицы BLE - монитора в NVS. После обновления нужно будет заново создать все устройства в мониторе, затем в настройках отметить пункт Format NVS area и далее Save setting. Добавлена возможность отслеживания в BLE-мониторе Samsung Smart Tag.
  • 2022.08.06. Исправлена ошибка отсутствия периодического обновления данных BLE монитора в Mqtt в версиях 2022.07.12-2022.07.29.
  • 2022.07.29. Исправлена ошибка при соединении с Mikettle в версиях 2022.07.12-2022.07.25.
  • 2022.07.25. Переделал сохранение параметров шлюза в NVS с целью уменьшения требуемой памяти. Нужно было место для сохранения сертификата. После обновления желательно в настройках отметить пункт Format NVS area и далее Save setting для удаления лишних записей. Добавлена поддержка Mqtt соединения с SSL/TLS. Авторизация по логину и паролю. Сертификат вводится в поле Certificate (я вводил копипастом из Notepad), можно и без строк BEGIN CERTIFICATE и END CERTIFICATE. В NVS эти строки не сохраняются. Если поле Use SSL/TLS отмечено, а в поле сертификата пусто, соединение устанавливается без проверки сертификата сервера. Для более строгой проверки можно отметить Hostname verify. При этом имя сервера Mqtt сравнивается с прописанным в сертификате. Эту опцию не тестировал. При тестировании выяснилось, что Mqtt Explorer имя сервера не проверяет. Проверял работу с Mosquitto / Home Assistant и самоподписанными сертификатами по описаниям Mosquitto SSL Configuration -MQTT TLS Security, и Mosquitto, SSL, certificates - how to?. Есть также возможность использования имеющихся в среде esp-idf корневых сертификатов. Для этого нужно отметить опцию Use x509 Bundle. Если она включена содержимое поля Certificate игнорируется. Добавил соединение через WS(websocket, не проверял). Если строка сервера содержит номер порта не в конце, то в поле порт нужно вписать 0, а в строке сервера указать и порт через двоеточие. Проверена возможность сборки для esp32c3, пока только без опций экрана.
  • 2022.07.17. Добавлены загрузка и отображение в текстовом виде погоды с сайта wttr.in. Размер буфера ссылки увеличен до 384 байт.
  • 2022.07.12. Поддержка 5 одновременных BLE соединений и отслеживания 24 устройств в BLE мониторе. В сущность климата Home Assistant добавлены режимы auto и cool. Auto включает кипячение или кипячение с подогревом, cool включает подсветку. Это позволяет умному дому Яндекса только из климата управлять основными режимами работы. Добавлена также в ассистенте кнопка рестарта шлюза. В BLE мониторе MAC адрес во второй строке выводится без точек для быстрого копирования в настройки. В меню мультиварок русские буквы переведены в юникод. Добавлена возможность загрузки картинки по https. Проверка сертификата отключена. Добавлена возможность управления параметрами загрузки картинки по Mqtt, используя топики r4sx/jpg_url и r4sx/jpg_time. Если в Mqtt эти топики не прописаны, а также после сохранения настроек, эти параметры копируются из настроек в Mqtt. Установка нулевого интервала обновления возвращает кота на экран. Длина буфера ссылки пока 256 байт. Это 256 английских или 128 русских букв. Если ссылка не содержит строки http:// или https://, то шлюз считает это сообщение простым текстом и отображает на экране. Доступно 2 шрифта и пока 10 вариантов цветов. Управляющие символы: \ \ или \n - перевод строки, \F - шрифт 26 пикселей и перевод строки, \f - шрифт 16 пикселей и перевод строки, \0 ... \9 - цвета. Поддерживается кириллица, проверял, правда, только из mosquitto. Он поддерживает юникод по факту, как другие брокеры, не знаю. Пока шлюз не получит корректную дату, она на экране не отображается. Добавлен контроллер полива Galcon GL9001A. Восстановлена возможность сборки шлюза без опций экрана. В уже собранных бинарниках процессор теперь работает на 240MHz. Если же источник питания не имеет запаса по току, можно использовать сборку для работы на 160MHz из папки build/160. Много мелких исправлений, может, что-то забыл написать.
  • 2022.06.07. Добавлен датчик дыма RSS-61S. Окно определения количества воды при нагреве 65-85°C. Добавлена конфигурация для сборки в среде Platformio, спасибо bvp, подробнее здесь.
  • 2022.06.03. Добавлена возможность вычисления уровня воды в процентах. Выбирается в настройках, после чего нужна рекалибровка при полном заполнении чайника. Значения в диапазоне 100-120% принимаются за 100%. Во всех устройствах в шлюзе с нулевым номером изменен префикс в сущностях и Mqtt топиках с r4s на r4s0. После прошивки нужно выбрать в настройках Delete Mqtt topics для удаления не используемых более топиков в брокере и конфигураций устройств в Ассистенте. После чего поправить устройства в автоматизациях, скриптах и т.п. Топик и сущность r4s теперь используются для определения лучшего уровня сигнала от метки(маяка) среди нескольких шлюзов и номера шлюза, принимающего самый сильный сигнал. После обновления нужно также повторно выставить значения Timeout для всех меток(маяков). Мелкие исправления.
  • 2022.05.20. Защищенное шифрованное BLE соединение для всех устройств, кроме климатической станции, запрашивается после 3-х неуспешных попыток авторизации при незащищенном соединении. В Mqtt Discovery в поле connections шлюза добавлен MAC адрес. При неизвестном количестве воды в Mqtt вместо ? выводится -0.0.
  • 2022.05.06. При изменении значений Timeout в BLE мониторе нажатие Ok сразу записывает все значения в энергонезависимую память, а Mqtt Discovery отправляет все новые устройства в Home Assistant. Мелкие исправления.
  • 2022.04.29. Добавлена опция авторизации устройств с использованием MAC адреса шлюза. Позволяет при соответствующей настройке работать рядом двум и более шлюзам с одинаковыми параметрами. Для каждого шлюза придется заново перепривязать все подключенные к нему устройства, предварительно очистив на них все существующие привязки. Добавлена поддержка ATC_MiThermometer с прошивкой от atc1441 в режиме custom.
  • 2022.04.28. Переделан еще раз вывод меток(маяков) в Mqtt и Home Assistant Discovery. Добавлена поддержка ATC_MiThermometer с прошивкой от pvvx в режиме custom. После обновления рекомендую выбрать в настройках Delete Mqtt Topics и Format NVS Area. Увеличено до 32 символов поле сервера Mqtt.
  • 2022.04.27. Переделан вывод меток(маяков) в Mqtt и Home Assistant Discovery. Добавлена поддержка BLE меток(маяков) приложения Home Assistant на смартфонах. После обновления рекомендую выбрать в настройках Format NVS Area. Поправлено обновление прошивки для macos/ios устройств, проверено пока только на iPhone.
  • 2022.04.26. Добавлена регулировка времени кипения чайника. Допустимые значения от -5 до 5. Регулировать можно только при выключенном чайнике.
  • 2022.04.23. Добавлена авторизация из pull request #67, спасибо Raerten. Добавлена регулировка яркости экрана в топике screen. Допустимые значения от 0 до 255. Добавлена возможность вызова картинки пятой кнопкой, пункт jpg. При конфигурации входов в режиме кнопок включается pullup, если это возможно (номер пина меньше 34).
  • 2022.04.20. Пересобрал проект на версии esp-idf 4.4. С этой версией метки(маяки) сканируются нормально и при установленных соединениях. Запрашивается защищенное шифрованное ble соединение для всех устройств. Добавлена климатическая станция RSC-51S.
  • 2022.04.11. Переделан Hass Discovery для мультиварок.
  • 2022.03.30. Добавлен вывод количества воды в чайнике на экран, сенсор количества воды после последнего кипячения. Добавлен BLE monitor.
  • 2022.02.15. Добавлен конвектор Redmond SkyHeat RCH-7001S.
  • 2022.01.20. Добавлено вычисление количества воды в чайнике. Подробнее в описании ниже.
  • 2021.12.22. Добавлена отдельно мультиварка RMC-M92S. Оптимизация, мелкие исправления.
  • 2021.11.21. Добавлена возможность поиска и подключения к устройствам как по имени, так и по MAC адресу. Пригодится при работе с устройствами с одинаковыми именами. MAC адрес вводится в поле имени устройства в виде строки из 12 символов большими или маленькими буквами без двоеточий и тире. Найти адрес можно в строке BLE Last found name/address на главной страничке.
  • 2021.11.19. Добавлена мультиварка RMC-M961S.

14.11.2021

2 years ago

Увеличено до 19 символов поле Mqtt Server. Добавлены "configuration_url" и версия прошивки для шлюза. Первая опция работает только на 11 версии ХА, на 10 версии из-за ошибки в этой опции разбор discovery на ней тормозится и в итоге пропадает выключатель экрана. Добавлена опция чистки топиков Mqtt. Переделан вывод на экран даты для освобождения места. На освободившееся место цветом выводится состояние устройств, 1 - первое устройство, 2- второе и 3 - третье. Серый - не на связи или не определено, синий - выключено, красный - включено, желтый - подогрев, белый - установлена программа. Стало удобней пользоваться кнопками включения - выключения. Добавлена мультиварка RMC-M224S. Добавлено 5 портов ввода-вывода (Port1-Port5). Порты программируются на вывод(от 0 до 33 пина) или ввод(от 0 до 39), с учетом ограничений esp32, разумеется. Жесткой проверки не производится, так что возможно зависание esp32 при старте при неверном выборе пинов. Для первых трех портов предусмотрен также режим sw(sw1-sw3), когда порт работает в режиме ввода с активным низким уровнем как кнопка локального включения-выключения соответствующего устройства. В этом режиме состояние кнопки в mqtt не выводится. При включенном Hass Discovery порты в Ассистенте привязываются к шлюзу. Отмечу, что выключение порта не удаляет его из шлюза в Ассистенте, для этого нужно удалить в Mqtt брокере все топики с r4s, выбрав в настройках Delete Mqtt topics. При работе порта на ввод подтягивающие резисторы (pullup, pulldown) программно не задействовал, да и для пинов 34-39 esp32 это нельзя сделать. Пока потестируем, может что-то и стоит поправить. Добавлена поддержка экрана на ili9342. Во всех типах чайников топик "state" изменен на "boil". Теперь он управляет только режимом кипячения, на режим подогрева не влияет. Добавлен топик heat. Включает подогрев с последней установленной температурой с момента соединения с чайником. При старте шлюза температура подогрева берется из Heat temp вкладки Setting. Если и там температура < 30°C, то по умолчанию температура подогрева 40°C. В Hass Discovery добавлено поле "via_device". Потребленная энергия выводится в кВт/ч. В чайниках 200-240 добавлено включение и выключение цветовой индикации температуры воды, включение и выключение звуковой индикации, а также статистика. Включенная "offline Response" выводит offline в топиках состояний при отсутствии связи с устройством. Если она выключена, об отсутствии связи можно судить только по топику status. Если включена опция Hass Discovery, опции true/false и offline выключаются за ненадобностью. Добавлена лицензия. Увеличена длина пароля Mqtt до 19 символов. Работа с экраном теперь включается в настройках и по умолчанию выключена. Это нужно для запуска прошивки на esp32 с нестандартной разводкой пинов, например, на ESP32-PICO-D4 (m5atom lite). После кипячения чайник Mikettle переводится в режим поддержания температуры, что позволяет повторно включать кипячение без снятия с подставки. Добавлен чайник M170S. После обновления с версии 2021.03.25 нужно проверить и при необходимости поправить тип чайника.

25.03.2021

3 years ago

При обновлении закрываются все BLE cоединения. Изменил параметры скана и добавил строку состояния BLE. При соединении показывает 2 этапа: open - установление соединения, auth - чтение характеристик устройства и авторизация. Немного поправил wifi, теперь пытается восстановить соединение 10 раз до рестарта. Уменьшил до 256 минут время сброса счетчика warming Mikettle. Вроде бы нашел в коде причину зависания BLE при сканировании. Но пока сильно не тестировал. Мониторинг состояния BLE сделан опцией "BLE monitoring" и по умолчанию выключен. Если он включен, поведение прошивки аналогично старой версии, то есть рестарт при потере соединения более минуты и ошибке скана. Добавлена поддержка мультиварки RMC-M903S и частично духового шкафа RO-5707S, за исключением режимов блокировки и автоподогрева. В RMC-M800S добавлена программа мультиповар. В режиме RMC-M903S можно попробовать и другие мультиварки. Отключена проверка состояния BLE соединений во время обновления. На экране вместо влажности в помещении выводится напряжение и ток из ZMAi-90.

12.01.2021

3 years ago

Добавлена возможность очистки 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. Если это так, стоит обновиться до текущей версии.

2020.10.23

3 years ago

Добавлена поддержка SkyPower RSP-103S(нагреватель SkyHeat RCH-4529S похоже по командам полностью совместим с розеткой, нужно проверить), SkyCoffee RCM-М1519S. Добавлен Mqtt Discovery для ассистента. Опция включается в настройках. Перед ее использованием рекомендую удалить в Mqtt брокере все топики с r4s. Сущности чайника да и мультиварки нет в Mqtt, так что собрано из климата, сенсоров и свичей. Функционал пока ограничен, нет отложенного старта в мультиварке и кофеварке и кипячения с последующим подогревом в чайнике. Не нашел форму ввода числа. И потому время для мультиварки ставится в минимальной и максимальной температуре, то есть нельзя поставить 1 час, нужно 1 час и 1 минута. В Mqtt Discovery не все работает как надо, или я не разобрался. Например зависимости. Специально делал esp32 чтобы, когда она недоступна, становились недоступны и все ее устройства. Но вставляю "via_device" - Hass ругается. Так что решение временное. Как появится сущность нагревателя в Home Assistant Mqtt Discovery, переделаю. А сама идея Discovery мне очень понравилась. Слышал, в OpenHab-е тоже есть опция discovery, причем совместимая с Hass. В процессе ковыряния с discovery пришлось сделать ряд изменений в топиках. Теперь все топики статуса отправляются на брокер в флагом retain, true/false/on/off заменены на большие ON/OFF. По умолчанию они приняты в Home Assistant и openHAB как вкл. и выкл. строки. С этой же целью online=0/1 заменены на status=online/offline. Команды, напротив, должны передаваться на брокер без ретайна, чтобы не было самопроизвольных включений. Вроде это все учтено в discovery. Добавлено несколько топиков статуса для работы с ассистентом. Поправлена подсветка, теперь при включении подсветки кипячение должно выключаться. И теперь можно менять цвет на уже включенной подсветке. В новых прошивках Redmond немного изменен ответ на авторизацию. Учтено. То, что раньше не соединялось, теперь должно работать.

16.09.2020

3 years ago

Поддержка трех BLE устройств, добавлена мультиварка RMC-M800S. Сканирование теперь запускается только тогда, когда есть хотя бы одно определенное, но не соединенное устройство. То есть для начала сканирования нужно ввести в настройках хотя бы одно какое-нибудь имя устройства, а потом заменить его найденным (строка "BLE last found device name") при сканировании.

27.08.2020

3 years ago

Первая версия. Одно BLE устройство. Поддержка только чайников Redmond, типа RK-M173S или RK-G240S. Если устройство не соединено или не определено, постоянно идет сканирование. Имя последнего найденного устройства можно увидеть на главной страничке в строке "BLE last found device name". Далее его копипастом нужно ввести в поле "Device name" в настройках и выбрать ближайший тип устройства.