Skip to content

Redmond+ r4s gate. Release 2022.12.30

Compare
Choose a tag to compare
@alutov alutov released this 02 Jan 06:32
· 1221 commits to master since this release
ac367a4
  • 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.