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

 找回密码
 立即注册
楼主: FrankLv

[教程系列] yeelight 浴霸接入ha

  [复制链接]

26

主题

94

帖子

1943

积分

金牌会员

Rank: 6Rank: 6

积分
1943
金钱
1814
HASS币
60

教程狂人论坛风云人物突出贡献

 楼主| 发表于 2020-2-28 00:04:15 | 显示全部楼层
miniknife 发表于 2020-2-27 21:58
测试了一下,灯的控制好像不管用,之前用syssi大神的通用miio插件反而可以,不知道是什么原因 ...

浴霸灯测试肯定没问题,我还在ha中做了自动化,只是浴霸灯夜灯模式必须在你打开浴霸灯的时候才能用
回复

使用道具 举报

13

主题

400

帖子

2796

积分

金牌会员

Rank: 6Rank: 6

积分
2796
金钱
2396
HASS币
0
发表于 2020-2-28 12:29:29 | 显示全部楼层
FrankLv 发表于 2020-2-27 14:02
没有设备没法研究

能写个教程吗?不知道怎么抓包分析。麻烦大神拉
回复

使用道具 举报

4

主题

169

帖子

1413

积分

金牌会员

Rank: 6Rank: 6

积分
1413
金钱
1244
HASS币
0
发表于 2020-2-28 23:36:14 | 显示全部楼层
miniknife 发表于 2020-2-27 10:58
终于有大神出手了,node-red里提示有未识别的节点是什么问题,Mi-Other start-up-trigger ...

还需要安装node-red-contrib-startup-trigger
回复

使用道具 举报

4

主题

169

帖子

1413

积分

金牌会员

Rank: 6Rank: 6

积分
1413
金钱
1244
HASS币
0
发表于 2020-2-29 00:13:10 | 显示全部楼层
秋流年 发表于 2020-2-27 14:25
小白请教一下 下载附件里的 flows.json 文件放哪里 怎么用啊 谢谢

在node red中导入该流程文件
回复

使用道具 举报

4

主题

169

帖子

1413

积分

金牌会员

Rank: 6Rank: 6

积分
1413
金钱
1244
HASS币
0
发表于 2020-2-29 09:55:17 | 显示全部楼层
Frank,
想问一下如果用hassio装的mosquitto作为mqtt broker,配置里面也是homeassistant/yeelink_bhf_light/*嘛
感谢!
回复

使用道具 举报

25

主题

687

帖子

3630

积分

论坛元老

Rank: 8Rank: 8

积分
3630
金钱
2937
HASS币
219

活跃会员

发表于 2020-2-29 12:05:20 | 显示全部楼层
基本功能没问题,就是日志里面一直报错

日志详细信息( ERROR )
Logger: homeassistant.components.mqtt.climate
Integration: mqtt (documentation, issues)
First occured: 上午11:50:46 (157 occurences)
Last logged: 下午12:03:10

Invalid fan_modes mode: 12000
回复

使用道具 举报

0

主题

17

帖子

79

积分

注册会员

Rank: 2

积分
79
金钱
62
HASS币
0
发表于 2020-2-29 16:49:02 | 显示全部楼层
虽然看不懂,但感觉很厉害的样子。
回复

使用道具 举报

25

主题

687

帖子

3630

积分

论坛元老

Rank: 8Rank: 8

积分
3630
金钱
2937
HASS币
219

活跃会员

发表于 2020-2-29 19:10:50 | 显示全部楼层
本帖最后由 aktifin 于 2020-2-29 19:51 编辑

Node-RED
    if (data.fan_speed_idx === 12000) {
        data.fan_speed_idx = "low";
    } else if (data.fan_speed_idx === 12010) {
        data.fan_speed_idx = "medium";
    } else if (data.fan_speed_idx === 12020) {
        data.fan_speed_idx = "high";
    } else if (data.fan_speed_idx === 12090) {
        data.fan_speed_idx = "tophigh";
    }

yeelink_bhf_light.yaml
    fan_modes:
      - "low"
      - "medium"
      - "high"
      - "tophigh"

由于浴霸排风有四个挡位(而且每个模式对应的代码不一样),因此一直报错,增加一个挡位问题就解决了
不过貌似模式代码一直在变化,获取了好多不同的参数
    if (data.fan_speed_idx === 12000 || data.fan_speed_idx === 11110 || data.fan_speed_idx === 10200 || data.fan_speed_idx === 10220) {
        data.fan_speed_idx = "low";
    } else if (data.fan_speed_idx === 12010 || data.fan_speed_idx === 11111 || data.fan_speed_idx === 11200 || data.fan_speed_idx === 10201 || data.fan_speed_idx === 10221) {
        data.fan_speed_idx = "medium";
    } else if (data.fan_speed_idx === 12020 || data.fan_speed_idx === 11112 || data.fan_speed_idx === 12200 || data.fan_speed_idx === 10202 || data.fan_speed_idx === 10222) {
        data.fan_speed_idx = "high";
    } else if (data.fan_speed_idx === 12090) {
        data.fan_speed_idx = "tophigh";
    }


回复

使用道具 举报

4

主题

605

帖子

2170

积分

金牌会员

Rank: 6Rank: 6

积分
2170
金钱
1560
HASS币
20
发表于 2020-3-1 03:09:38 来自手机 | 显示全部楼层
再来个pro的风向控制
回复

使用道具 举报

26

主题

94

帖子

1943

积分

金牌会员

Rank: 6Rank: 6

积分
1943
金钱
1814
HASS币
60

教程狂人论坛风云人物突出贡献

 楼主| 发表于 2020-3-2 01:53:51 | 显示全部楼层
本帖最后由 FrankLv 于 2020-3-2 01:56 编辑
aktifin 发表于 2020-2-29 19:10
Node-RED

yeelink_bhf_light.yaml

看了帖子,分析了数据,我想这个应该是通用的,NND椰奶也搞这种,我也是服了
将nr中的
    if (data.fan_speed_idx === xxxx) {
        data.fan_speed_idx = "low";
    } else if (data.fan_speed_idx === xxxx) {
        data.fan_speed_idx = "medium";
    } else if (data.fan_speed_idx === xxxx) {
        data.fan_speed_idx = "high";
    }
替换成


    if (data.bh_mode === "warmwind"){
        if(data.fan_speed_idx.toString().slice(-1) === "0"){
            data.fan_speed_idx = "low";
        } else if (data.fan_speed_idx.toString().slice(-1) === "1"){
            data.fan_speed_idx = "medium";
        } else if (data.fan_speed_idx.toString().slice(-1) === "2"){
            data.fan_speed_idx = "high";
        }
    } else if (data.bh_mode === "venting"){
        if(data.fan_speed_idx.toString().slice(-2,-1) === "0"){
            data.fan_speed_idx = "low";
        } else if (data.fan_speed_idx.toString().slice(-2,-1) === "1"){
            data.fan_speed_idx = "medium";
        } else if (data.fan_speed_idx.toString().slice(-2,-1) === "2"){
            data.fan_speed_idx = "high";
        } else if (data.fan_speed_idx.toString().slice(-2,-1) === "9"){
            data.fan_speed_idx = "tophigh";
        }
    } else if (data.bh_mode === "drying"){
        if(data.fan_speed_idx.toString().slice(-3,-2) === "0" || data.fan_speed_idx.toString().slice(-3,-2) === "" ){
            data.fan_speed_idx = "low";
        } else if (data.fan_speed_idx.toString().slice(-3,-2) === '1'){
            data.fan_speed_idx = "medium";
        } else if (data.fan_speed_idx.toString().slice(-3,-2) === '2'){
            data.fan_speed_idx = "high";
        }
    } else if (data.bh_mode === "coolwind"){
        if(data.fan_speed_idx.toString().slice(-4,-3) === "0" || data.fan_speed_idx.toString().slice(-4,-3) === "" ){
            data.fan_speed_idx = "low";
        } else if (data.fan_speed_idx.toString().slice(-4,-3) === '1'){
            data.fan_speed_idx = "medium";
        } else if (data.fan_speed_idx.toString().slice(-4,-3) === '2'){
            data.fan_speed_idx = "high";
        }
    } else if (data.bh_mode === "drying_cloth"){
        if(data.fan_speed_idx.toString().slice(-5,-4) === "0" || data.fan_speed_idx.toString().slice(-5,-4) === "" ){
            data.fan_speed_idx = "low";
        } else if (data.fan_speed_idx.toString().slice(-5,-4) === '1'){
            data.fan_speed_idx = "medium";
        } else if (data.fan_speed_idx.toString().slice(-5,-4) === '2'){
            data.fan_speed_idx = "high";
        }
    }
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-23 04:32 , Processed in 0.054239 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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