Xioami cooker integration

This is the first draft of the device support:

https://github.com/rytilahti/python-miio/pull/287/files

2 Likes

Cool. Let me know when you need a tester.

P.S. One russian word in source Отмена = Cancel.

Will come back with get_temp_history later today.

1 Like

I’ve a question about this state. The property t_precook has the value 750 here. Did you schedule the next cooking already? Is it 750 minutes = 12,5 hours?

according to the manual, maximum keep warm time is 12 hours… after that it will auto off

mirobo --ip [IP] --token [TOKEN] raw_command set_menu '[“0001E101000000000000800200A00069030103730000085A020000EB006B040103740000095A0400012D006E0501037400000A5A0401FFFF00700601047600000C5A0401052D0A0F3C0A1E91FF820E01FF05FF78826EFF10FF786E02690F0DFF826EFF691000FF826EFF69100069FF5AFF00000000000081E9”]'
Sending cmd set_menu with params [‘0001E101000000000000800200A00069030103730000085A020000EB006B040103740000095A0400012D006E0501037400000A5A0401FFFF00700601047600000C5A0401052D0A0F3C0A1E91FF820E01FF05FF78826EFF10FF786E02690F0DFF826EFF691000FF826EFF69100069FF5AFF00000000000081E9’]
[‘ok’]

mirobo --ip [IP] --token [TOKEN] raw_command get_prop '[“all”]'
Sending cmd get_prop with params [‘all’]
[‘running’, ‘0001’, ‘01000000ff’, ‘031e1112’, ‘58’, ‘-1’, ‘60’, ‘1407’, ‘05060f’, ‘00030017’, ‘0100’, ‘13281323ffff011effff010001012f17’]

mirobo --ip [IP] --token [TOKEN] raw_command get_temp_history "[]"
Sending cmd get_temp_history with params []
[‘161515161c242a3031302f2eaa2f2f2e2f’]

After 10 minutes:

mirobo --ip [IP] --token [TOKEN] raw_command get_prop '[“all”]'
Sending cmd get_prop with params [‘all’]
[‘running’, ‘0001’, ‘02000000ff’, ‘031e1112’, ‘48’, ‘-1’, ‘60’, ‘1407’, ‘05060f’, ‘00030017’, ‘0100’, ‘13281323ffff011effff010002013f1e’]

mirobo --ip [IP] --token [TOKEN] raw_command get_temp_history "[]"
Sending cmd get_temp_history with params []
[‘161515161c242a3031302f2eaa2f2f2e2f2e302f2e2d302f2f2e2f2f2f2f343a3f3f3d3e3c3d3c3f3d3d3d3f3d3d3d3d3e3d3e3c3f3f3d3e3d3e3e3d3f3d3c3e3d3d3e3d3f3e3d3f3e3d3c’]
Seems to be concatenated hex values, or?

After ~15 minutes:

mirobo --ip [IP] --token [TOKEN] raw_command get_prop '[“all”]'
Sending cmd get_prop with params [‘all’]
[‘running’, ‘0001’, ‘07000000ff’, ‘031e1112’, ‘28’, ‘-1’, ‘60’, ‘1407’, ‘05060f’, ‘00030017’, ‘0100’, ‘13281323ffff011effff01000701595f’]

mirobo --ip [IP] --token [TOKEN] raw_command get_temp_history "[]"
Sending cmd get_temp_history with params []
[‘161515161c242a3031302f2eaa2f2f2e2f2e302f2e2d302f2f2e2f2f2f2f343a3f3f3d3e3c3d3c3f3d3d3d3f3d3d3d3d3e3d3e3c3f3f3d3e3d3e3e3d3f3d3c3e3d3d3e3d3f3e3d3f3e3d3c3f3e3d3c3f3e3d3c3f3f3d3d3e3d3d3f3f3d3d3f3f3e3d3d3d3e3e3d3daa3f3f3f3f3f414446474a4e53575e5c5c5b59585755555353545454555554555555565656575757575858585859595b5b5c5c5c5c5d5daa5d5e5f5f606061’]

after 55 minutes:

mirobo --ip [IP] --token [TOKEN] raw_command get_prop '[“all”]'
Sending cmd get_prop with params [‘all’]
[‘running’, ‘0001’, ‘0a000000ff’, ‘031e1112’, ‘5’, ‘-1’, ‘60’, ‘1407’, ‘05060f’, ‘00030017’, ‘0100’, ‘13281323ffff011effff01000a005163’]

mirobo --ip [IP] --token [TOKEN] raw_command get_temp_history "[]"
Sending cmd get_temp_history with params []
[‘161515161c242a3031302f2eaa2f2f2e2f2e302f2e2d302f2f2e2f2f2f2f343a3f3f3d3e3c3d3c3f3d3d3d3f3d3d3d3d3e3d3e3c3f3f3d3e3d3e3e3d3f3d3c3e3d3d3e3d3f3e3d3f3e3d3c3f3e3d3c3f3e3d3c3f3f3d3d3e3d3d3f3f3d3d3f3f3e3d3d3d3e3e3d3daa3f3f3f3f3f414446474a4e53575e5c5c5b59585755555353545454555554555555565656575757575858585859595b5b5c5c5c5c5d5daa5d5e5f5f60606161616162626263636363646464646464646464646464646464646464646364646464646464646464646464646464646464646464646464646464aa5a59585756555554545453535352525252525151515151’]

Keep worm mode:
mirobo --ip [IP] --token [TOKEN] raw_command get_prop '[“all”]'
Sending cmd get_prop with params [‘all’]
[‘autokeepwarm’, ‘0001’, ‘1000000000’, ‘031e1112031e’, ‘0’, ‘1090’, ‘60’, ‘1007’, ‘05060f’, ‘00030017’, ‘0100’, ‘13281323ffff011effff010000004e61’]

mirobo --ip [IP] --token [TOKEN] raw_command get_temp_history "[]"
Sending cmd get_temp_history with params []
[‘0’]

2 Likes

Could you provide some additional translations?

cooking_stage_desc_k1:
  Регулировать температуру, давления, для размягчения риса
  Длительный нагрев, рис поглощает воду, становится более насыщенным и сладким
  Держите температуру высокой, рис любит равномерное тепло
  Высокотемпературный пар, рис кристально чистый, запечатанный и сладкий
  Подогрев риса, раскроет весь его вкус
cooking_stage_desc_k2:
  Регулировать температуру, для смягчения риса
cooking_stage_names_k1:
  Быстрый разогрев
  Температура воды
  Кипячение
  Давление
  Тушеный рис
cooking_stage_names_k2:
  Температура воды
  Кипячение
  Горячий и клейкий
recipe_cooking_finish:
  Завершено
  Выпечка хорошая.
  Подогрев
  Хорошее брожение
  Хорошее приготовление
  Хорошее рагу
  Хорошо
  Каша закипела, хорошо
recipe_is_cooking:
  Are
  Делаем
  Выпечка
  Глиняный горшок
  Брожение
  Вареный
  Тушеное мясо
  Прекрасный рис
  Быстрое приготовление риса

Tried to do my best, but sometimes rather hard to do without context. After all it is Chinese-to-English-to-Russian-to-English translation. What really could go wrong ? :slight_smile:

So here it is:

Регулировать температуру, давления, для размягчения риса = Adjusting temperature and pressure to soften the rice

Длительный нагрев, рис поглощает воду, становится более насыщенным и сладким – Longer heating, rice is absorbing water to be more soft and sweet

Держите температуру высокой, рис любит равномерное тепло – Keeping the temperature high, rice is absorbing the heat

Высокотемпературный пар, рис кристально чистый, запечатанный и сладкий – High pressure steam to seal the flavor of sweet taste.

Подогрев риса, раскроет весь его вкус – Reheat the rice to open its taste.

Регулировать температуру, для смягчения риса - Adjust the temperature to soften rice.

Быстрый разогрев – Quick reheating.

Температура воды – water temperature

Кипячение – boiling

Давление – pressure

Тушеный рис - Braised rice

Горячий и клейкий – Hot and sticky

Завершено – Completed

Выпечка хорошая. - Backing

Подогрев – Reheating

Хорошее брожение – (Well/Good?) fermentation

Хорошее приготовление - (Well/Good?) cooking

Хорошее рагу – (Well/Good?) Stew

Хорошо – (Well/Good?)

Каша закипела, хорошо – porridge is boiling, (Well/Good?)

Делаем – doing/maing/cooking?

Выпечка – Cake/bakery/backing

Глиняный горшок

Брожение – Fermentation

Вареный – Boiled

Тушеное мясо – Braised meat

Прекрасный рис – Perfect rice

Быстрое приготовление риса – Quick rice cooking

May be we should extract another (english) version of the Mi Home plugin. :slight_smile:

I will let you know if I will manage to get one.

Cool! The device implementation for python-miio is almost feature complete!

1 Like

Just an idea, I wonder what would happen if you would install the plugin to emulated android with mihome and then change default language to english and restart the app will make attempt to open device? Will it download english apk?

I don’t know. May be, yes!

Can you try to do this trick with this russian plugin (on your virtual device of cause), then probably you will endup with english plugin…

I cannot install the plugin because I don’t own the device. :slight_smile:

But that the trick will the app check if you own the device when you change the default language or download all addons blindly? IF blindly we might get the english apk

I got your point. I will give it a try.

Hi @Syssi,

I see changes related to the device support are merged with mirobo. Whant your assumption when we could see integration with HA? Supporting material?

It will need a few more weeks. The HA component is still far away.

Any news on this component?

This is the current development version: https://github.com/syssi/xiaomi_cooker

You should group the sensor to a card by:

rice_cooker:
  name: Rice cooker
  control: hidden
  entities:
    - sensor.xiaomi_cooker_duration
    - sensor.xiaomi_cooker_remaining
    - sensor.xiaomi_cooker_mode
    - sensor.xiaomi_cooker_stage_name
    - sensor.xiaomi_cooker_stage_description
    - sensor.xiaomi_cooker_rice_id
    - sensor.xiaomi_cooker_state
    - sensor.xiaomi_cooker_taste
    - sensor.xiaomi_cooker_taste_phase
    - sensor.xiaomi_cooker_temperature
    - sensor.xiaomi_cooker_favorite
    - sensor.xiaomi_cooker_menu