python-miio icon indicating copy to clipboard operation
python-miio copied to clipboard

Xiaomi Smart Kettle 2 Pro - Support request

Open Itzamna44 opened this issue 2 years ago • 3 comments

Before submitting a new request, use the search to see if there is an existing issue for the device.

Device information:

  • Name(s) of the device: Xiaomi Smart Kettle 2 Pro (yunmi.kettle.v19)
  • Link: https://home.mi.com/webapp/content/baike/product/index.html?model=yunmi.kettle.v19#/

Use miiocli device --ip <ip address> --token <token> info.

  • Model: yunmi.kettle.v19
  • Hardware version: esp32
  • Firmware version: 2.2.0_0030

Additional context There is spec for it: https://home.miot-spec.com/spec?type=urn:miot-spec-v2:device:kettle:0000A009:yunmi-v19:1

Itzamna44 avatar Jan 06 '23 20:01 Itzamna44

Feel free to try miiocli genericmiot on the current git master new branch for generic support.

rytilahti avatar Jan 06 '23 21:01 rytilahti

Yes, it works.

miiocli genericmiot --ip ip --token token status Status (kettle:status): Idle (value: 0) (from: Idle (0), Heating (1), Boiling (2), Cooling (3), Keep Warm (4)) Device Fault (kettle:fault): 0 None (min: 0, max: 255, step: 1) Temperature (kettle:temperature): 52 None (min: -30, max: 100, step: 1) [S] Target Temperature (kettle:target-temperature): 99 None (min: 40, max: 99, step: 1) [S] Auto Keep Warm (kettle:auto-keep-warm): False [S] Keep Warm Temperature (kettle:keep-warm-temperature): 40 None (min: 0, max: 100, step: 1) [S] keep-warm-time (function:keep-warm-time): 12:00:00 (min: 60, max: 1440, step: 30) [S] (function:custom-knob-temp): False [S] (function:lift-remember-temp): True [S] (function:boiling-reminder): True [S] (function:keep-warm-reminder): True (function:kettle-lifting): False [S] extended-mode (function:extended-mode): 温水,45,1,45,720_泡枸杞,70,1,70,720_花茶,80,1,80,720 None warming-time (function:warming-time): 0 None (min: 0, max: 720, step: 1) [S] target-mode (function:target-mode): 1 None (min: 0, max: 128, step: 1) knob-sequence (knob-setting:knob-sequence): 1,2,3,4,0,0 None [S] knob-one (knob-setting:knob-one): 泡奶,0,45,720 None [S] (knob-setting:knob-two): 蜂蜜,0,60,720 None [S] (knob-setting:knob-three): 煮茶,0,70,720 None [S] (knob-setting:knob-four): 咖啡,0,85,720 None [S] (knob-setting:knob-five): ,0,0,0 None [S] (knob-setting:knob-six): ,0,0,0 None scene-sequence (local-timing:scene-sequence): 0,0,0,0,0 None [S] scene-one (local-timing:scene-one): 0000,0000,0,0 None [S] scene-two (local-timing:scene-two): 0000,0000,0,0 None [S] scene-three (local-timing:scene-three): 0000,0000,0,0 None [S] (local-timing:scene-four): 0000,0000,0,0 None [S] (local-timing:scene-five): 0000,0000,0,0 None

But only two actions:

miiocli genericmiot --ip ip --token token actions function:stop-work stop-work local-timing:push-water-reminder push-water-reminder

And no way to start heating. Thaks.

Itzamna44 avatar Jan 07 '23 12:01 Itzamna44

Maybe one of those settable settings (marked with [S] in the output) would start heating? If it can be controlled from the app, you could try to extract what the app is sending to the device to find out how to command it. https://python-miio.readthedocs.io/en/latest/contributing.html#improving-device-support contains information about how to do traffic captures.

rytilahti avatar Jan 08 '23 22:01 rytilahti