mavrikkk / ha_kettler

allows you to connect Redmond SkyKettle, SkyCooker and SkyHeat to your Home Assistant. see README to know further
131 stars 50 forks source link

rmc-m800s support #18

Closed vring0 closed 3 years ago

vring0 commented 4 years ago

Status

55 [counter] 06 [prog 00-12] 00 [temp 30-180] [current hour] [current min] [prog hour] [prog min] [mode programm 00-03] 02 aa
Function

set prog
55 [counter] 05 [prog 00-12] [mode programm 00-03] [temp 30-180] [hour] [min] 000000aa

on
55 [counter] 03aa

off
55 [counter] 04aa

Change Temp

55 [counter] 0b [temp 30-180] aa

Change Time
55 [counter] 0c [hour] [min] aa

Выкладываю расшифровку статуса работы мультиварки и функции. Есть еще функция мультиповара - это когда режим работы задается не программой, а руками(температура, время). Если мультиварку нужно включить на подогрев, то нужно просто передать команду включения, без установки режима работы.

mode programm это подпрограмма для программы 4 жарка, 5 тушение, 11 пар 00 - без подпрограммы. Если получится добавить все программы с подпрограммами, то я могу скинуть расшифровку. Если что то забыл, позже дополню.

mavrikkk commented 4 years ago

дело в том, что новые сущности создавать нельзя...или я не знаю как...максимум мультиварка натягивается на climate или water_heater что в принципе одно и то же...соответственно и функции будут такими же... программы задать можно...как в чайнике есть electric и off, по образу я могу их хоть 30 напихать...и они будут работать...но это и все...вручную можно регулировать только 1 параметр: температуру (в силу логики самого объекта). Таймер можно вывести в сенсор...но он будет только для чтения...то есть вручную задать время вряд ли получится...

mavrikkk commented 4 years ago

так что если это устраивает, то можно будет попробовать... соответственно мне нужны команды:

  1. подписка на уведомления (скорее всего такая же, как у всех, но мало ли)
  2. авторизация (тоже наверное такая же, но мало ли)
  3. режим вкл - вроде ты кинул выше
  4. режим выкл - вроде ты кинул выше 5.установка режима - вроде ты кинул выше

режим подогрева - тут подробности нужны: Например, я авторизовался, установил режим работы, включил его, через некоторое время выключил... при этом в памяти режима остался последний установленный режим (в чайниках так, думаю и тут также). Как мне сбросить этот режим? иначе при попытке просто послать вкл должен активироваться последний установленный режим по логике Надеюсь, понятно спросил )

vring0 commented 4 years ago

так что если это устраивает, то можно будет попробовать... соответственно мне нужны команды:

  1. подписка на уведомления (скорее всего такая же, как у всех, но мало ли)
  2. авторизация (тоже наверное такая же, но мало ли)
  3. режим вкл - вроде ты кинул выше
  4. режим выкл - вроде ты кинул выше 5.установка режима - вроде ты кинул выше

режим подогрева - тут подробности нужны: Например, я авторизовался, установил режим работы, включил его, через некоторое время выключил... при этом в памяти режима остался последний установленный режим (в чайниках так, думаю и тут также). Как мне сбросить этот режим? иначе при попытке просто послать вкл должен активироваться последний установленный режим по логике Надеюсь, понятно спросил )

Подписка и авторизация как в чайнике. На счёт подогрева отключается коммадой off, если я правильно понял вопрос.

vring0 commented 4 years ago

дело в том, что новые сущности создавать нельзя...или я не знаю как...максимум мультиварка натягивается на climate или water_heater что в принципе одно и то же...соответственно и функции будут такими же... программы задать можно...как в чайнике есть electric и off, по образу я могу их хоть 30 напихать...и они будут работать...но это и все...вручную можно регулировать только 1 параметр: температуру (в силу логики самого объекта). Таймер можно вывести в сенсор...но он будет только для чтения...то есть вручную задать время вряд ли получится...

Просмотр времени и его регулировку можно сделать через input_datatime

mavrikkk commented 4 years ago

Просмотр времени и его регулировку можно сделать через input_datatime

да, возможно...но костыльно и ручками ))

mavrikkk commented 4 years ago

На счёт подогрева отключается коммадой off, если я правильно понял вопрос.

неправильно поняли...

чем программируемый режим отличается от подогрева? в случае с подогревом не должно быть установлено никакого режима, как я понял...так вот, как это сделать? как сбросить режим?

vring0 commented 4 years ago

Просмотр времени и его регулировку можно сделать через input_datatime

да, возможно...но костыльно и ручками ))

Ну хотя бы так)) Ждем официальной сущности мультиварка.

mavrikkk commented 4 years ago

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

vring0 commented 4 years ago

На счёт подогрева отключается коммадой off, если я правильно понял вопрос.

неправильно поняли...

чем программируемый режим отличается от подогрева? в случае с подогревом не должно быть установлено никакого режима, как я понял...так вот, как это сделать? как сбросить режим?

Если будет задан режим, даже без включения, мы в статусе его уже можем видеть. Я думаю, что есть какой то байт отмены, возможно это просто команда off(чуть позже проверю). А вообще программа сбрасывается автоматически(примерно через 1 мин), если её задали, но не включили.

vring0 commented 4 years ago

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

всегда нужно задавать программу, если по умолчанию передам команду on, то включится просто подогрев.

mavrikkk commented 4 years ago

всегда нужно задавать программу, если по умолчанию передам команду on, то включится просто подогрев.

значит эта программа должна как то сбрасываться... автоматически по таймауту 1 мин - это здорово, но ненадежно...я могу включить программу по ошибке, тут же нажать подогрев...а минута не прошла...включится опять та программа, которую я случайно запустил...нужно точно знать, как сбросить программу...проверьте гипотезу про off

mavrikkk commented 4 years ago

ну и список всех возможных режимов нужен: список всех программ с описанием, подпрограмм с описанием

vring0 commented 4 years ago

ну и список всех возможных режимов нужен: список всех программ с описанием, подпрограмм с описанием

Хорошо!

mavrikkk commented 4 years ago

set prog 55 [counter] 05 [prog 00-12] [mode programm 00-03] [temp 30-180] [hour] [min] 000000aa

что здесь значят hour, min, temp

55 [counter] 06 [prog 00-12] 00 [temp 30-180] [current hour] [current min] [prog hour] [prog min] [mode programm 00-03] 02 aa

что здесь значят temp, current hour, current min, prog hour, prog min

vring0 commented 4 years ago

Status

55 [counter] 06 [prog 00-12] 00 [temp 30-180] [current hour] [current min] [prog hour] [prog min] [mode programm 00-03] 02 aa
Function

set prog
55 [counter] 05 [prog 00-12] [mode programm 00-03] [temp 30-180] [hour] [min] 000000aa

on
55 [counter] 03aa

off
55 [counter] 04aa

Change Temp

55 [counter] 0b [temp 30-180] aa

Change Time
55 [counter] 0c [hour] [min] aa

Выкладываю расшифровку статуса работы мультиварки и функции. Есть еще функция мультиповара - это когда режим работы задается не программой, а руками(температура, время). Если мультиварку нужно включить на подогрев, то нужно просто передать команду включения, без установки режима работы.

mode programm это подпрограмма для программы 4 жарка, 5 тушение, 11 пар 00 - без подпрограммы. Если получится добавить все программы с подпрограммами, то я могу скинуть расшифровку. Если что то забыл, позже дополню.

По поводу статуса забыл указать последний байт, это работает сейчас мультиварка или нет. Еще ошибочно указал байт подпрограммы, он идет после программы, что логично. Точно не знаю, за что отвечает байт который идет после [prog min], самому стало интересно, он бывает 01 или 00 и меняется нелогично. Понаблюдаю еще.

55 [counter] 06 [prog 00-12] [mode programm 00-03] [temp 30-180] [current hour] [current min] [prog hour] [prog min] 00 [power multicooker] aa

[power multicooker] 00 - выключена 01 - находится в режиме установки программы готовки 02 - включена(не подогрев) 04 - включен подогрев

vring0 commented 4 years ago

set prog 55 [counter] 05 [prog 00-12] [mode programm 00-03] [temp 30-180] [hour] [min] 000000aa

что здесь значят hour, min, temp

hour - часы min - минуты temp температура

например задаем программу 1 с температурой 90, которая работает 1 час и 5 минут

55 [counter] 06 [prog 00-12] 00 [temp 30-180] [current hour] [current min] [prog hour] [prog min] [mode programm 00-03] 02 aa

что здесь значят temp, current hour, current min, prog hour, prog min

current hour- текущий час работы программы current min - текущая минута работы программы temp - текущая температура работы программы prog hour - часы заданный в программе prog min - минуты заданные в программе

vring0 commented 4 years ago

всегда нужно задавать программу, если по умолчанию передам команду on, то включится просто подогрев.

значит эта программа должна как то сбрасываться... автоматически по таймауту 1 мин - это здорово, но ненадежно...я могу включить программу по ошибке, тут же нажать подогрев...а минута не прошла...включится опять та программа, которую я случайно запустил...нужно точно знать, как сбросить программу...проверьте гипотезу про off

командой off можно сбросить программу, проверил.

vring0 commented 4 years ago

ну и список всех возможных режимов нужен: список всех программ с описанием, подпрограмм с описанием

['1'='Рис/крупы','2'='Томление','3'='Плов','4'='Жарка','5'='Тушение','6'='Паста','7'='Молочная каша','8'='Суп','9'='Йогурт','10'='Выпечка','11'='Пар','12'='Варка']

У программ 4,5,11 не может быть подпрограмма 0, нужно чтобы по умолчанию было 3(мясо) например.

Подпрограммы: 1 - овощи 2 - рыба 3 - мясо

mavrikkk commented 4 years ago

не может быть подпрограмма 0

а у остальных может? что значит подпрограмма 0? в списке нету )

mavrikkk commented 4 years ago

командой off можно сбросить программу, проверил.

хорошо

mavrikkk commented 4 years ago

hour - часы min - минуты temp температура

например задаем программу 1 с температурой 90, которая работает 1 час и 5 минут

перевод я понимаю...я логику не понимаю...зачем мне задавать температуру и время если я задаю программу? смысл программы как раз в том, чтоб за меня все сделать...чего то я не понимаю

mavrikkk commented 4 years ago

current hour- текущий час работы программы current min - текущая минута работы программы temp - текущая температура работы программы prog hour - часы заданный в программе prog min - минуты заданные в программе

опять же...перевод я понимаю )) а логику - нет...

  1. temp - это та температура, которую я задал? или это ТЕКУЩАЯ температура? или текущей ваще в выводе нету?
  2. чем current отличается от prog? prog - это то, что я поставил в set prog? то есть соответствует тем параметрам hour и min? а current - это сколько времени прошло с начала работы программы? или что?
vring0 commented 4 years ago

не может быть подпрограмма 0

а у остальных может? что значит подпрограмма 0? в списке нету )

У остальных нет этой подпрограммы, нужно обязательно передавать 0.

vring0 commented 4 years ago

hour - часы min - минуты temp температура например задаем программу 1 с температурой 90, которая работает 1 час и 5 минут

перевод я понимаю...я логику не понимаю...зачем мне задавать температуру и время если я задаю программу? смысл программы как раз в том, чтоб за меня все сделать...чего то я не понимаю

Стандартно у каждой программы есть определенное время и температура, его нужно будет задавать по умолчанию. Но чаще все требуется ручная корректировка. Я могу скинуть дефолтные значения каждой программы. В OpenHab2 я делал список, где добавлял свои рецепты с модификациями программ. Предлагаю еще возможность вручную создать свои программы с рецептами через инпуты. У мультиварки есть режим мультиповар, где можно просто задавать время и температуру.

vring0 commented 4 years ago

current hour- текущий час работы программы current min - текущая минута работы программы temp - текущая температура работы программы prog hour - часы заданный в программе prog min - минуты заданные в программе

опять же...перевод я понимаю )) а логику - нет...

  1. temp - это та температура, которую я задал? или это ТЕКУЩАЯ температура? или текущей ваще в выводе нету?
  2. чем current отличается от prog? prog - это то, что я поставил в set prog? то есть соответствует тем параметрам hour и min? а current - это сколько времени прошло с начала работы программы? или что?
  1. К сожалению в статусе не выводится текущая температура, можно посмотреть температуру, которая заданная программой, это я и написал.
  2. current - текущее время таймера в реальном времени (то время которое нужно выводить в статус), prog - время заданное программой на начале готовки(оно возможно меняется, если я во время работы корректирую время, я не проверял)
vring0 commented 4 years ago

Точно не знаю, за что отвечает байт который идет после [prog min], самому стало интересно, он бывает 01 или 00 и меняется нелогично. Понаблюдаю еще.

55 [counter] 06 [prog 00-12] [mode programm 00-03] [temp 30-180] [current hour] [current min] [prog hour] [prog min] 00 [power multicooker] aa

01 - это включится режим подогрева после завершения работы программы 00 - мультиварка просто выключится после завершения работы программы.

Этот режим можно задавать(предлагаю сделать его по умолчанию и если нужно через переключатель менять): 55 [counter] 05 [prog 00-12] [mode programm 00-03] [temp 30-180] [hour] [min] 00 00 01 aa

Еще забыл про функцию отложенного старта(задается часы и минуты после байта [min].

Например задаю мультиварке включить программу 1 c температурой 100 на 10 минут,после 1:30, c функцией подогрева после завершения работы: 55 [counter] 05 01 00 64 00 0a 01 1e 01 aa

когда мультиварка находится в режиме отложенного старта, значение байта [power multicooker] будет 05.

vring0 commented 4 years ago

Есть еще функция мультиповара - это когда режим работы задается не программой, а руками(температура, время).

Нужно указывать байт программы и подпрограммы 00. Тогда будет активирован кастомный режим мультиповара.

vring0 commented 4 years ago

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

mavrikkk commented 4 years ago

У остальных нет этой подпрограммы, нужно обязательно передавать 0.

ааа...то есть у всех программ подпрограмма 0...а у трех программ обязательно какая то подпрограмма 1 или 2 или 3...так правильно?

vring0 commented 4 years ago

У остальных нет этой подпрограммы, нужно обязательно передавать 0.

ааа...то есть у всех программ подпрограмма 0...а у трех программ обязательно какая то подпрограмма 1 или 2 или 3...так правильно?

Да, верно.

mavrikkk commented 4 years ago

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

все равно непонял ))

пример: я запустил программу 1 подпрограмму 0 температуру 100 время 1 час 00 мин... через 10 минут запросил статус...что покажет current а что покажет prog?

mavrikkk commented 4 years ago

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

оч сложный алгоритм...не подходит под climate...куча доп элементов будет

mavrikkk commented 4 years ago

Нужно указывать байт программы и подпрограммы 00. Тогда будет активирован кастомный режим мультиповара.

внимание вопрос...зачем нам вообще программа и подпрограмма тогда? поясню мысль... какая разница между:

  1. задаем программу, подпрограмму, температуру и время по умолчанию для этих программ и
  2. ВСЕГДА программу и подпрограмму передавать нулями, а температуру и таймер подставлять с дефолтных значений нужных программ, подпрограмм

просто если разницы нет, то выбор очевиден пробовали так делать?

vring0 commented 4 years ago
  1. current - текущее время таймера в реальном времени (то время которое нужно выводить в статус), prog - время заданное программой на начале готовки(оно возможно меняется, если я во время работы корректирую время, я не проверял)

все равно непонял ))

пример: я запустил программу 1 подпрограмму 0 температуру 100 время 1 час 00 мин... через 10 минут запросил статус...что покажет current а что покажет prog?

current будет 0 час 50 мин prog будет 1 час 00 мин

vring0 commented 4 years ago

Нужно указывать байт программы и подпрограммы 00. Тогда будет активирован кастомный режим мультиповара.

внимание вопрос...зачем нам вообще программа и подпрограмма тогда? поясню мысль... какая разница между:

  1. задаем программу, подпрограмму, температуру и время по умолчанию для этих программ и
  2. ВСЕГДА программу и подпрограмму передавать нулями, а температуру и таймер подставлять с дефолтных значений нужных программ, подпрограмм

просто если разницы нет, то выбор очевиден пробовали так делать?

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

mavrikkk commented 4 years ago

current будет 0 час 50 мин prog будет 1 час 00 мин

теперь понятно...current - это таймер...а прог - начальное значение

mavrikkk commented 4 years ago

Я думаю, что технологически готовится по разному, каждый тип блюда.

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

mavrikkk commented 4 years ago

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

vring0 commented 4 years ago

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

Через приложение по умолчанию нельзя менять температуру во время старта программы. Можно только подкрутить время.

Я замечаю что в некоторых программах, мультиварка включает по разному нагрев. Например когда жарка мяса, там идет постоянный нагрев до нужной температуры. Есть например программа "паста", которая ждет когда закипит вода, а после это издает писк и шлет уведомление, что можно закидывать пасту, после того как ее закинул, подтверждаешь это и пошел отсчет таймера, по умолчанию это 8 мин. Ну и чисто визуально каждая программа отмечается на панели мультиварки и видно что в данный момент готовится.

mavrikkk commented 4 years ago

понятно. ну в нулевом приближении можно попробовать, а там как пойдет... у меня тоже есть мультиварка, правда немного другой модели...долго пытался заставить себя подключить ее к HA, но так и не придумал профита. какой вы планируете сценарий использования?

mavrikkk commented 4 years ago

от чайника у меня только 1 профит...он в будние дни прям перед будильником включается, пока проснешься, умоешься и на кухню выйдешь - кипяток уже готов. сложно представить кейс для мультиварки )) кроме баловства

vring0 commented 4 years ago

у меня тоже есть мультиварка, правда немного другой модели...

У вас тоже Redmond ?

долго пытался заставить себя подключить ее к HA, но так и не придумал профита. какой вы планируете сценарий использования?

Задач много напридумывать можно, но я делаю в связке с ИИ. Я использую распознавание лица. В 2019 году появилась возможность интеграции голосового управления через алису, что тоже удобно, а для этого нужно прокинуть все функции в HA. Ну и вообще у меня концепция умного дома такая, что все должно управляться с одного места и взаимодействовать друг с другом.

mavrikkk commented 4 years ago

У вас тоже Redmond ?

да...RMC-M223S

Задач много напридумывать можно,

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

vring0 commented 4 years ago

У меня настроен сейчас той кейс, когда

  1. утром на кухне присутствует кто то (я или жена). Автоматизация определяет присутствие человека n-е количество времени в определенной локации. включается процесс готовки. Я каждый вечером перед сном закидываю просто что нужно.
  2. Голосовое управление, почему не может быть кейсом использования. Удобно когда руки грязные, чтобы включить нужный режим. Или просто активировать подогрев.
  3. Утром я закладываю ужин и когда вечером я или моя жена покидает зона "работа", то он начинает готовится.

Для чайника аналогичные кейсы.

Есть еще одна идея, но об этом чуть позже.

mavrikkk commented 4 years ago

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

vring0 commented 4 years ago

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

Я как правило закладываю заморозку и крупы. На утро каши, молоко за ночь не портится, нужно чтобы только свежее было.

mavrikkk commented 4 years ago

так...с вас табличка... дефолтные значения... программа - подпрограмма - температура - таймер пока попробуем так...если все это взлетит, подумаем над ручными настройками

mavrikkk commented 4 years ago

когда мультиварка находится в режиме отложенного старта, значение байта [power multicooker] будет 05

а как по статусу узнать, через сколько именно будет отложенный старт

vring0 commented 4 years ago

так...с вас табличка... дефолтные значения... программа - подпрограмма - температура - таймер пока попробуем так...если все это взлетит, подумаем над ручными настройками

Я думаю, что сегодня успею скинуть.

vring0 commented 4 years ago

когда мультиварка находится в режиме отложенного старта, значение байта [power multicooker] будет 05

а как по статусу узнать, через сколько именно будет отложенный старт

Если нужно передавать таймер отложенного статуса, то я гляну какой это байт.