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

 找回密码
 立即注册
查看: 3358|回复: 10

[流程系列] 长走廊自动感应灯NodeRed方案

[复制链接]

1

主题

4

帖子

74

积分

注册会员

Rank: 2

积分
74
金钱
70
HASS币
0
发表于 2022-12-15 01:03:21 | 显示全部楼层 |阅读模式
本帖最后由 kylinha 于 2022-12-15 01:07 编辑

背景

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


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

方案图 QQ截图20221215010628.png

方案细节
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不满一个月,方案肯定有很多改进空间,欢迎大家大家多提意见!



评分

参与人数 1金钱 +8 收起 理由
aprking + 8 厉害,才一个月就能这样了!顺便贴上源代码.

查看全部评分

回复

使用道具 举报

2

主题

367

帖子

2512

积分

金牌会员

Rank: 6Rank: 6

积分
2512
金钱
2140
HASS币
30
发表于 2022-12-15 10:55:12 | 显示全部楼层
motion sensor 1 ,2 合拼為group sensor就可以了,HA內建就有的功能

评分

参与人数 1金钱 +1 收起 理由
Arnie97 + 1 感谢分享!

查看全部评分

回复

使用道具 举报

0

主题

19

帖子

118

积分

注册会员

Rank: 2

积分
118
金钱
99
HASS币
0
发表于 2022-12-15 20:05:39 | 显示全部楼层
1111111111111111111
回复

使用道具 举报

1

主题

4

帖子

74

积分

注册会员

Rank: 2

积分
74
金钱
70
HASS币
0
 楼主| 发表于 2022-12-16 02:33:50 | 显示全部楼层
fung1006 发表于 2022-12-15 10:55
motion sensor 1 ,2 合拼為group sensor就可以了,HA內建就有的功能

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

使用道具 举报

8

主题

516

帖子

3698

积分

论坛元老

Rank: 8Rank: 8

积分
3698
金钱
3182
HASS币
5
发表于 2022-12-16 09:18:16 | 显示全部楼层
fung1006 发表于 2022-12-15 10:55
motion sensor 1 ,2 合拼為group sensor就可以了,HA內建就有的功能

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

使用道具 举报

43

主题

412

帖子

3820

积分

元老级技术达人

积分
3820
金钱
3403
HASS币
136
发表于 2022-12-16 09:58:57 | 显示全部楼层
可以。加油。NR就是慢慢玩出来的
回复

使用道具 举报

0

主题

114

帖子

1168

积分

金牌会员

Rank: 6Rank: 6

积分
1168
金钱
1054
HASS币
0
发表于 2022-12-16 11:02:47 | 显示全部楼层
刚开始学,能否贴个源码?
回复

使用道具 举报

2

主题

367

帖子

2512

积分

金牌会员

Rank: 6Rank: 6

积分
2512
金钱
2140
HASS币
30
发表于 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
回复

使用道具 举报

8

主题

516

帖子

3698

积分

论坛元老

Rank: 8Rank: 8

积分
3698
金钱
3182
HASS币
5
发表于 2022-12-19 22:25:14 | 显示全部楼层
回复

使用道具 举报

0

主题

24

帖子

199

积分

注册会员

Rank: 2

积分
199
金钱
175
HASS币
0
发表于 2023-1-6 21:47:43 | 显示全部楼层
Aqara传感器接入绿米自己的app检测时间就是三秒一次了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-23 04:14 , Processed in 0.059628 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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