{"id":15634801,"url":"https://github.com/syssi/xiaomi_cooker","last_synced_at":"2025-03-17T14:14:42.494Z","repository":{"id":60109626,"uuid":"134057086","full_name":"syssi/xiaomi_cooker","owner":"syssi","description":"Xiaomi Mi Electric Rice Cooker integration for Home Assistant","archived":false,"fork":false,"pushed_at":"2024-08-12T06:42:09.000Z","size":144,"stargazers_count":145,"open_issues_count":32,"forks_count":37,"subscribers_count":19,"default_branch":"develop","last_synced_at":"2025-03-04T22:58:30.907Z","etag":null,"topics":["custom-component","hacktoberfest","home-assistant","miio","miio-protocol","rice-cooker","sensor","xiaomi","xiaomi-cooker"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syssi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-19T11:47:44.000Z","updated_at":"2025-02-16T22:42:11.000Z","dependencies_parsed_at":"2024-10-23T03:23:28.436Z","dependency_job_id":null,"html_url":"https://github.com/syssi/xiaomi_cooker","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fxiaomi_cooker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fxiaomi_cooker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fxiaomi_cooker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fxiaomi_cooker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syssi","download_url":"https://codeload.github.com/syssi/xiaomi_cooker/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244047646,"owners_count":20389206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-component","hacktoberfest","home-assistant","miio","miio-protocol","rice-cooker","sensor","xiaomi","xiaomi-cooker"],"created_at":"2024-10-03T10:57:40.679Z","updated_at":"2025-03-17T14:14:42.461Z","avatar_url":"https://github.com/syssi.png","language":"Python","funding_links":["https://www.buymeacoffee.com/syssi"],"categories":[],"sub_categories":[],"readme":"# Xiaomi Mi Electric Rice Cooker\n\n![GitHub actions](https://github.com/syssi/xiaomi_cooker/actions/workflows/ci.yaml/badge.svg)\n![GitHub stars](https://img.shields.io/github/stars/syssi/xiaomi_cooker)\n![GitHub forks](https://img.shields.io/github/forks/syssi/xiaomi_cooker)\n![GitHub watchers](https://img.shields.io/github/watchers/syssi/xiaomi_cooker)\n[![\"Buy Me A Coffee\"](https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg)](https://www.buymeacoffee.com/syssi)\n\nThis is a custom component for home assistant to integrate the Xiaomi Mi Electric Rice Cooker V2.\n\nPlease follow the instructions on [Retrieving the Access Token](https://www.home-assistant.io/integrations/xiaomi_miio/#xiaomi-cloud-tokens-extractor) to get the API token to use in the configuration.yaml file.\n\nCredits: Thanks to [Rytilahti](https://github.com/rytilahti/python-miio) for all the work.\n\n## Supported devices\n\n| Name                      | Model                  | Model no. |\n| ------------------------- | ---------------------- | --------- |\n|                           | chunmi.cooker.normal1  | IHFB01CM  |\n| Mi IH Rice Cooker         | chunmi.cooker.normal2  | IHFB01CM, 2016DP1293  |\n|                           | chunmi.cooker.normal3  | |\n|                           | chunmi.cooker.normal4  | |\n|                           | chunmi.cooker.normal5  | |\n| Mi Smart Pressure Cooker  | chunmi.cooker.press1   | YLIH01CM  |\n|                           | chunmi.cooker.press2   | |\n\n## Features\n\n### Rice Cooker V2\n\n* Start cooking a profile\n* Stop cooking\n* Sensors\n  - mode\n  - menu\n  - temperature\n  - remaining\n  - duration\n  - favorite\n  - state (available while cooking)\n  - rice_id (available while cooking)\n  - taste (available while cooking)\n  - taste_phase (available while cooking)\n  - stage_name (available while cooking)\n  - stage_description (available while cooking)\n* Switches\n  - TODO: Start/Stop is possible if a default profile is available (Recipe input_select?)\n  - TODO: Buzzer on/off\n  - TODO: Turn off the backlight on idle\n* Chart\n  - TODO: Temperature History (Like the temperature chart of the weather forecast)\n* Services\n  - TODO: stop_outdated_firmware\n  - TODO: set_no_warnings / set_acknowledge\n  - TODO: set_interaction\n  - TODO: set_menu\n  - TODO: get_temperature_history\n\n\n## Install\n\nYou can install this custom component by adding this repository ([https://github.com/syssi/xiaomi_cooker](https://github.com/syssi/xiaomi_cooker/)) to [HACS](https://hacs.xyz/) 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.\n\n\n## Setup\n\n```yaml\n# configuration.yaml\n\nxiaomi_miio_cooker:\n  name: Xiaomi Rice Cooker\n  host: 192.168.130.88\n  token: b7c4a758c251955d2c24b1d9e41ce47d\n  model: chunmi.cooker.normal2\n\n# template switch example to start a specific cooking profile\nswitch:\n  - platform: template\n    switches:\n      xiaomi_miio_cooker:\n        value_template: \"{{ is_state('sensor.xiaomi_miio_cooker_mode', 'Running') }}\"\n        turn_on:\n          service: xiaomi_miio_cooker.start\n          data:\n            profile: \"0001E10100000000000080026E10082B126E1412698CAA555555550014280A6E0C02050506050505055A14040A0C0C0D00040505060A0F086E6E20000C0A5A28036468686A0004040500000000000000010202020204040506070708001212180C1E2D2D37000000000000000000000099A5\"\n        turn_off:\n          service: xiaomi_miio_cooker.stop\n```\n\nConfiguration variables:\n- **host** (*Required*): The IP of your cooker.\n- **token** (*Required*): The API token of your cooker.\n- **name** (*Optional*): The name of your cooker.\n- **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.\n\n## Lovelace\n\n```\ntype: vertical-stack\ncards:\n  - type: entities\n    title: Ricecooker\n    state_color: false\n    entities:\n      - entity: switch.xiaomi_miio_cooker\n      - entity: sensor.xiaomi_miio_cooker_duration\n      - entity: sensor.xiaomi_miio_cooker_remaining\n      - entity: sensor.xiaomi_miio_cooker_mode\n        secondary_info: last-changed\n      - entity: sensor.xiaomi_miio_cooker_stage_name\n        secondary_info: last-changed\n      - entity: sensor.xiaomi_miio_cooker_stage_description\n      - entity: sensor.xiaomi_miio_cooker_rice_id\n      - entity: sensor.xiaomi_miio_cooker_state\n        secondary_info: last-changed\n      - entity: sensor.xiaomi_miio_cooker_taste\n      - entity: sensor.xiaomi_miio_cooker_taste_phase\n      - entity: sensor.xiaomi_miio_cooker_temperature\n      - entity: sensor.xiaomi_miio_cooker_favorite\n      - entity: sensor.xiaomi_miio_cooker_menu\n        secondary_info: last-changed\n  - type: sensor\n    entity: sensor.xiaomi_miio_cooker_remaining\n    detail: 2\n    hours_to_show: 1\n  - type: sensor\n    entity: sensor.xiaomi_miio_cooker_temperature\n    graph: line\n    detail: 2\n    hours_to_show: 2\n```\n\n![Lovelace card example](lovelace-card-example.png \"lovelace card\")\n\nIf you prefer a button instead of a switch entity you could add a lovelace button card to you dashboard:\n\n```\ntype: button\ntap_action:\n  action: call-service\n  service: xiaomi_miio_cooker.start\n  service_data:\n    profile: \"010088003201000028000012000000000000000000000846822A6E14002018000F6E82736E140A201810000000000000000000003C8782716E1400200A100000000000000000000000000000000000000000000000000000000000003C0A000000008700000000000000000000000000424D\"\nhold_action:\n  action: more-info\nshow_icon: true\nshow_name: true\nicon: 'mdi:cake'\nname: Baking Cake\nicon_height: 40px\n```\n\n![Lovelace button to start cooking](lovelace-button-start-cooking.png \"lovelace button\")\n\n## Debugging\n\nIf the custom component doesn't work out of the box for your device please update your configuration to increase the log level:\n\n```\nlogger:\n  default: warn\n  logs:\n    custom_components.xiaomi_miio_cooker: debug\n    miio: debug\n```\n\n## Platform services\n\n#### Service `xiaomi_miio_cooker.start`\n\nStart cooking a profile.\n\n| Service data attribute    | Optional | Description                                                          |\n|---------------------------|----------|----------------------------------------------------------------------|\n| `profile`                 |       no | Profile data which describes the temperature curve.                  |\n\nSome cooking profile examples: https://raw.githubusercontent.com/rytilahti/python-miio/master/miio/data/cooker_profiles.json\n\n- `MODEL_PRESSURE`: `chunmi.cooker.press1`, `chunmi.cooker.press2`\n- `MODEL_NORMAL_GROUP1`: `chunmi.cooker.normal2`, `chunmi.cooker.normal5`\n- `MODEL_NORMAL_GROUP2`: `chunmi.cooker.normal3`, `chunmi.cooker.normal4`\n\n#### Service `xiaomi_miio_cooker.stop`\n\nStop the cooking process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyssi%2Fxiaomi_cooker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyssi%2Fxiaomi_cooker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyssi%2Fxiaomi_cooker/lists"}