请选择 进入手机版 | 继续访问电脑版

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

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

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

[复制链接]

8

主题

57

帖子

333

积分

中级会员

Rank: 3Rank: 3

积分
333
金钱
276
HASS币
20
发表于 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的帖子,在此一并感谢!

评分

参与人数 2金钱 +36 HASS币 +10 收起 理由
+ 20 + 10 厉害了word楼主!
yuyamin + 16 厉害了word楼主!

查看全部评分

回复

使用道具 举报

5

主题

36

帖子

146

积分

注册会员

Rank: 2

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

使用道具 举报

5

主题

155

帖子

782

积分

高级会员

Rank: 4

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

使用道具 举报

29

主题

512

帖子

2283

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

22

主题

358

帖子

1695

积分

金牌会员

Rank: 6Rank: 6

积分
1695
金钱
1302
HASS币
200
发表于 2020-7-24 13:45:56 | 显示全部楼层
本帖最后由 XCray 于 2020-7-24 14:10 编辑

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

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

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

然后,鹿客有自己的网关,是不是也可以从这个网关的TTL获取开锁等各种事件消息?如果可行的话,用esp8266效果应该也非常好(打个广告,可以参考我的帖子)。
当然,既然门锁使用zigbee协议,最好的办法还是z2m,连鹿客自己的网关都可以扔掉了(感觉这个网关也是鸡肋)。
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货。
任意米家蓝牙设备(最重要的:各款智能锁)接入HA的终极方案:https://bbs.hassbian.com/thread-10434-1-1.html
回复

使用道具 举报

7

主题

103

帖子

668

积分

高级会员

Rank: 4

积分
668
金钱
565
HASS币
20
发表于 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
回复

使用道具 举报

8

主题

57

帖子

333

积分

中级会员

Rank: 3Rank: 3

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

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

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

使用道具 举报

8

主题

57

帖子

333

积分

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2020-8-6 06:25 , Processed in 0.106147 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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