『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 60087|回复: 58

[技术探讨] 云米浴霸通过xiaomi_miio_raw接入home assistant

  [复制链接]

24

主题

358

帖子

4733

积分

元老级技术达人

积分
4733
金钱
4350
HASS币
120
发表于 2020-6-16 15:46:24 | 显示全部楼层 |阅读模式
本帖最后由 121665460 于 2020-6-17 09:28 编辑

配置:
sensor:
  - platform: xiaomi_miio_raw
    name: yunmi Bat Heater
    host: 192.168.31.207
    token: xxxxxxx



然后可以获得信息:
model: viomi.bhf_light.v1
firmware_version: 2.0.6
hardware_version: esp8266
properties:
  - power
power: 4

测试发现:
power: 4//换气
照明:16
自然风:16384
暖风:4096
待机:1
自定义:256
延时关机:64

组合是数字相加,换成二进制可以很好等处理
直接上代码:
sensor:
  - platform: template
    sensors:
      bhstatusval:
        friendly_name: '浴霸状态'
        value_template: >
          {% if state_attr('sensor.yunmi_bat_heater','power') == 1  %}待机
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 4 %}换气
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 16 %}照明
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 16384 %}自然风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 4096 %}暖风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 256 %}自定义
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 20 %}照明&换气
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 16400 %}照明&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 4112 %}照明&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 272 %}照明&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 16388 %}换气&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 4100 %}换气&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 260 %}换气&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 16404 %}照明&换气&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 4116 %}照明&换气&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','power') == 276 %}照明&换气&自定义
          {% endif %}


温湿度信息见2楼
其实这些值用二进制表示,通过不同位为1开启不同功能最方便。等有空研究下插件怎么用栽搞
控制方法见3

提供下整合好的yaml文件:有显示状态,温湿度,简单的单项控制功能
游客,如果您要查看本帖隐藏内容请回复


组合控制请教下怎么在yaml文件做计算?
{{ state_attr('sensor.yunmi_bat_heater','switch_state') + 4}}

{{ state_attr('sensor.yunmi_bat_heater','switch_state') }} + 4

都不行






评分

参与人数 2金钱 +40 HASS币 +10 收起 理由
jyz_0501 + 20 论坛有你更精彩!
+ 20 + 10 感谢楼主分享!

查看全部评分

回复

使用道具 举报

24

主题

358

帖子

4733

积分

元老级技术达人

积分
4733
金钱
4350
HASS币
120
 楼主| 发表于 2020-6-16 16:55:13 | 显示全部楼层
sensor:
  - platform: xiaomi_miio_raw
    name: yunmi Bat Heater
    host: 192.168.31.207
    token: ab474c1b15a7ea17c39fbf5b7c6c193d
    default_properties:
      - power
      - humidity
      - temp
      - switch_state
      - wind_tem
      - off_time
  - platform: template
    sensors:
      bhhumidity:
        friendly_name: '浴霸湿度'
        value_template: "{{ state_attr('sensor.yunmi_bat_heater','humidity') }}%"
      bhtemp:
        friendly_name: '浴霸温度'
        value_template: "{{ state_attr('sensor.yunmi_bat_heater','temp') }}°C"
      bhstatus:
        friendly_name: '浴霸状态'
        value_template: "{{ state_attr('sensor.yunmi_bat_heater','switch_state') }}"
      bhstatusname:
        friendly_name: '浴霸状态'
        value_template: >
          {% if state_attr('sensor.yunmi_bat_heater','switch_state') == 1 %}待机
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4 %}换气
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16 %}照明
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16384 %}自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4096 %}暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 256 %}自定义
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 20 %}照明&换气
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16400 %}照明&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4112 %}照明&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 272 %}照明&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16388 %}换气&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4100 %}换气&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 260 %}换气&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16404 %}照明&换气&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4116 %}照明&换气&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 276 %}照明&换气&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 68 %}延时&换气
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 80 %}延时&照明
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16448 %}延时&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4160 %}延时&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 320 %}延时&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 84 %}延时&照明&换气
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16464 %}延时&照明&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4176 %}延时&照明&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 336 %}延时&照明&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16452 %}延时&换气&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4164 %}延时&换气&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 324 %}延时&换气&自定义
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 16468 %}延时&照明&换气&自然风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 4180 %}延时&照明&换气&暖风
          {% elif state_attr('sensor.yunmi_bat_heater','switch_state') == 340 %}延时&照明&换气&自定义
          {% endif %}
          


增加温度和湿度显示
回复

使用道具 举报

24

主题

358

帖子

4733

积分

元老级技术达人

积分
4733
金钱
4350
HASS币
120
 楼主| 发表于 2020-6-16 17:15:39 | 显示全部楼层
调用sensor.xiaomi_miio_raw_command服务实现控制设备
entity_id: sensor.yunmi_bat_heater
method: set_switch
params: [1]
回复

使用道具 举报

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2020-6-16 22:15:19 | 显示全部楼层
厉害!!!这个是真的可以!!  

哎 什么时候我的马桶盖也接进去 就不怕关灯问题了~
回复

使用道具 举报

6

主题

352

帖子

1333

积分

金牌会员

Rank: 6Rank: 6

积分
1333
金钱
981
HASS币
0
发表于 2020-6-17 10:43:24 | 显示全部楼层

厉害!!!
回复

使用道具 举报

0

主题

143

帖子

528

积分

高级会员

Rank: 4

积分
528
金钱
385
HASS币
0
发表于 2020-6-19 15:54:45 | 显示全部楼层
xiaomi_miio_raw  楼主  这个插件哪里下载 ?????
回复

使用道具 举报

6

主题

352

帖子

1333

积分

金牌会员

Rank: 6Rank: 6

积分
1333
金钱
981
HASS币
0
发表于 2020-6-19 17:05:17 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

24

主题

358

帖子

4733

积分

元老级技术达人

积分
4733
金钱
4350
HASS币
120
 楼主| 发表于 2020-6-20 13:11:37 | 显示全部楼层
zhaozengxiao 发表于 2020-6-19 15:54
xiaomi_miio_raw  楼主  这个插件哪里下载 ?????

https://github.com/syssi/xiaomi_raw
回复

使用道具 举报

3

主题

275

帖子

3961

积分

论坛元老

Rank: 8Rank: 8

积分
3961
金钱
3686
HASS币
20
发表于 2020-7-24 22:24:16 | 显示全部楼层
看看學習..............
回复

使用道具 举报

3

主题

39

帖子

572

积分

高级会员

Rank: 4

积分
572
金钱
528
HASS币
20
发表于 2020-7-26 11:40:20 | 显示全部楼层
{{ state_attr('sensor.yunmi_bat_heater','switch_state') | int + 4 }} //整数
{{ state_attr('sensor.yunmi_bat_heater','switch_state') | float + 4 }} //小数
这样
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 15:46 , Processed in 0.156548 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表