ОБРАТИТЕ ВНИМАНИЕ НА ПРОШИВКУ ОТ alutov в этом комментарии https://mjdm.ru/forum/viewtopic.php?p=121098#p121098
Github: https://github.com/alutov/ESP32-R4sGate-for-Redmond
У ДАННОЙ ПРОШИВКИ (ОПИСАНИЕ ПОД СПОЙЛЕРОМ) ЕСТЬ ПРОБЛЕМЫ С ЗАВИСАНИЕМ ЧЕРЕЗ НЕКОТОРОЕ ВРЕМЯ.
Проверен с Arduino IDE версии 1.8.10
Из библиотек нужна только PubSubClient (устанавливается через Library Manager)
Скачать архив скетча можно с GitHub https://github.com/olehs/r4sGate/archive/master.zip
Его нужно распаковать в папку sketchbook
Открываем скетч r4sGate.ino и правим на вкладке r4scfg.h настройки:
ssid - ваша точка доступа
password - пароль к точке доступа
настроить параметры подключения к MQTT-брокеру
mqtt_server - адрес
mqtt_port - порт
Для подключения к чайнику нужно привязать его к нашему гейту.
Первым делом можно поменять пару байт в параметре
Код: Выделить всё
static uint8_t r4sAuth[8] = { 0xb5, 0x4c, 0x75, 0xb1, 0xb4, 0xac, 0x88, 0xef };
Здесь же можно переключить поддержку RK-G200S.
Затем после заливки скетча привязку нужно делать следующим образом:
1. Зажать ресет на ESP и кнопку привязки ("+") на чайнике одновременно.
2. Досчитать до 5-ти и отпустить ресет.
3. Держать "+", пока чайник не войдет в режим привязки и не просигнализирует трелью об успешном завершении.
Если все пройдет успешно, в мониторе порта появится информация о версии прошивки.
Управление:
MQTT:
r4s/[devid]/cmnd/off -выключить
r4s/[devid]/cmnd/heat - нагрев с поддержанием температуры. температура передается в payload
r4s/[devid]/cmnd/boil кипячение. если передать в payload температуру, то после кипячения чайник перейдет в режим ее поддержания (кипячение и нагрев).
HTTP:
http://r4sgate.local/r4s/[devid]/off - выкл.
http://r4sgate.local/r4s/[devid]/heat?temp=60 - нагрев
http://r4sgate.local/r4s/[devid]/boil - кипячение
http://r4sgate.local/r4s/[devid]/boil?temp=95 - кипячение и нагрев
Статус:
MQTT:
r4s/[devid]/stat/state - возвращает JSON со всеми параметрами, которые получает от чайника.
HTTP:
http://r4sgate.local/r4s/[devid]/state
Пример статуса:
{"temp": 33,"target": 0,"heat": 0,"state": 0,"hours": 12,"mins": 0,"prog": 0,"error": 0}
Пример класса для Мажордомо (R4SKettle) во вложении.
У объекта нужно связать с mqtt свойства, как на картинке