找回密码
 立即注册

微信扫码登录

搜索
查看: 309|回复: 6

[技术探讨] 门锁接进 HA 后想做"回家自动开门",逻辑和安全性上怎么才稳?

[复制链接]

6

主题

22

回帖

235

积分

中级会员

积分
235
金钱
207
HASS币
0
发表于 2026-7-8 19:26:47 | 显示全部楼层 |阅读模式
本帖最后由 智控源码君 于 2026-7-8 19:26 编辑

门锁已经接进 HA 了,实体是 lock.front_door,手机定位(person 实体)和人在传感器也都有。最近想做一个"回家自动开门"的联动,但越想越觉得逻辑上有不少隐患,写出来请各位帮忙拍拍砖。
我现在的写法是这样的(YAML):
automation:
  - alias: 回家自动开门
    trigger:
      - platform: state
        entity_id: person.zhangsan
        to: "home"
    condition:
      - condition: state
        entity_id: lock.front_door
        state: "locked"
      - condition: sun
        after: sunset
        before: sunrise
      - condition: state
        entity_id: binary_sensor.someone_home
        state: "on"
    action:
      - service: lock.unlock
        target:
          entity_id: lock.front_door
      - delay: "00:05:00"
      - service: lock.lock
        target:
          entity_id: lock.front_door
    mode: single

但我对几个地方心里没底,想请教:
1. 定位漂移导致误开门
手机 GPS 偶尔会跳变,或者人只是路过家门口,person 实体会不会瞬间变成 home 然后触发开门?大家一般怎么防这种误触发?是加一个"在区域内停留超过 X 秒"的判定,还是干脆用门前的存在传感器代替定位?
2. 开锁后的自动重新上锁
我现在是 delay 5 分钟再锁,但如果这 5 分钟里人又走出去了,会不会出现"刚锁上又判断在家"的循环?有没有更稳的兜底写法?
3. 门锁状态 unknown / unavailable 时的处理
HA 重启或者门锁短暂掉线,实体会变成 unavailable。等状态恢复的那一刻,这个自动化会不会误判"门是锁着的"然后去开锁?需不需要额外判断实体状态是可用的?
4. 安全性兜底
自动开门毕竟是个有风险的动作。除了我上面写的几个 condition,社区里一般还建议加哪些兜底?比如是不是只应该在"门当前是锁着的状态"下才开(这个我加了),还有没有别的?


大家是怎么处理"人在家→开门"这种联动的?有没有更稳妥的写法或者现成的思路?先谢过。

回复

使用道具 举报

4

主题

286

回帖

961

积分

高级会员

开源IT技术解决方案提供商

积分
961
金钱
666
HASS币
20
QQ
发表于 2026-7-8 19:48:29 | 显示全部楼层
用RFID怎么样?
欧阳春晖
回复

使用道具 举报

19

主题

516

回帖

4386

积分

论坛UI达人

积分
4386
金钱
3841
HASS币
60
发表于 2026-7-8 20:47:06 | 显示全部楼层
本帖最后由 hhh. 于 2026-7-8 20:52 编辑

1,多条件判断为真。

主要验证,如:手机接入 WiFi 后给HA发一条消息。

辅助验证,如:人在,蓝牙,定位,人脸。

主要验证可作为触发器,然后辅助验证做 环境条件 判断。以多条件,判断为真,才触发开门动作,
这是主动告知,而非HA判断手机接入的真实性,这样能降低误触,同样附加其他条件,协同为真。

2,看到你说延时关锁,暂且定义为自动门,能自动开,自动关。

那么延迟关门,这种硬性条件,并不推荐,可以考虑 frigate 接入摄像头 做区域划分,视觉是最准的,当然在入户门口,视觉能做很多功能判断。
所以,人在限定区域内,不执行关门动作,离开才做动作。

而在上述中已经解决了,关门后又执行开门的问题。

3,安全性
多条件判断,这就是安全性兜底,基于多传感器状态为真,才能判断为真。

门锁状态,如果是不稳定状态,那么不建议加入验证规则中。如果你考虑加入视觉,门状态,已经不是问题了。




回复

使用道具 举报

5

主题

84

回帖

382

积分

中级会员

积分
382
金钱
293
HASS币
0
发表于 2026-7-8 21:56:12 | 显示全部楼层
隐患太大了,不建议设置被动开门。主动开门更安全一点,比如指纹、声纹、人脸、甚至是手动在手机上点“开门”都会好一点。
回复

使用道具 举报

69

主题

381

回帖

4042

积分

元老级技术达人

积分
4042
金钱
3562
HASS币
180
发表于 2026-7-8 23:38:48 | 显示全部楼层
只能说你心大,你可以参考下汽车无钥匙进入的逻辑机制,保证同一时间人证物证俱在
回复

使用道具 举报

4

主题

286

回帖

961

积分

高级会员

开源IT技术解决方案提供商

积分
961
金钱
666
HASS币
20
QQ
发表于 2026-7-9 00:32:07 | 显示全部楼层
hhh. 发表于 2026-7-8 20:47
1,多条件判断为真。

主要验证,如:手机接入 WiFi 后给HA发一条消息。

我感觉可以设置为RFID识别,类似微软架构
欧阳春晖
回复

使用道具 举报

43

主题

422

回帖

1940

积分

金牌会员

积分
1940
金钱
1475
HASS币
10
发表于 2026-7-9 14:16:22 | 显示全部楼层
本帖最后由 misLia 于 2026-7-9 14:17 编辑

手机定位回家做触发并不是什么好主意。生活中的情况很多。不只有从离家到回家。小区里丢个垃圾,再回家,没有触发。最终体验也不好。人脸,近场通信,可能会好一点。但是我觉得,指纹扫一下,也没比这些慢很多。安全性却高很多。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )|网站地图

GMT+8, 2026-7-23 03:37 , Processed in 0.015280 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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