云米零冷水zero 16L(吕布)热水器接入HA,用大神的miot auto

您所在的位置:网站首页 viomi热水器E1 云米零冷水zero 16L(吕布)热水器接入HA,用大神的miot auto

云米零冷水zero 16L(吕布)热水器接入HA,用大神的miot auto

#云米零冷水zero 16L(吕布)热水器接入HA,用大神的miot auto| 来源: 网络整理| 查看: 265

本帖最后由 ms2 于 2022-1-13 20:32 编辑

家里的燃气热水器坏了,因为也用了7年了,所以干脆换一个,想着反正都是买,那就搞个支持HA的吧,虽然好像接入HA也没什么用处。然后就在论坛里找看哪家的支持,看来看去,还是云米的有点希望。我想着应该能行吧,然后就入手了一个。 -------------------------------------------------------------------------------------------------------- 已完美解决,anlong大神(miot auto插件作者)一出马,就几行代码的事,看二楼,加上这几行代码,直接整个面板就出来了(此代码应该也适用其它小米设备的调用,这太牛了),如下图: UC截图20220111213855.png 登录/注册后可看大图

UC截图20220111213855.png (31.14 KB, 下载次数: 0)

下载附件

2022-1-11 21:40 上传

1月12日anlong大神插件最新更新:我测试了上面的温度设置,改不了温度,今天跟大神沟通了,大神几分钟就把插件更新了,解决了这个问题,然后还问了模式设置怎么改成中文,大神以前的文档里有,但当时没看明白,现在搞明白了,更新后如下: UC截图20220112140707.png 登录/注册后可看大图

UC截图20220112140707.png (29.73 KB, 下载次数: 0)

下载附件

2022-1-12 14:07 上传

注意看:模式-自定义   这几个字,以前是英文的,可以直接改成中文的。全部代码如下:

游客,如果您要查看本帖隐藏内容请回复 -------------------------------------------------------------------------------------------------------- 下面这些可看可不看了:上面anlong已给出了代码,有了这几行代码,所有的事情都变得简单了。 买回来才发现,这插件对我的热水器,用不了,然后看到另一个大神做的小米插件:https://bbs.hassbian.com/thread-12007-1-1.html,这真是神一般的存在,我一开始以为这个是HA原生的集成呢,真是太好用了。 用了这个小米的miot auto插件后,直接在HA的集成界面里,就把我的热水器接入了,现在说说我碰到的问题,请教一下大家。接入后,在开发者工具,状态里得到2个东西: a.png 登录/注册后可看大图

a.png (65.96 KB, 下载次数: 0)

下载附件

2022-1-4 10:43 上传

b.png 登录/注册后可看大图

b.png (133.12 KB, 下载次数: 0)

下载附件

2022-1-4 10:44 上传

接入后,直接可用的是:热水器开关,以及热水器当前的水温,开关直接用是没问题的,但默认的水温,如果想做自动化是用不了的,因为不是数值的属性,然后我就做了一个sensor 如下: sensor: - platform: template sensors: yunmi_waterheater_temp: #热水器小温 friendly_name: 云米温度 value_template: "{{ states.water_heater.viomi_u27_47a2_water_heater.attributes.current_temperature }}" unit_of_measurement: °C 这样水温也搞定了,输出的是数值属性,可以直接做自动化调用了。

然后问题来了,其它几个重要的属性在HA里可以看到(一键即热、当前模式、目标温度、巡航预约),但是不知道怎么拿出来用,对应的数据如下:

min_temp: 30 #最低水温 max_temp: 65 #最高水温 operation_list: Custom, AI, Children, Comfortable, Old Man, Kitchen #可设置操作模式列表 current_temperature: 23 #当前热水器水温,如果在用的过程中,显示实时水温 temperature: 42 #已设置的水温 target_temp_high: 65 #目标最高水温 target_temp_low: 30 #目标最低水温 operation_mode: Custom #已设定的操作模式 model: viomi.waterheater.u27 lan_ip: 192.168.1.38 mac_address: xx:xx:xx:xx:xx:xx entity_class: MiotWaterHeaterEntity miot_type: urn:miot-spec-v2:device:water-heater:0000A02A:viomi-u27:1 water_heater.fault: 0 #热水器错误状态,0应该是正常 water_heater.target_temperature: 42 #目标水温,可在服务里用set_property设置 water_heater.temperature: 23 #当前水温 water_heater.mode: 0 #,可在服务里用set_property设置,设置模式,0是Custom(Custom, AI, Children, Comfortable, Old Man, Kitchen) water_heater.status: 2 # 这个会随热水器总开关变化,如果是关的,这里会显示0,如果一键即热打开,这里显示4 water_heater.on: true #热水器开关,可在服务里用set_property设置 cruise_appointment.on: false #自动巡航预约开关,可在服务里用set_property设置 cruise_appointment.start_hours: 19 #设置的自动巡航预约开始时间-小时,可在服务里用set_property设置 start_minutes-5-3: 0 #设置的自动巡航预约开始时间-分钟,可在服务里用set_property设置 cruise_appointment.end_hours: 21 #设置的自动巡航预约结束时间-小时,可在服务里用set_property设置 cruise_appointment.end_minutes: 0-5-6: 0 #设置的自动巡航预约结束时间-分钟,可在服务里用set_property设置 function.water_velocity: 0 #当前热水流速,这个重要,我很需要 function.preheating: false #一键即热开关,可在服务里用set_property设置 function.cruise_press: true #自动巡航相关的,不懂作用 state_updater: lan sub_entities: water_heater-2.on-6 friendly_name: Xiaomi Miot Water Heater supported_features: 3 首先,我当时看到插件作者写的可以调用小米设备的siid,piid来得到值,我当时在想这我怎么知道,后来认真看了一下作者的帖子,原来作者还帖心的把所有的小米设备的这些值都做成表了,我的热水器值如下表:https://home.miot-spec.com/spec/viomi.waterheater.u27 下面开始说说插件作者牛逼的东西了,首先我试了一下设置水温如下: c.png 登录/注册后可看大图

c.png (74.86 KB, 下载次数: 0)

下载附件

2022-1-4 11:08 上传

转换成代码是这样的: service: water_heater.set_temperature data: temperature: 42 target: entity_id: water_heater.viomi_u27_47a2_water_heater 这样直接点调试,是可以设置温度的,说明这方法可行了,那第一个问题来了,把这个服务转成lovelace可输入温度的界面怎么写,各位大神有懂的麻烦回复一下。

然后就是更复杂的了,那就是怎么样得到水流速传感器值了,测试如下: d.png 登录/注册后可看大图

d.png (63.01 KB, 下载次数: 0)

下载附件

2022-1-4 11:19 上传

转换成代码:

service: xiaomi_miot.get_properties data: entity_id: water_heater.viomi_u27_47a2_water_heater throw: true mapping: function: siid: 2 piid: 1 点击调试后,会在通知里得到如下结果: Miot properties [{'did': 'prop.2.1', 'siid': 2, 'piid': 1, 'code': 0, 'value': 0}] 注意最后那个'value': 0,这个0就是得到的水流速,上面这个表在python里是一个二维的表,怎么样才能得到我只里要的最后一个value': 0的值呢。 这是第二个问题,这个传感器要怎么写,才能得到这个水流速的值,麻烦懂的大神帮个忙告诉我。 剩下就是第三个问题了,上面我问的只是怎么设置温度(目标温度),还有一键即热、当前模式、巡航预约这些,在属性表里都是可以调用的,其它这些要怎么写,各位大神,发挥你们才能的时候到了,麻烦大家回复了,谢谢。 现在总结一下我具体需要的界面及开关: 0、热水器总开关(这个接入就有了,可以直接用) 1、当前水温(这个自己搞定了) 2、当前水流速(这个可以通过服务调用出来值 ,但不知道怎么写传感器,得到的是python的二维表,不是单一的值,python我刚学,水平不够) 3、当前模式(这个在属性里有select值,但不知道怎么写到界面里) 4、一键即热(这个用服务可以调出来属性,但不知道怎么写成开关-已解决,直接写个开关模板,后面有代码) 5、目标温度(这个在服务里可以调用,但不知道怎么写到界面里) 6、巡航预约开关(这个属性在服务里也可以调用出来---已解决,跟一键即热开关一样写个开关模板,后面有代码) 7、巡航预约设定时间(这个是打开巡航预约开关后,会有输入时间的界面,在服务里也可以调用出值 ,但不知道怎么写界面) ---------------------------------------------------------------------------------------------------- 热水器各种设置,可以在开发者工具里用这个服务,所有有关开,关,或者温度值,都可以这样设置: e.png 登录/注册后可看大图

e.png (54.61 KB, 下载次数: 0)

下载附件

2022-1-6 16:42 上传

刚搞定“一键即热”跟“零冷水预约”这2个开关,我家没有热水回水管,我没用这功能,但看网上有些朋友很需要这开关,所以折腾了一下,感觉好像能用调用这些,都可以正常用了,代码如下:

游客,如果您要查看本帖隐藏内容请回复目前折腾到这个程度,好像也差不多够用了: f.png 登录/注册后可看大图

f.png (28.85 KB, 下载次数: 0)

下载附件

2022-1-7 16:33 上传

后面的继续折腾,还有一个水流速再折腾一下,待续。。。。。。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3