Вумная мультиварка

Осенью летал на родину, в Питер и набросал себе кучу планов – например купить и привезти вторую мультиварку. Почему именно там? Ответ прост – они практически не продаются тут, а если и есть, то только самые унылые модели и с немецким или английским меню. Но, как всегда, времени не хватило, а из путешествия я привёз только Корону.

Но вторая мультиварка была нужна – очень удобно делать сразу и мясо и гарнир одновременно. Кроме того, хотелось бы иметь немного умных функций. Очень было бы здорово например включать подогрев себе завтрака, не вылезая из тёплой постельки. Ещё хорошо было бы смотреть сколько времени осталось до обеда.

В итоге на Amazon наткнулся на продажу топовой модели Redmond: M-800S с функцией подключения через Bluetooth. Причём была приличная скидка – 60€ цена вместо 125€ обычной. Причина уценки – «бэу, состояние очень хорошее». Меню – английское, ну и ладно, подумал, это лучше чем никакое. И раз скидка – надо брать.

Приезжает посылка, причём судя по этикеткам она первый раз была продана во Франции. Ебушки-воробушки! Мультиварка оказалась полностью русифицированная, начиная от коробки и меню, заканчивая самим агрегатом. Как будто в Питере и купил. Представляю, наверняка какой-нибудь француз заказал себе девайс, думая что меню на английском, а там его ждал настоящий сюрприз. Во даёт Амазон, не ожидал от него такого.

Про бэу тоже непонятно – мультиварка приехала абсолютно новая, упаковка похоже не вскрывалась. Похоже, француз недолго думая тут же сдал её назад. Ну, нам же лучше.

Посмотрел официальное приложение – прикольно, но ничего удивительного. Повторяет меню на самом девайсе и копирует его недостатки, например программу ПАР можно выбрать только с 5-минутной градацией, что неудобно – например не сделать идеальные яички на пару в мешочек, 5 минут мало а 10 уже много. Ну штош, мы это всё исправим, использовать корявые прилки от вендора, да ещё и через Bluetooth – не наш метод.

Подключение к умному дому

На просторах гитхаба нашёл подходящий проект ESP32-R4sGate-for-Redmond.

У автора довольно свеобразный стиль – судя по всему он каждый раз полностью перезаписывает файлы в репозитории через загрузку оных через интерфейс. Но, тем не менее, прошивка вполне себе работает. Прошил ESP32-Wroom32 и закинул на кухонный шкаф. Оттуда будет устойчивый сигнал Bluetooth, а дальше уже через сеть.

Каким образом реализовано управление – прошиваем ESP32 у которой на борту есть как Bluetooth, так и WiFi а прошивка от уважаемого автора проксирует команды в обе стороны в шину MQTT. Таким образом, подключение можно сказать тривиальное – надо соединить наш девайс и мультиварку, а управлять будем стандартным способом – через MQTT биндинг в OpenHAB.

Параметры в меню R4S

С подключением ничего интересного, так же как и к родной прилке. В Веб-интерфейсе R4S можно управлять мультиваркой уже через сеть, что уже неплохо. Но, а мы подключим это дело в наш общий комплекс – OpenHAB.

Через R4S можно задать любое время на любой программе, например я поставил 12 минут на программе ПАР. Штатным способом через меню или официальную прилку это сделать невозможно – только 5, 10, 15, .. минут.

Конфигурация в OpenHAB:

Thing mqtt:topic:openhab:m800s (mqtt:broker:openhab) {
	Channels:
		Type string : state  [ stateTopic="r4s/e895fabc219e/rsp/json", transformationPattern="JS:r4s-state.js", commandTopic="r4s/e895fabc219e/cmd/state" ]
		Type string : program  [ stateTopic="r4s/e895fabc219e/rsp/json", transformationPattern="JSONPATH:$.prog", commandTopic="r4s/e895fabc219e/cmd/program" ]
		Type string : state  [ stateTopic="r4s/e895fabc219e/rsp/json", transformationPattern="JS:r4s-state.js" ]
		Type string : time  [ stateTopic="r4s/e895fabc219e/rsp/json", transformationPattern="JS:r4s-time.js" ]
}

Как и любой MQTT девайс, создаём Thing, и навешиваем свои преобразования на вход / выход.

(function (dataString) {
    var data = JSON.parse(dataString);
    var state = data['state']

    if (0 == state) {
        return "OFF"
    }
    if (1 == state) {
        return "CFG"
    }
    if (2 == state) {
        return "ON"
    }
    if (4 == state) {
        return "WARM"
    }
    if (5 == state) {
        return "DELAY"
    }

    return "UNKNOWN"
})(input)
(function (dataString) {
    var data = JSON.parse(dataString);
    var h = data['hours']
    var m = data['mins']
    return h + ":" + (m < 10 ? '0' : '') + m
})(input)

В преобразованиях мы конвертируем текущий статус в текст, а так же делам чуть более красивое отображение времени (готовки, подогрева или отложенного старта).

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

Интерфейс OpenHAB
Интерфейс OpenHAB

Всё получилось! Теперь можно включать подогрев не отрывая зад от кровати, через единый интерфейс Умного Дома.

Исходники: Мой умный дом на GitHub.

Leave a Reply

Your email address will not be published.