al-one / hass-xiaomi-miot

Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成
https://miot-spec.com
Apache License 2.0
4.64k stars 664 forks source link

米家恒温电水壶2 Pro 缺少实体 #1036

Open fazadkiel opened 1 year ago

fazadkiel commented 1 year ago

Device model / 设备型号

yunmi.kettle.v19

Component version / 插件版本

0.7.5

HA core version / HA版本

2023.2.5

Integrated mode / 集成方式

Automatic (自动模式)

The problem / 问题详情

控件只显示工作状态、当前温度,不显示保温时间,并只可以调整要升到的温度(40-99度),无法煮沸,无法控温,无法调整控温时间

image image

Entity attributes / 实体属性

https://home.miot-spec.com/spec/yunmi.kettle.v19

min_temp: 40
max_temp: 99
current_temperature: 11
temperature: 40
target_temp_high: 99
target_temp_low: 40
model: yunmi.kettle.v19
lan_ip: 192.168.50.4
mac_address: DC:ED:83:3A:1B:2C
entity_class: MiotWaterHeaterEntity
home_room: 我的家 三楼客厅
miot_type: urn:miot-spec-v2:device:kettle:0000A009:yunmi-v19:1
kettle.status: 0
kettle-2.device_fault: 1
kettle.temperature: 11
kettle.target_temperature: 40
kettle.auto_keep_warm: true
kettle.keep_warm_temperature: 45
local_timing.scene_sequence.error: -704083036 Device operation timeout
local_timing.scene_one.error: -704083036 Device operation timeout
local_timing.scene_two.error: -704083036 Device operation timeout
local_timing.scene_three.error: -704083036 Device operation timeout
local_timing.scene_four.error: -704083036 Device operation timeout
local_timing.scene_five.error: -704083036 Device operation timeout
knob_setting.knob_sequence.error: -704083036 Device operation timeout
knob_setting.knob_one.error: -704083036 Device operation timeout
knob_setting.knob_two.error: -704083036 Device operation timeout
knob_setting.knob_three.error: -704083036 Device operation timeout
knob_setting.knob_four.error: -704083036 Device operation timeout
knob_setting.knob_five.error: -704083036 Device operation timeout
knob_setting.knob_six.error: -704083036 Device operation timeout
function.keep_warm_time: 720
function.custom_knob_temp: false
function.lift_remember_temp: true
function.boiling_reminder: true
function.keep_warm_reminder: true
function.kettle_lifting.error: -704083036 Device operation timeout
function.extended_mode: 温水,45,1,45,720_泡枸杞,70,1,70,720_花茶,80,1,80,720
function.warming_time.error: -704083036 Device operation timeout
function.target_mode: 0
state_updater: cloud
friendly_name: 米家恒温电水壶2 Pro Kettle
supported_features: 1

Home Assistant Logs / 系统日志

al-one commented 1 year ago

请尝试master分支。

fazadkiel commented 1 year ago

请尝试master分支。

大佬,master分支已解决无实体问题,十分感谢,但使用过程中碰到另一个问题,没有办法直接点击某个按键进行加热,没有单独的显示温度+状态的实体,没有办法直接设置需要加热到的温度

是否可以将加热实体和显示温度+显示状态的实体分开,并给加热实体一个按钮来进行加热 是否可以直接脚本设置加热温度,脚本设置进行加热

image image

al-one commented 1 year ago

米家上是通过什么操作开始加热的?

al-one commented 1 year ago

请参考上述方法,通过vevs修改版的米家操作设备,抓取该设备日志。

fazadkiel commented 1 year ago

请参考上述方法,通过vevs修改版的米家操作设备,抓取该设备日志。

192.168.50.4 yunmi.kettle.v19 5750ecbc79a6e3708dbf1d7f0d1982d0

192.168.50.4 yunmi.kettle.v19 5750ecbc79a6e3708dbf1d7f0d1982d0

2023-03-02 18:40:38 -> {"id":8381,"method":"get_properties","params":[{"did":"621059839","siid":5,"piid":5},{"did":"621059839","siid":5,"piid":6},{"did":"621059839","siid":3,"piid":7},{"did":"621059839","siid":3,"piid":11},{"did":"621059839","siid":3,"piid":8}]} id":"621059839","siid":2,"piid":6},{"did":"621059839","siid":3,"piid":10},{"did":"621059839","siid":3,"piid":1},{"did":"621059839","siid":3,"piid":2},{"did":"621059839","siid":3,"piid":3},{"did":"621059839","siid":4,"piid":1},{"did":"621059839","siid":4,"piid":2}]} 2023-03-02 18:40:38 -> {"id":8380,"method":"get_properties","params":[{"did":"621059839","siid":4,"piid":3},{"did":"621059839","siid":4,"piid":4},{"did":"621059839","siid":4,"piid":5},{"did":"621059839","siid":4,"piid":6},{"did":"621059839","siid":4,"piid":7},{"did":"621059839","siid":3,"piid":4},{"did":"621059839","siid":3,"piid":5},{"did":"621059839","siid":3,"piid":6},{"did":"621059839","siid":5,"piid":1},{"did":"621059839","siid":5,"piid":2},{"did":"621059839","siid":5,"piid":3},{"did":"621059839","siid":5,"piid":4}]} 2023-03-02 18:40:38 <- {"code":0,"exe_time":10,"id":8379,"message":"ok","net_cost":323,"ot_cost":1,"otlocalts":1677753637767859,"result":[{"code":0,"did":"621059839","piid":1,"siid":2,"value":0},{"code":0,"did":"621059839","piid":2,"siid":2,"value":0},{"code":0,"did":"621059839","piid":3,"siid":2,"value":20},{"code":0,"did":"621059839","piid":4,"siid":2,"value":99},{"code":0,"did":"621059839","piid":5,"siid":2,"value":true},{"code":0,"did":"621059839","piid":6,"siid":2,"value":45},{"code":0,"did":"621059839","piid":10,"siid":3,"value":0},{"code":0,"did":"621059839","piid":1,"siid":3,"value":720},{"code":0,"did":"621059839","piid":2,"siid":3,"value":false},{"code":0,"did":"621059839","piid":3,"siid":3,"value":"456070850000"},{"code":0,"did":"621059839","piid":1,"siid":4,"value":"1,2,3,4,0,0"},{"code":0,"did":"621059839","piid":2,"siid":4,"value":"泡奶,0,45,720"}]} 2023-03-02 18:40:38 <- {"code":0,"exe_time":0,"id":8380,"message":"ok","net_cost":0,"ot_cost":0,"otlocalts":1677753637767700,"result":[{"code":0,"did":"621059839","piid":3,"siid":4,"value":"蜂蜜,0,60,720"},{"code":0,"did":"621059839","piid":4,"siid":4,"value":"煮茶,0,70,720"},{"code":0,"did":"621059839","piid":5,"siid":4,"value":"咖啡,0,85,720"},{"code":0,"did":"621059839","piid":6,"siid":4,"value":",0,0,0"},{"code":0,"did":"621059839","piid":7,"siid":4,"value":",0,0,0"},{"code":0,"did":"621059839","piid":4,"siid":3,"value":true},{"code":0,"did":"621059839","piid":5,"siid":3,"value":true},{"code":0,"did":"621059839","piid":6,"siid":3,"value":true},{"code":0,"did":"621059839","piid":1,"siid":5,"value":"0,0,0,0,0"},{"code":0,"did":"621059839","piid":2,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":3,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":4,"siid":5,"value":"0000,0000,0,0"}]} 2023-03-02 18:40:42 -> {"id":8382,"method":"get_properties","params":[{"did":"621059839","siid":2,"piid":1},{"did":"621059839","siid":2,"piid":2},{"did":"621059839","siid":2,"piid":3},{"did":"621059839","siid":2,"piid":4},{"did":"621059839","siid":2,"piid":5},{"did":"621059839","siid":2,"piid":6},{"did":"621059839","siid":3,"piid":10},{"did":"621059839","siid":3,"piid":1},{"did":"621059839","siid":3,"piid":2},{"did":"621059839","siid":3,"piid":3},{"did":"621059839","siid":4,"piid":1},{"did":"621059839","siid":4,"piid":2}]} 2023-03-02 18:40:42 <- {"code":0,"exe_time":20,"id":8382,"message":"ok","net_cost":75,"ot_cost":0,"otlocalts":1677753641672553,"result":[{"code":0,"did":"621059839","piid":1,"siid":2,"value":0},{"code":0,"did":"621059839","piid":2,"siid":2,"value":0},{"code":0,"did":"621059839","piid":3,"siid":2,"value":20},{"code":0,"did":"621059839","piid":4,"siid":2,"value":99},{"code":0,"did":"621059839","piid":5,"siid":2,"value":true},{"code":0,"did":"621059839","piid":6,"siid":2,"value":45},{"code":0,"did":"621059839","piid":10,"siid":3,"value":0},{"code":0,"did":"621059839","piid":1,"siid":3,"value":720},{"code":0,"did":"621059839","piid":2,"siid":3,"value":false},{"code":0,"did":"621059839","piid":3,"siid":3,"value":"456070850000"},{"code":0,"did":"621059839","piid":1,"siid":4,"value":"1,2,3,4,0,0"},{"code":0,"did":"621059839","piid":2,"siid":4,"value":"泡奶,0,45,720"}]} 2023-03-02 18:40:42 -> {"id":8383,"method":"get_properties","params":[{"did":"621059839","siid":4,"piid":3},{"did":"621059839","siid":4,"piid":4},{"did":"621059839","siid":4,"piid":5},{"did":"621059839","siid":4,"piid":6},{"did":"621059839","siid":4,"piid":7},{"did":"621059839","siid":3,"piid":4},{"did":"621059839","siid":3,"piid":5},{"did":"621059839","siid":3,"piid":6},{"did":"621059839","siid":5,"piid":1},{"did":"621059839","siid":5,"piid":2},{"did":"621059839","siid":5,"piid":3},{"did":"621059839","siid":5,"piid":4}]} 2023-03-02 18:40:42 <- {"code":0,"exe_time":10,"id":8383,"message":"ok","net_cost":126,"ot_cost":0,"otlocalts":1677753641715091,"result":[{"code":0,"did":"621059839","piid":3,"siid":4,"value":"蜂蜜,0,60,720"},{"code":0,"did":"621059839","piid":4,"siid":4,"value":"煮茶,0,70,720"},{"code":0,"did":"621059839","piid":5,"siid":4,"value":"咖啡,0,85,720"},{"code":0,"did":"621059839","piid":6,"siid":4,"value":",0,0,0"},{"code":0,"did":"621059839","piid":7,"siid":4,"value":",0,0,0"},{"code":0,"did":"621059839","piid":4,"siid":3,"value":true},{"code":0,"did":"621059839","piid":5,"siid":3,"value":true},{"code":0,"did":"621059839","piid":6,"siid":3,"value":true},{"code":0,"did":"621059839","piid":1,"siid":5,"value":"0,0,0,0,0"},{"code":0,"did":"621059839","piid":2,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":3,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":4,"siid":5,"value":"0000,0000,0,0"}]} 2023-03-02 18:40:42 -> {"id":8384,"method":"get_properties","params":[{"did":"621059839","siid":5,"piid":5},{"did":"621059839","siid":5,"piid":6},{"did":"621059839","siid":3,"piid":7},{"did":"621059839","siid":3,"piid":11},{"did":"621059839","siid":3,"piid":8}]} 2023-03-02 18:40:42 <- {"code":0,"exe_time":20,"id":8384,"message":"ok","net_cost":106,"ot_cost":0,"otlocalts":1677753641736399,"result":[{"code":0,"did":"621059839","piid":5,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":6,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":7,"siid":3,"value":false},{"code":0,"did":"621059839","piid":11,"siid":3,"value":1},{"code":0,"did":"621059839","piid":8,"siid":3,"value":"温水,45,1,45,720_泡枸杞,70,1,70,720_花茶,80,1,80,720"}]} 2023-03-02 18:40:42 -> {"id":8385,"method":"set_properties","params":[{"did":"621059839","siid":2,"piid":4,"value":99},{"did":"621059839","siid":2,"piid":5,"value":true},{"did":"621059839","siid":2,"piid":6,"value":45},{"did":"621059839","siid":3,"piid":1,"value":720},{"did":"621059839","siid":3,"piid":11,"value":1}]} 2023-03-02 18:40:42 <- {"code":0,"exe_time":30,"id":8385,"message":"ok","net_cost":125,"ot_cost":0,"otlocalts":1677753642200579,"result":[{"code":0,"did":"621059839","piid":4,"siid":2},{"code":0,"did":"621059839","piid":5,"siid":2},{"code":0,"did":"621059839","piid":6,"siid":2},{"code":0,"did":"621059839","piid":1,"siid":3},{"code":0,"did":"621059839","piid":11,"siid":3}]} 2023-03-02 18:40:43 -> {"id":8386,"method":"get_properties","params":[{"did":"621059839","siid":2,"piid":1}]} 2023-03-02 18:40:43 <- {"code":0,"exe_time":0,"id":8386,"message":"ok","net_cost":0,"ot_cost":0,"otlocalts":1677753642674055,"result":[{"code":0,"did":"621059839","piid":1,"siid":2,"value":1}]} 2023-03-02 18:40:46 -> {"id":8389,"method":"get_properties","params":[{"did":"621059839","siid":5,"piid":5},{"did":"621059839","siid":5,"piid":6},{"did":"621059839","siid":3,"piid":7},{"did":"621059839","siid":3,"piid":11},{"did":"621059839","siid":3,"piid":8}]} 2023-03-02 18:40:46 <- {"code":0,"exe_time":20,"id":8389,"message":"ok","net_cost":146,"ot_cost":1,"otlocalts":1677753645774557,"result":[{"code":0,"did":"621059839","piid":5,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":6,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":7,"siid":3,"value":false},{"code":0,"did":"621059839","piid":11,"siid":3,"value":1},{"code":0,"did":"621059839","piid":8,"siid":3,"value":"温水,45,1,45,720_泡枸杞,70,1,70,720_花茶,80,1,80,720"}]} 2023-03-02 18:40:46 -> {"id":8387,"method":"get_properties","params":[{"did":"621059839","siid":2,"piid":1},{"did":"621059839","siid":2,"piid":2},{"did":"621059839","siid":2,"piid":3},{"did":"621059839","siid":2,"piid":4},{"did":"621059839","siid":2,"piid":5},{"did":"621059839","siid":2,"piid":6},{"did":"621059839","siid":3,"piid":10},{"did":"621059839","siid":3,"piid":1},{"did":"621059839","siid":3,"piid":2},{"did":"621059839","siid":3,"piid":3},{"did":"621059839","siid":4,"piid":1},{"did":"621059839","siid":4,"piid":2}]} 2023-03-02 18:40:46 <- {"code":0,"exe_time":20,"id":8387,"message":"ok","net_cost":165,"ot_cost":0,"otlocalts":1677753645797162,"result":[{"code":0,"did":"621059839","piid":1,"siid":2,"value":1},{"code":0,"did":"621059839","piid":2,"siid":2,"value":0},{"code":0,"did":"621059839","piid":3,"siid":2,"value":21},{"code":0,"did":"621059839","piid":4,"siid":2,"value":99},{"code":0,"did":"621059839","piid":5,"siid":2,"value":true},{"code":0,"did":"621059839","piid":6,"siid":2,"value":45},{"code":0,"did":"621059839","piid":10,"siid":3,"value":0},{"code":0,"did":"621059839","piid":1,"siid":3,"value":720},{"code":0,"did":"621059839","piid":2,"siid":3,"value":false},{"code":0,"did":"621059839","piid":3,"siid":3,"value":"456070850000"},{"code":0,"did":"621059839","piid":1,"siid":4,"value":"1,2,3,4,0,0"},{"code":0,"did":"621059839","piid":2,"siid":4,"value":"泡奶,0,45,720"}]} 2023-03-02 18:40:46 -> {"id":8388,"method":"get_properties","params":[{"did":"621059839","siid":4,"piid":3},{"did":"621059839","siid":4,"piid":4},{"did":"621059839","siid":4,"piid":5},{"did":"621059839","siid":4,"piid":6},{"did":"621059839","siid":4,"piid":7},{"did":"621059839","siid":3,"piid":4},{"did":"621059839","siid":3,"piid":5},{"did":"621059839","siid":3,"piid":6},{"did":"621059839","siid":5,"piid":1},{"did":"621059839","siid":5,"piid":2},{"did":"621059839","siid":5,"piid":3},{"did":"621059839","siid":5,"piid":4}]} 2023-03-02 18:40:46 <- {"code":0,"exe_time":10,"id":8388,"message":"ok","net_cost":167,"ot_cost":0,"otlocalts":1677753645824106,"result":[{"code":0,"did":"621059839","piid":3,"siid":4,"value":"蜂蜜,0,60,720"},{"code":0,"did":"621059839","piid":4,"siid":4,"value":"煮茶,0,70,720"},{"code":0,"did":"621059839","piid":5,"siid":4,"value":"咖啡,0,85,720"},{"code":0,"did":"621059839","piid":6,"siid":4,"value":",0,0,0"},{"code":0,"did":"621059839","piid":7,"siid":4,"value":",0,0,0"},{"code":0,"did":"621059839","piid":4,"siid":3,"value":true},{"code":0,"did":"621059839","piid":5,"siid":3,"value":true},{"code":0,"did":"621059839","piid":6,"siid":3,"value":true},{"code":0,"did":"621059839","piid":1,"siid":5,"value":"0,0,0,0,0"},{"code":0,"did":"621059839","piid":2,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":3,"siid":5,"value":"0000,0000,0,0"},{"code":0,"did":"621059839","piid":4,"siid":5,"value":"0000,0000,0,0"}]}

大佬,以上为抓取的日志信息,只点击了下图中的这个按钮 image image

按我的理解,煮沸模式是把加热温度设置为了99,下图为其它自定选项字段 image image

al-one commented 1 year ago
{"id":8385,"method":"set_properties","params":[
{"did":"621059839","siid":2,"piid":4,"value":99},   # target-temperature
{"did":"621059839","siid":2,"piid":5,"value":true}, # auto-keep-warm
{"did":"621059839","siid":2,"piid":6,"value":45},   # keep-warm-temperature
{"did":"621059839","siid":3,"piid":1,"value":720},  # keep-warm-time
{"did":"621059839","siid":3,"piid":11,"value":1}    # target-mode
]}

从你的日志中可以看出,在设置完参数后,通过设置target-mode属性可以开始加热。请再次更新master分支,会多出一个target-mode实体,将下拉值选择为1应该就可以加热,至于其他选项,应该是对应不同的自定义模式。

StoneShiLei commented 1 year ago
{"id":8385,"method":"set_properties","params":[
{"did":"621059839","siid":2,"piid":4,"value":99},   # target-temperature
{"did":"621059839","siid":2,"piid":5,"value":true}, # auto-keep-warm
{"did":"621059839","siid":2,"piid":6,"value":45},   # keep-warm-temperature
{"did":"621059839","siid":3,"piid":1,"value":720},  # keep-warm-time
{"did":"621059839","siid":3,"piid":11,"value":1}    # target-mode
]}

从你的日志中可以看出,在设置完参数后,通过设置target-mode属性可以开始加热。请再次更新master分支,会多出一个target-mode实体,将下拉值选择为1应该就可以加热,至于其他选项,应该是对应不同的自定义模式。

我也遇到这个情况了,改温度可以烧水,但是target-mode改成1还是别的值都无效

hass-demacia commented 7 months ago
{"id":8385,"method":"set_properties","params":[
{"did":"621059839","siid":2,"piid":4,"value":99},   # target-temperature
{"did":"621059839","siid":2,"piid":5,"value":true}, # auto-keep-warm
{"did":"621059839","siid":2,"piid":6,"value":45},   # keep-warm-temperature
{"did":"621059839","siid":3,"piid":1,"value":720},  # keep-warm-time
{"did":"621059839","siid":3,"piid":11,"value":1}    # target-mode
]}

从你的日志中可以看出,在设置完参数后,通过设置target-mode属性可以开始加热。请再次更新master分支,会多出一个target-mode实体,将下拉值选择为1应该就可以加热,至于其他选项,应该是对应不同的自定义模式。

alias: 保温脚本
sequence:
  - if:
      - condition: template
        value_template: >-
          {{state_attr("water_heater.yunmi_v19_0b79_kettle","kettle.auto_keep_warm")}}
    then:
      - service: water_heater.set_temperature
        target:
          entity_id: water_heater.yunmi_v19_0b79_kettle
        data:
          temperature: >-
            {{state_attr("water_heater.yunmi_v19_0b79_kettle","kettle.keep_warm_temperature")}}
          operation_mode: "1"
      - delay:
          hours: 0
          minutes: 0
          seconds: 6
          milliseconds: 0
      - service: switch.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: switch.yunmi_v19_0b79_auto_keep_warm
    else:
      - service: water_heater.set_temperature
        target:
          entity_id: water_heater.yunmi_v19_0b79_kettle
        data:
          temperature: >-
            {{state_attr("water_heater.yunmi_v19_0b79_kettle","kettle.keep_warm_temperature")}}
          operation_mode: "1"
mode: single
icon: mdi:kettle

实际测试,上述脚本有效,煮沸逻辑类似,直接把temperature固定设置为99。借助miot的实体黑盒测试过程,发现有几个点:

  1. 每次执行完set_temperature后,是可以加热或煮沸,但是auto_keep_warm会自动关闭。
  2. 执行完set_temperature后,应该是有个“冷静期”,才能设置auto_keep_warm,然后温度到达target_temperature后,自动保温。
  3. 如果当前温度传感器的温度大于set_temperature设置的值,热水器会亮下灯,但是马上灭掉。

希望对各位和作者有帮助