kylinha 发表于 2022-12-15 01:03:21

长走廊自动感应灯NodeRed方案

本帖最后由 kylinha 于 2022-12-15 01:07 编辑

背景

我家是一个越层的楼型,在一二楼中间有一盏灯提供楼梯过道的照明。之前有一组双控开关在一二楼过道入口分别控制灯的开关,所以之前我们家都需要上楼按一次开关,到了再关掉,有的时候手上拿着东西上下楼就很不方便。
之前买了一个Aqara人体传感器E1,发现楼道太长了,在任一位置都没办法感应到两端的人行动,用声控的也很蠢,为了让体验最佳,所以有了本次的设计方案。


方案设计
设备
1、Aqara人体传感器E1*2:分别在上下楼道口各放一个,Aqara的人体传感器有一分钟的检测冷却,虽然时间有点长,但是体验下来并不算糟糕,所以就没有硬改。
2、Aqara单火单键D1:取代原来双控有火线的面板。
3、Aqara无线开关单键D1:取代另一个双控开关。
4、Z2M、小米多模:网关

方案图

方案细节
1、初始化:初始化的目的是在NodeRed重启的时候生成必要的flow变量,这里用到三个变量sensor_1、sensor_2、lock,具体使用后面会说。
2、自动感应:两个变量sensor_1与sensor_2分别代表楼上楼下的传感器是否检测到有人经过,凡是有人经过便置为1,检测到无人的时候重置为0。变量任何变化都会检测两个变量或运算是否为1,如果1则表示需要自动点亮,0则表示需要自动熄灭。
但是如果这里直接熄灭会遇到这样的情况:一个上楼触发了自动开灯,然后一分钟内他回来,因为传感器还在冷却,没有检测到有人,当他在楼道里面的时候检测为0,所以他在过道上灯熄灭了。
为了避免这种情况,关灯任务被设置为一个延迟操作,延迟时间为20秒,足够一个人通过过道,上面这种情况,如果你在灯快要熄灭的时候进入过道,这时候传感器已经使能,会重新触发自动点亮的逻辑,就会取消这个熄灯任务,所以不会让人在半路熄灯。
3、手动触发:这时候其实大部分时候已经不需要按钮了,但是还有一种情况,是你需要长时间呆在过道(拿东西或者修灯),这个时候自动触发的逻辑就不够用了。这里就是第三条逻辑启用的时候,当我检测到有人手动开关过道灯的时候,我会把lock变量置为true,这时候自动感应的所有逻辑都不会跑到最后真正操作灯的开关,也就是说灯会一直保持常亮,直到你手动关闭灯才会解锁。

以上就是我的方案设计,现在唯一的问题是,如果你自动触发开灯然后手动关灯之后,因为传感器的冷却时间,会有一段时间无法自动开灯,但是大家习惯除了特殊需求不按开关之后,体验良好。
新人刚刚接触Hass和NodeRed不满一个月,方案肯定有很多改进空间,欢迎大家大家多提意见!



fung1006 发表于 2022-12-15 10:55:12

motion sensor 1 ,2 合拼為group sensor就可以了,HA內建就有的功能

youzicha 发表于 2022-12-15 20:05:39

1111111111111111111

kylinha 发表于 2022-12-16 02:33:50

fung1006 发表于 2022-12-15 10:55
motion sensor 1 ,2 合拼為group sensor就可以了,HA內建就有的功能

多谢,我才知道还有这功能,已经优化了前半部分逻辑了

Midnight 发表于 2022-12-16 09:18:16

fung1006 发表于 2022-12-15 10:55
motion sensor 1 ,2 合拼為group sensor就可以了,HA內建就有的功能

请教:两个sensor如何合并成一个group sensor?

hunterfox 发表于 2022-12-16 09:58:57

可以。加油。NR就是慢慢玩出来的

lyymg 发表于 2022-12-16 11:02:47

刚开始学,能否贴个源码?

fung1006 发表于 2022-12-19 11:05:56

Midnight 发表于 2022-12-16 09:18
请教:两个sensor如何合并成一个group sensor?

binary_sensor:
- platform: group
    name: "group_motion_name"
    device_class: motion
    entities:
      - binary_sensor.motion_aaa
      - binary_sensor.motion_bbb

- platform: group
    name: "group_contact_name"
    device_class: opening
    entities:
      - binary_sensor.contact_aaa
      - binary_sensor.contact_bbb

Midnight 发表于 2022-12-19 22:25:14

fung1006 发表于 2022-12-19 11:05


感谢感谢:handshake

钟离郁 发表于 2023-1-6 21:47:43

Aqara传感器接入绿米自己的app检测时间就是三秒一次了。
页: [1] 2
查看完整版本: 长走廊自动感应灯NodeRed方案