{"id":31397618,"url":"https://github.com/asruda/mi_kettle_pro","last_synced_at":"2026-05-16T11:33:08.980Z","repository":{"id":316571596,"uuid":"1063021492","full_name":"asruda/mi_kettle_pro","owner":"asruda","description":"A custom component for Home Assistant that controls the Mi Smart Kettle Pro.","archived":false,"fork":false,"pushed_at":"2025-09-25T10:28:09.000Z","size":227,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-25T12:17:27.195Z","etag":null,"topics":["custom-component","hacs-integration","home-assistant","home-assistant-integration","kettle","smart-home","xiaomi-smart"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asruda.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-24T04:08:05.000Z","updated_at":"2025-09-25T10:28:13.000Z","dependencies_parsed_at":"2025-09-25T12:18:26.923Z","dependency_job_id":"3f224b44-7a4b-46e3-b8eb-a54980f450e1","html_url":"https://github.com/asruda/mi_kettle_pro","commit_stats":null,"previous_names":["asruda/mi_kettle_pro"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/asruda/mi_kettle_pro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asruda%2Fmi_kettle_pro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asruda%2Fmi_kettle_pro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asruda%2Fmi_kettle_pro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asruda%2Fmi_kettle_pro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asruda","download_url":"https://codeload.github.com/asruda/mi_kettle_pro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asruda%2Fmi_kettle_pro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277526754,"owners_count":25833447,"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","status":"online","status_checked_at":"2025-09-29T02:00:09.175Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","hacs-integration","home-assistant","home-assistant-integration","kettle","smart-home","xiaomi-smart"],"created_at":"2025-09-29T13:58:42.818Z","updated_at":"2025-09-29T13:58:46.954Z","avatar_url":"https://github.com/asruda.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mi Kettle Pro - Home Assistant integration for remote control of the Xiaomi Mi Smart Kettle Pro\n![Product](https://raw.githubusercontent.com/asruda/mi_kettle_pro/master/pictures/mi_kettle_pro.png)\n\nThis project adds support for the Xiaomi Kettle Pro to Home Assistant. It establishes a direct local connection to your kettle, which allows you to control it from anywhere using Home Assistant. Currently, it is confirmed to work with the `yunmi.kettle.v9` and should support `v10` to `v16`. If your Kettle Pro is still your faithful companion today, please give it a try!\n\n## Functionality\n- Set the temperature of mode: heating, warming\n- Heat the water to the set temperature \n- Keep water warm according to the set temperature \n- monitor water temperature, device status\n\n## Supported Models\n- yunmi.kettle.v9\n- yunmi.kettle.v10 to v16 (likely supported)\n\n`yunmi.kettle.v9` serves as the testing device (`mjhwsh02ym` on a label on the bottom of the device). Other models are likely supported since they all share the **Mi Smart Kettle Pro** name. You can verify device name [here](https://home.miot-spec.com/s/yunmi.kettle.v10).\n\n## Preparation\n1. Recommended Version:\n```\nHA: 2025.5.3+\nHACS: 2.0.5+\n```\n1. Make sure your **Xiaomi Home app** can control your device.\n2. Get your device **token**, **model**, and **MAC address** by following this project: [Xiaomi-cloud-tokens-extractor](https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor).\n3. Check that your kettle model is in the range yunmi.kettle.`v9` to `v16`.\n4. Make sure your Home Assistant has at least one available Bluetooth adapter which supports BLE 4.2+.\n5. It is recommended to enable `Remember keep warm temperature after lifting kettle` in the Xiaomi Home app. The kettle will automatically enter keep-warm status when lifted and placed back.\n\n## Installation\n\n### 1. Install using [HACS](https://hacs.xyz/)\n**Click**\n\n[![Open your Home Assistant instance and open the Mi Smart Kettle Pro integration inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=asruda\u0026repository=mi_kettle_pro\u0026category=integration)\n\nThen, Open HACS \u003e Search `Mi Smart Kettle Pro` and click **DOWNLOAD** \n\n### 2. Clone and Run Install Script\n\n```bash\ncd /tmp\ngit clone https://github.com/asruda/mi_kettle_pro.git\ncd mi_kettle_pro\n./install.sh \u003cyour HA directory\u003e/config\n```\n\n### 3: Download [Releases](https://github.com/asruda/mi_kettle_pro/releases) and Copy Manually\n\ncopy `mi_kettle_pro/custom_components/xiaomi_home` folder to `\u003cHA Directory\u003e/config/custom_components` folder in your Home Assistant.\n\n## Configuration\n\nAdd a new entry for one device in the Home Assistant UI:\n- **Set Heating Temperature**: The target temperature when the `Heat` button is pressed.\n- **Set Warming Temperature**: The target temperature when the `Warm` button is pressed.\n\n## Entities\n| Name | Type | Usage | Description |\n|----------------------|------|-------|-------------|\n| Heat | button | set heating mode | When the button is pressed, the kettle is set to heating mode first. After the water temperature reaches the target temperature, the kettle switches to warming mode |\n| Set Heating Temperature | number | set heating temperature | min: 50, max: 100 |\n| Warm | button | set warming mode | |\n| Set keep-warm Temperature | number | set keep-warm temperature | min: 10, max: 90 |\n| Operational Mode | sensor | whether the device is controllable | value: `control`, `monitor` |\n| Current Temperature | sensor | current water temperature | |\n| Status | sensor | kettle status | value: `cooling`, `heating`, `keeping` `warm`, `idle` |\n\n## Instructions\n1. Make sure there is always **enough water** in the kettle.\n2. Remote control is only possible by pressing the kettle's boil physical button (requires enabling `Automatic heat preservation after boiling` in the Xiaomi Home app), or by pressing the second physical keep-warm button to set in the warming mode. If the device status is idle, the component cannot control the kettle.\n3. Only one application can control your device at a time - either this component or the Xiaomi Home app. If you want to control your device using the Xiaomi Home app, please disable the device in Home Assistant first.\n4. When the login process finishes, the component will update mode config `3` and `4` on your device as follows:\n\n| Mode | Edit | Description |\n|------|------|-------------|\n| `0` | no | - |\n| `1` | no | - |\n| `2` | no | - |\n| `3` | **yes** | warming mode, Temperature: `warming temperature`, Duration: 12 hours |\n| `4` | **yes** | heating mode, Temperature: `heating temperature`, Duration: 1 hours |\n\n## Troubleshooting\n1. If the connection is intermittent, try lifting and replacing the kettle.\n2. If the mode buttons are disabled, please short-press the second physical keep-warm button to activate the warming mode, indicated by the warming LED turning on.\n3. After updating the token, reload the component for the changes to take effect.\n\n## Acknowledgments\n\n- **[XiaoMi/ha_xiaomi_home](https://github.com/XiaoMi/ha_xiaomi_home)**\n- **[custom-components/ble_monitor](https://github.com/custom-components/ble_monitor)**\n- **[anna-oake/xiaomi-kettle](https://github.com/anna-oake/xiaomi-kettle)**\n- **[drndos/mikettle](https://github.com/drndos/mikettle)**\n\nThis work was inspired by prior projects on Xiaomi device integration and protocol analysis.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasruda%2Fmi_kettle_pro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasruda%2Fmi_kettle_pro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasruda%2Fmi_kettle_pro/lists"}