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

 找回密码
 立即注册
查看: 9339|回复: 7

[基础教程] 鹿客指纹锁(非米家)通过yeelight跳板接入ha

[复制链接]

17

主题

273

帖子

1786

积分

金牌会员

Rank: 6Rank: 6

积分
1786
金钱
1508
HASS币
30
发表于 2020-7-23 13:51:07 | 显示全部楼层 |阅读模式
记录一下刚入门的小白把鹿客锁接入ha实现夸平台联动操控的过程,此处特别鸣谢过程中提供帮助的大佬@yuyamin !

家里鹿客的锁不是通过米家而是通过鹿客自家的网关来实现的app控制,基于zigbee网关理论上支持z2m,无奈这玩意在我这超纲了。。。因为鹿客自家app和yeelight的灯有简单联动,现在是通过已经接入yeelight的彩光灯带的联动来触发指纹解锁场景,具体如下:

step1、鹿客app内建立联动,指定指纹A解锁,yeelight灯带亮度低。同理指纹B解锁,yeelight灯带亮度中,同理指纹C解锁,yeelight灯带亮度高


step2、ha内建立一个传感器,监控yeelight灯带的亮度值,经测试亮度低为76,亮度中为128,亮度高为205,然后通过mqtt报送给nodered

sensor:
  - platform: template
    sensors:
      bri:
        friendly_name: 'light brightness'
        value_template: "{{ state_attr('light.sofa_light','brightness') }}"



step3、nodered内建立流程,思路是利用步骤2中灯带不同亮度的mqtt报送来触发对应的场景,同时推送微信给家人,如果yeelight灯带跳板在解锁之前没有开启、那么灯带跳板将在触发客厅吊灯后自动关闭。如果灯带在解锁时候是开启状态(家里有人且灯带正在使用的情况)那么将不进行关闭,会将灯带调制最低亮度继续作为环境渲染灯光使用。

微信图片_20200723133459.png

此方法因为是用了跳板过度的,弊端显而易见有
1、因鹿客和yeelight间的联动限制,一个灯带只能映射到三个指纹,如果有多的指纹可能就要其他的灯来协助了;
2、鹿客没有给出上提把手联动,想要上提门把手联动的话还是需要用到zigee2mqtt网关来完全替代自家网关才行;
3、yeelight在ha里面的状态监测间隙经过修改大概在2~3秒,稍有延迟但是问题不大,作为入户跳板来说解锁开门后基本已经亮客厅灯了
4、该灯带因为兼职做了跳板,在其他联动时候稍有不便,论坛里有前辈用了灯带控制器不加灯的方式也是挺好的。

以上,
给可以联动yeelight或者其他可以接入ha的设备但是锁本身不能直接接入ha的朋友参考,理论上米家的门锁不接入ha直接用app来联动yeelight也是可以参考我这个的
过程中参考了论坛中前辈们的各个关于yeelight的帖子,在此一并感谢!

评分

参与人数 3金钱 +41 HASS币 +10 收起 理由
燃情 + 5
+ 20 + 10 厉害了word楼主!
yuyamin + 16 厉害了word楼主!

查看全部评分

回复

使用道具 举报

5

主题

37

帖子

198

积分

注册会员

Rank: 2

积分
198
金钱
161
HASS币
0
发表于 2020-7-23 15:22:30 | 显示全部楼层
膜拜大佬!
回复

使用道具 举报

5

主题

171

帖子

2104

积分

金牌会员

Rank: 6Rank: 6

积分
2104
金钱
1933
HASS币
0
发表于 2020-7-23 15:41:42 | 显示全部楼层
能写这么复杂的流,居然说Z2M超纲
回复

使用道具 举报

66

主题

779

帖子

4407

积分

论坛元老

Rank: 8Rank: 8

积分
4407
金钱
3623
HASS币
20
发表于 2020-7-24 13:17:13 | 显示全部楼层
好思路~~~
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2020-7-24 13:45:56 | 显示全部楼层
本帖最后由 XCray 于 2020-7-24 14:10 编辑

能写出这么复杂的流,功力应该很厉害了。

我没用过鹿客的锁,不过简单分析,这个思路应该还有改进的余地。

首先是第二步,yeelight已经集成到HA、Node-Red就可以直接获取yeelight状态了,没必要通过mqtt再中转一次吧?虽然mqtt服务器不要钱,但从效率和逻辑角度想不够直接、有些浪费。

然后,鹿客有自己的网关,是不是也可以从这个网关的TTL获取开锁等各种事件消息?如果可行的话,用esp8266效果应该也非常好(打个广告,可以参考我的帖子)。
当然,既然门锁使用zigbee协议,最好的办法还是z2m,连鹿客自己的网关都可以扔掉了(感觉这个网关也是鸡肋)。
回复

使用道具 举报

24

主题

358

帖子

4727

积分

元老级技术达人

积分
4727
金钱
4344
HASS币
120
发表于 2020-7-24 14:46:10 | 显示全部楼层
yeelight亮度,色温,颜色ha里可以直接拿到的
我以前是用色温做的中转,现在用蓝牙转ttl了

以前的代码
sensor:
  - platform: template
    sensors:
      rgb:
        friendly_name: '灯光颜色'
        value_template: "{{ state_attr('light.ru_hu_guo_dao_cai_guang_deng_dai','brightness') }}"
      lockstatus:
        friendly_name: '门锁状态'
        value_template: "{{ '门开着' if is_state('input_boolean.lockopen','on') }} {{ '门关了' if is_state('input_boolean.locklocked','on') }} {{ '反锁了' if is_state('input_boolean.lockdoublelock','on') }} {{ '门没有锁' if is_state('input_boolean.lockunlock','on') }}"

automation:
  - alias: 'lockopen' #门开着
    trigger: 
      platform: numeric_state
      entity_id: sensor.rgb
      above: 251
      below: 253
    action: #行动
      - service: input_boolean.turn_on
        entity_id: input_boolean.lockopen
      - service: input_boolean.turn_off
        entity_id: input_boolean.locklocked
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockdoublelock
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockunlock
  - alias: 'locklocked' #门关了
    trigger: 
      platform: numeric_state
      entity_id: sensor.rgb
      # At least one of the following required
      above: 254
      below: 256
    action: #行动
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockopen
      - service: input_boolean.turn_on
        entity_id: input_boolean.locklocked
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockdoublelock
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockunlock
  - alias: 'lockdoublelock' #反锁了
    trigger: 
      platform: numeric_state
      entity_id: sensor.rgb
      # At least one of the following required
      above: 249
      below: 251
    action: #行动
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockopen
      - service: input_boolean.turn_off
        entity_id: input_boolean.locklocked
      - service: input_boolean.turn_on
        entity_id: input_boolean.lockdoublelock
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockunlock
  - alias: 'lockunlock' #门没有锁
    trigger: 
      platform: numeric_state
      entity_id: sensor.rgb
      # At least one of the following required
      above: 241
      below: 243
    action: #行动
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockopen
      - service: input_boolean.turn_off
        entity_id: input_boolean.locklocked
      - service: input_boolean.turn_off
        entity_id: input_boolean.lockdoublelock
      - service: input_boolean.turn_on
        entity_id: input_boolean.lockunlock
回复

使用道具 举报

17

主题

273

帖子

1786

积分

金牌会员

Rank: 6Rank: 6

积分
1786
金钱
1508
HASS币
30
 楼主| 发表于 2020-7-24 16:17:28 | 显示全部楼层
XCray 发表于 2020-7-24 13:45
能写出这么复杂的流,功力应该很厉害了。

我没用过鹿客的锁,不过简单分析,这个思路应该还有改进的余地。 ...

确实,这个锁的接入是我用ha的初衷,所以开始入ha后第一个在做的就是这个,
陆陆续续到现在这样,反过来看确实有的地方是可以简化的。算是我本人的一个学习过程吧,当然最好的还是用Z2M
回复

使用道具 举报

17

主题

273

帖子

1786

积分

金牌会员

Rank: 6Rank: 6

积分
1786
金钱
1508
HASS币
30
 楼主| 发表于 2020-7-24 16:20:24 | 显示全部楼层
121665460 发表于 2020-7-24 14:46
yeelight亮度,色温,颜色ha里可以直接拿到的
我以前是用色温做的中转,现在用蓝牙转ttl了

感谢分享,我看了下,确实可以省略一步直接按亮度触发
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 07:37 , Processed in 0.073394 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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