- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Xiaomi Mi Induction Cooker #491
Comments
I've bought four of these things haha and disassembled one of them. Here is the output from the same commands as above and some interpretations :
and while it was on (but not cooking) :
While off, room temperature pot :
While cooking at 10% power in "hotpot" mode (pot is cold) :
While cooking at 99% power in "hotpot" mode (pot is warming up, probably +/- 50 deg C) :
Paused, just after hitting 99.5 degrees C water temperature in the pot :
If results[2] is '00591000b9' then results[3] appears to be timer-related: Also, if I discover the device with handshaking enabled and then do wifi-configure, the device connects to the target network but the token seems to change. The device's token can't be retrieved once it is on the new network. |
Have you already tried to using the existing cooker module for this, maybe it uses the same (or slightly changed) format? I'm unfamiliar with these devices, @syssi knows more what'd be the best approach to add support for it. |
I looked at cooker.py thinking that they may be similar but the format appears to be quite different (they're much simpler than the device cooker.py describes, but running modes are somewhat similar). It should be easy to implement though. If I have time today I'll give it a go. There's one issue I'm having though that's really turning into a drag: the devices seem to change their token when I configure them to connect to my home wifi network. I can only query them when they're in pairing mode. It's got an esp8266 in it with UART headers, so first prize would be a Tasmota-like project haha. One day. |
Ah, I see, yeah, ESP8266 is a common occurrence, I suppose ;-) Almost all, if not all devices reset the token during provisioning (except some very old one, I think this got fixed at some point in their sdk), so the token has to be extracted, e.g., from the backups after that is done. Feel free to submit a PR in case you discover how the message format works! |
Does anyone succeed to control the Xiaomi Induction cooker ? |
I am trying to start, stop and control the temperature of the Xiamoi Induction stove. |
Could you provide the Mi Home app plugin (apk) of this device? You can extract/retrieve it if you have a rooted android device. |
Hi there, here’s apk for induction cooker. |
Hello, |
Hi, So is the token problem solvable? I guess the rest, snooping all parts of the protocol, should be fairly trivial going forward? |
Hi, first on line 621 of ihcooker.py, i change menu to recip_name : then i got the status :
after i want to start a program, but i got error :
value of self.data is:
in next i want to set temperature in continuous mode with a custom level of fire, Thanks in advance. |
i find the solution, all value need to converted to hexadecimal after adjustement : with this we can set target temp 40°C to 200°C (80°C to 110°C works, Xiaomi app can't this), edit : with this no need to do something with hexadecimal value. |
Hi, with app in power mode, it's possible to make a recipe with 3 step power and time standby power is the same as chunmi.ihcooker.exp1 = 3.4W i don't know if it's possible to flash a firmware that works with Mi home app, i take screenshot of Tokit app: From 4pda.ru, Sergevit buy TDCL0E1ACM (Smart Induction Cooker Lite), then if you want to get something like this please verify that this induction cooker works with mi home application, edit 2021-02-24 :
thanks basveeling for make the code, but now it's outside of miio protocol, |
Sorry, I searched for a long time, but I couldn't find how to add ihcooker.py to miiocli (or another * .py). edit2: add text to the correct files or insert new files from basveeling #832. ihcooker.py from coolibry and edit for own recipe. great, thank you very much, I'm going to try!!!! edit3: If i can set timer, manualy set hours and minutes in set_duration and set_duration_maximum. But more then 4 hours not set, cooker time will reduce edit4: |
hello Cudab, in my side i noticed 3 things that can be usefull :
this is the mode of fire, this value equal to constant fire,
if value is set to 0 = no fire
"heat_until_temp" = 2 #same as 0 but with threshold "temp_auto_small" = 8 #temp regulation and fire hard coded for small pot "temp_auto_big" = 24 #temp regulation and fire hard coded for big pot then only mode 0 and 2 are usefull.
array_recipe[14] = prog hours end cooking 128+hours = 147 with this cooker start at 18h cooking of course position of this need to find (in range of all 0 value). hope this can be usefull :) |
Sorry about this being off-topic, but is anybody able to provide an English version of the firmware, me and many other people have Chinese language only versions and would love to be able to flash the international firmware. |
================================================== Installed version: Python-miio 0.5.9.1 I tried to use the indicated improvement, but the command returned the following error: Usage: miiocli [OPTIONS] COMMAND [ARGS]... Error: No such command "ihcooker". Thanks for sharing |
Hi, |
================================================================================ Thanks Cudab! I downloaded several files and made changes to the files as errors came up. The address used was https://github.com/rytilahti/python-miio/tree/9b402c0585bf97820adc9ea69dcafb30dfd7d5a0/miio. To download the files I needed to open each one of them and click on the RAW button to get an address that could be downloaded by wget in linux. In the /.local/lib/python3.8/site-packages/miio directory In the /.local/lib/python3.8/site-packages/miio/integrations directory In the /.local/lib/python3.8/site-packages/miio/integrations/ihcooker directory In the ~/.local/lib/python3.8/site-packages/miio/integrations/ihcooker/data directory When I run the command miiocli ihcooker --ip <my_ip> --token <my_token> set_menu "recipe name" "position [1-9] 9: no saving" "confirm_start [True/False]" the following error occurs: Traceback (most recent call last): |
Hi. |
I replaced the click_common.py file, but the error stayed the same. Thank you for your attention. Someone could provide the installation form to allow use on devices that are not supported in the official version (python-miio 0.5.9.1). Or also the availability of compressed files in case it is difficult to detail. I tried to find without success. The device I am trying to use is the Xiaomi induction cooker chunmi.ihcooker.v1 Thanks |
@edimarcr |
Thanks @cudab! Now it worked. I just needed to add the following line to the |
I made a brief walkthrough based on @cudab and @coolibry tips to use Mi induction cooker chunmi.ihcooker.v1 solution and it will certainly work on other cookers of the same line. I used WSL on Windows: 2 - Python Installation: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-nd-set-up-a-programming-environment-on-an-ubuntu-20-04-server 3 - Obtaining the cooker token: https://python-miio.readthedocs.io/en/latest/discovery.html 4 - Python-miio installation: https://python-miio.readthedocs.io/en/latest/discovery.html 5 - To make it easier, you can access the Linux files using Windows explorer through the path \wsl$ 6 - Delete the folder \wsl$\Ubuntu\home\user.local\lib\python3.8\site-packages\miio (Windows) or /home/user/.local/lib/python3.8/site- packages/miio (Linux). 7 - Download the miio.tar.gz file from https://ulozto.cz/tamhle/lCkGhs0IMJdv#!ZGR1AQR2AmN1ATSxAmV3ZTEyMGVmAKMxFx1aMRgUGaMPE2EyZj== 8 - Unzip the file miio.tar.gz in the directory /home/user/.local/lib/python3.8/site-packages/miio 9 - In this folder, change the from miio.ihcooker import IHCoker Thanks to @cudab 10 - From now on you will need the token and IP obtained in step 3 and replace this data in the commands you will send to your device. To test if you got the right data do a test with the following command: miiocli ihcooker --ip 192.168.x.x --token 123456789000abcd123456ddd88a6b7c info 11 - Change the file 12 - To save the recipe, use the command, where ReciceName can be up to 6 characters long. RecipeNumber can range from 1 to 8 and will replace the recipe of the position you choose and if you type 9 the recipe will be saved temporarily. The last option is to execute or not the recipe with the options True or False. On my device the True option did not work: miiocli ihcooker --ip 192.168.x.x --token 123456789000abcd123456ddd88a6b7c set_menu RecipeName RecipeNumber True Thanks to @coolibry |
Have you already tried out the #832 by @basveeling to see if that is working fine on your devices? If not, it'd be great if you could report your precise findings on that PR so that they could be fixed. It should be much easier to use when we get this merged, but adding some documentation on how to use specific features (like recipe saving etc.) would be much appreciated in a separate PR. |
I searched for all projects related to the Mi induction cooker chunmi.ihcooker.v1 device line, including #832 by @basveeling, but I couldn't make the changes or install these projects because I didn't know the correct procedure. Perhaps the solution for the project indicated by @cudab is already included in project #832, but I still don't know the correct procedure to use it. |
Hello, wanna check if anyone is still using it? I have installed the package and able to get the info & status, however I cannot create new profile and start a specific profile cooking, thanks for your advice. |
I believe it has similar commands with Mi Smart Electric Rice Cooker.
And can get this outputs to 'all' command.
The text was updated successfully, but these errors were encountered: