• Stars
    star
    123
  • Rank 289,438 (Top 6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Xiaomi Mi Electric Rice Cooker integration for Home Assistant

Xiaomi Mi Electric Rice Cooker

GitHub actions GitHub stars GitHub forks GitHub watchers "Buy Me A Coffee"

This is a custom component for home assistant to integrate the Xiaomi Mi Electric Rice Cooker V2.

Please follow the instructions on Retrieving the Access Token to get the API token to use in the configuration.yaml file.

Credits: Thanks to Rytilahti for all the work.

Supported devices

Name Model Model no.
chunmi.cooker.normal1 IHFB01CM
Mi IH Rice Cooker chunmi.cooker.normal2 IHFB01CM, 2016DP1293
chunmi.cooker.normal3
chunmi.cooker.normal4
chunmi.cooker.normal5
Mi Smart Pressure Cooker chunmi.cooker.press1 YLIH01CM
chunmi.cooker.press2

Features

Rice Cooker V2

  • Start cooking a profile
  • Stop cooking
  • Sensors
    • mode
    • menu
    • temperature
    • remaining
    • duration
    • favorite
    • state (available while cooking)
    • rice_id (available while cooking)
    • taste (available while cooking)
    • taste_phase (available while cooking)
    • stage_name (available while cooking)
    • stage_description (available while cooking)
  • Switches
    • TODO: Start/Stop is possible if a default profile is available (Recipe input_select?)
    • TODO: Buzzer on/off
    • TODO: Turn off the backlight on idle
  • Chart
    • TODO: Temperature History (Like the temperature chart of the weather forecast)
  • Services
    • TODO: stop_outdated_firmware
    • TODO: set_no_warnings / set_acknowledge
    • TODO: set_interaction
    • TODO: set_menu
    • TODO: get_temperature_history

Install

You can install this custom component by adding this repository (https://github.com/syssi/xiaomi_cooker) to HACS in the settings menu of HACS first. You will find the custom component in the integration menu afterwards, look for 'Xiaomi Mi Electric Rice Cooker Integration'. Alternatively, you can install it manually by copying the custom_component folder to your Home Assistant configuration folder.

Setup

# configuration.yaml

xiaomi_miio_cooker:
  name: Xiaomi Rice Cooker
  host: 192.168.130.88
  token: b7c4a758c251955d2c24b1d9e41ce47d
  model: chunmi.cooker.normal2

# template switch example to start a specific cooking profile
switch:
  - platform: template
    switches:
      xiaomi_miio_cooker:
        value_template: "{{ is_state('sensor.xiaomi_miio_cooker_mode', 'Running') }}"
        turn_on:
          service: xiaomi_miio_cooker.start
          data:
            profile: "0001E10100000000000080026E10082B126E1412698CAA555555550014280A6E0C02050506050505055A14040A0C0C0D00040505060A0F086E6E20000C0A5A28036468686A0004040500000000000000010202020204040506070708001212180C1E2D2D37000000000000000000000099A5"
        turn_off:
          service: xiaomi_miio_cooker.stop

Configuration variables:

  • host (Required): The IP of your cooker.
  • token (Required): The API token of your cooker.
  • name (Optional): The name of your cooker.
  • model (Optional): The model of your device. Valid values are chunmi.cooker.normal2 and chunmi.cooker.normal5. This setting can be used to bypass the device model detection and is recommended if your device isn't always available.

Lovelace

type: vertical-stack
cards:
  - type: entities
    title: Ricecooker
    state_color: false
    entities:
      - entity: switch.xiaomi_miio_cooker
      - entity: sensor.xiaomi_miio_cooker_duration
      - entity: sensor.xiaomi_miio_cooker_remaining
      - entity: sensor.xiaomi_miio_cooker_mode
        secondary_info: last-changed
      - entity: sensor.xiaomi_miio_cooker_stage_name
        secondary_info: last-changed
      - entity: sensor.xiaomi_miio_cooker_stage_description
      - entity: sensor.xiaomi_miio_cooker_rice_id
      - entity: sensor.xiaomi_miio_cooker_state
        secondary_info: last-changed
      - entity: sensor.xiaomi_miio_cooker_taste
      - entity: sensor.xiaomi_miio_cooker_taste_phase
      - entity: sensor.xiaomi_miio_cooker_temperature
      - entity: sensor.xiaomi_miio_cooker_favorite
      - entity: sensor.xiaomi_miio_cooker_menu
        secondary_info: last-changed
  - type: sensor
    entity: sensor.xiaomi_miio_cooker_remaining
    detail: 2
    hours_to_show: 1
  - type: sensor
    entity: sensor.xiaomi_miio_cooker_temperature
    graph: line
    detail: 2
    hours_to_show: 2

Lovelace card example

If you prefer a button instead of a switch entity you could add a lovelace button card to you dashboard:

type: button
tap_action:
  action: call-service
  service: xiaomi_miio_cooker.start
  service_data:
    profile: "010088003201000028000012000000000000000000000846822A6E14002018000F6E82736E140A201810000000000000000000003C8782716E1400200A100000000000000000000000000000000000000000000000000000000000003C0A000000008700000000000000000000000000424D"
hold_action:
  action: more-info
show_icon: true
show_name: true
icon: 'mdi:cake'
name: Baking Cake
icon_height: 40px

Lovelace button to start cooking

Debugging

If the custom component doesn't work out of the box for your device please update your configuration to increase the log level:

logger:
  default: warn
  logs:
    custom_components.xiaomi_miio_cooker: debug
    miio: debug

Platform services

Service xiaomi_miio_cooker.start

Start cooking a profile.

Service data attribute Optional Description
profile no Profile data which describes the temperature curve.

Some cooking profile examples: https://raw.githubusercontent.com/rytilahti/python-miio/master/miio/data/cooker_profiles.json

  • MODEL_PRESSURE: chunmi.cooker.press1, chunmi.cooker.press2
  • MODEL_NORMAL_GROUP1: chunmi.cooker.normal2, chunmi.cooker.normal5
  • MODEL_NORMAL_GROUP2: chunmi.cooker.normal3, chunmi.cooker.normal4

Service xiaomi_miio_cooker.stop

Stop the cooking process.

More Repositories

1

xiaomi_airpurifier

Xiaomi Mi Air Purifier and Xiaomi Mi Air Humidifier integration for Home Assistant
Python
406
star
2

xiaomi_airconditioningcompanion

Xiaomi Mi and Aqara Air Conditioning Companion integration for Home Assistant
Python
374
star
3

xiaomi_fan

Xiaomi Mi Smart Fan integration for Home Assistant
Python
330
star
4

esphome-jk-bms

ESPHome component to monitor and control a Jikong Battery Management System (JK-BMS) via UART-TTL or BLE
C++
181
star
5

esphome-yeelight-ceiling-light

ESPHome custom firmware for some Yeelight Ceiling Lights
C++
101
star
6

xiaomi_raw

Custom component for Home Assistant to faciliate the reverse engeneering of Xiaomi MiIO devices
Python
93
star
7

esphome-pipsolar

ESPHome component to monitor and control a pipsolar inverter via RS232
85
star
8

philipslight

Xiaomi Philips Lights integration for Home Assistant
Python
62
star
9

esphome-soyosource-gtn-virtual-meter

ESPHome component to simulate the current clamp to control the Soyosource GTN1200 limiter
C++
45
star
10

esphome-jbd-bms

ESPHome component to monitor and control a Xiaoxiang Battery Management System (JBD-BMS) via UART-TTL or BLE
C++
40
star
11

homeassistant-goecharger-mqtt

go-eCharger integration for Home Assistant using the MQTT API
Python
35
star
12

es-f

|es|f| is a web based HTML frontend for esniper, a lightweight console application for sniping eBay auctions.
PHP
29
star
13

esphome-zb-gw03

ESPHome custom firmware for the ZB-GW03 zigbee gateway
29
star
14

esphome-ant-bms

ESPHome component to monitor and control a ANT-BMS via UART
C++
27
star
15

esphome-atorch-dl24

ESPHome component to monitor and control some Atorch meters via bluetooth
C++
23
star
16

esphome-seplos-bms

ESPHome component to monitor a Seplos Battery Management System (Seplos-BMS) via UART or RS485
C++
23
star
17

esphome-solax-x1-mini

ESPHome component to monitor a Solax X1 mini via RS485
C++
22
star
18

esphome-mi-desk-lamp

ESPHome custom firmware for the Xiaomi Mi Desk Lamp
21
star
19

nextbike

Nextbike integration for Home Assistant
Python
11
star
20

esphome-jnge-mppt-controller

ESPHome component to monitor and control a JN-MPPT or JN-W/S Controller via RS485
C++
8
star
21

esphome-votronic

ESPHome component to monitor votronic devices via BLE or Display Link
C++
6
star
22

esphome-smg-ii

ESPHome configuration to monitor and control a ISolar/EASUN SMG II inverter via RS232
Shell
6
star
23

esphome-evse-wallbox

ESPHome component to monitor and control a EVSE wallbox
C++
5
star
24

esphome-pace-bms

ESPHome component to monitor and control a PACE Battery Management System (PACE-BMS) via RS485 (Modbus)
Shell
5
star
25

esphome-dps

ESPHome component to monitor and control the RDTech DPS series
C++
5
star
26

esphome-virtual-can-bms

ESPHome component to emulate a SMA/Victron compatible BMS via CAN bus
C++
5
star
27

xiaomi_airqualitymonitor

Xiaomi Mi Air Quality Monitor (PM2.5) integration for Home Assistant
Python
3
star
28

xiaomi_airhumidifier

Xiaomi Mi Air Humidifier integration for Home Assistant
2
star
29

xiaomi_repeater

Xioami Mi WiFi Repeater 2 integration for Home Assistant
Python
2
star
30

esphome-basen-bms

ESPHome component to monitor a Basen Battery Management System via BLE
C++
2
star
31

htc-vision-extended-keymap

Extended keymap for the qwertz hardware keyboard of my HTC Vision
C++
1
star
32

yeelight

Yeelight integration for Home Assistant
Python
1
star
33

esphome-config-examples

A collection of various ESPHome configurations and snippets
1
star
34

esphome-total-count

Python
1
star