起因是老早之前买了一个米家小饭煲,型号是:chunmi.cooker.eh1,现在都已经下架了,但煮饭什么的还是挺好用的,就是之前被我拆过洗过一回,导致物理按键用不了了,只能用米家 APP 进行操作,着实有点不方便,再加上中午做饭时间紧,小饭煲煮饭耗时长,必须早上先淘好米先预约好中午煮饭才能按时吃上热饭,有时忘了设置预约,中午炒好菜发现饭还是米,难免有点尴尬,所以就有了这个项目,让这个智能小饭煲真正智能起来!
- 允许指定就餐时间段,在就餐时间段内检测到小饭煲上电就自动开始烹饪
- 在就餐时间段之前上电,就自动预约就餐时间段的通常就餐时间进行烹饪
- 允许指定烹饪模式,煮饭,快煮饭,煮粥
- 长时间未断电,自动关闭电饭煲的自动保温,转为待机状态
- 推送消息:预约,自动烹饪,长时间未断电,工作日内未正常提前上电通知(WIP)
使用了 python-miio 这个库来实现互联操作,代码支持 Docker Compose 一键部署,我个人是部署在自家的软路由上
开发过程中,查找了很多资料,因为我用的这款小饭煲似乎比较过时了,python-miio 库的支持不是很好,好在社区还是有大佬,这里就记录一下,方便日后翻阅:
https://github.com/sschirr/python-miio/commit/1cbd3393d7c99465431fa6cbbe9ce3ffebe48627 syssi/xiaomi_cooker#3 (comment)
我目前提供的配置文件按正常人标准已经是比较合理的了,简单来说,早上 6 点之前上电的话,会视作煮粥,7:10 之后上电会预约在 11:30 完成煮饭,中午在 10:40 ~ 11:20 上电的话,会使用常规煮饭模式,而在 11:20 ~ 12:45 上电的话,会使用快煮饭模式节约时间,晚上做饭不怎么赶时间,因此没有快煮饭模式。
名称 | 含义 |
---|---|
COOKER_IP | 小饭煲的内网 IP,和宿主机之间要能够互通 |
COOKER_TOKEN | 小饭煲的 token,具体可以参见 python-miio 的文档获取 |
BARK_TOKEN | bark 的 token,视情况填入 |