V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
worldqiuzhi
V2EX  ›  问与答

homeassistant 门窗传感器+人体传感器如何 如何判断是离家还是回家

  •  
  •   worldqiuzhi · 2023-08-22 10:37:12 +08:00 · 4264 次点击
    这是一个创建于 492 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现有设备 Aqara 的门窗传感器和人体传感器 各一个 智能灯一个

    门窗传感器装在门上,人体传感器装在门的上方

    预期的效果是:

    1. 回家:进门随手关门,触发条件=门窗传感器识别到关门,环境条件=人体传感器识别到有人移动 判断为回家 后来优化 环境条件加一条 智能灯未关 可以防止开门拿外卖或临时出门误触发

    2. 离家:出门后关门,触发条件=门窗传感器识别到关门,环境条件=人体传感器识别到无人移动,判断为离家

    存在的问题:

    1. 回家模式暂时无问题
    2. 离家模式无法执行 原因:人体传感器只能识别最近 1 分钟以上有无人移动 导致不管是进门还是出门都能识别到有人移动,不存在最近一分钟无人移动的状态。
    3. Aqara 自己的 APP 上人体传感器可以自定义判断最近几分钟无人移动(最小一分钟),homeassistant 接入后只能判断有人移动和无人移动 自定义分钟无法设置

    尝试改进离家模式:

    触发条件=门窗传感器识别到关门 动作:添加大于 1 分钟的延迟( 1 分钟内状态还是会是有人状态),然后判断是否有人,如果无人 就开启离家模式 但还是存在问题 就是进门 1 分钟内大多数情况我已离开门附近,传感器已经识别不到我了 导致人在家开启了离家模式

    再次尝试改进 就是进门延迟 1 分钟 没有识别到人移动,但智能灯已开(回家模式自动开的),就不开启离家模式 只有当关门关灯没人移动才开启离家模式 但在开灯的状态下 还是开启了离家模式

    求教:有什么优雅的判断回家离家模式的方法吗

    1. 不能换智能门锁 不能换智能门锁 不能换智能门锁
    2. 最好使用现有的设备 1 个门窗传感器 人体传感器 智能灯
    3. 如果无法实现可以加设备 尽量便宜的
    4. 尽量无感的 不是按键模式
    5. homeassistant 接入的传感器没有 app 上功能多 如何处理

    image.png

    去掉环境条件后修改

    image.png

    第 1 条附言  ·  2023-08-23 10:14:04 +08:00
    找到了解决方案
    使用 wifi 连接和断开来判断是否在家
    开始看了集成 Nmap 但网上说熄屏会掉线 我测了一下果然会掉线

    后来尝试换成这个插件 iPhone Device Tracker 暂时未掉线

    然后把设备放在门口的水表柜里(金属门),就会自动断开 wifi

    开始想的是要不要淘宝买个小的法拉第笼的盒子或者袋子 或者使用铝箔改造一下门口的柜子

    后来把 2.4G 和 5G 双频 WiFi 拆开,柜子里放一个废弃的 iPhone5s 连接 5G WIFI 因为 5G 连接穿墙不好放进去就会断开连接

    使用手机的原因是我现在住的公寓的智能门锁 是用公寓的 APP 开门,所以我进门需要拿这个 5s 开门

    还想过如果 WiFi 不行就换一个 超级烂的蓝牙接收器 距离远点或者隔墙就断开 现在还有一个拼夕夕上几块钱的免驱蓝牙接收器在路上
    69 条回复    2023-08-23 13:24:05 +08:00
    revlis7
        1
    revlis7  
       2023-08-22 10:48:57 +08:00
    装两个传感器?
    worldqiuzhi
        2
    worldqiuzhi  
    OP
       2023-08-22 10:50:04 +08:00
    @revlis7 两个传感器怎么装呢 屋里一个 屋外一个吗
    jiangliuli
        3
    jiangliuli  
       2023-08-22 10:53:35 +08:00
    回家我有个还算比较好的解决方案,用新风检测 co2 浓度,当然二氧化碳浓度检测器也是一样的,当低于一定浓度的时候开门就知道是回家了

    离家实在没有什么好办法,之前看到的一个解决方案是在后台跑脚本检测连接到当前 wifi 的设备的 mac 地址,但是感觉也不是很好
    red3
        4
    red3  
       2023-08-22 10:55:52 +08:00
    手机是 iPhone 吗,是的话尝试一下 homekit 的地理围栏,我用的这个,准确度还行,可以在 hass 里面虚拟一个 button ,到家附近就触发这个 button ,然后根据需求自动化
    Ericality
        5
    Ericality  
       2023-08-22 10:55:58 +08:00
    这个我会 买一个雷达传感器 diy 那种 鱼上大概 100 拿下 然后回来搭配门窗传感器接入到你想接入的设备
    然后放在室内 直接用他的触发作为是否有人在家的条件就行
    至于那个人体传感器 适合放在走廊这种人来灯亮 然后 1 分钟后自动熄灭的场景(即人经过但是不停留的场景)
    revlis7
        6
    revlis7  
       2023-08-22 10:57:23 +08:00
    @worldqiuzhi 对呀
    worldqiuzhi
        7
    worldqiuzhi  
    OP
       2023-08-22 10:59:04 +08:00
    @red3 围栏实现也要 pass 因为不是我一个人住 主要问题就是租借出去 人走不关空调 我才想实现离家模式 如果我自己的话 可能就是围栏或者无线开关了
    dev436
        8
    dev436  
       2023-08-22 11:04:13 +08:00 via iPhone
    没有门锁联动的智能家居系统就像三条腿的蛤蟆。这种曲线救国的方式易用性扩展性太低,有时候反而降低了舒适度。

    空调搞个工作日定时关机吧。
    worldqiuzhi
        9
    worldqiuzhi  
    OP
       2023-08-22 11:05:56 +08:00
    @revlis7 可是不管是进门还是出门 两个传感器最近一分钟都会有人移动呀 精度最低一分钟 室外可能碰巧还能别人移动误触
    lzgshsj
        10
    lzgshsj  
       2023-08-22 11:09:15 +08:00
    看了前几天陈抱一的视频,感觉还得是智能门锁作为离/回家的场景化根基
    worldqiuzhi
        11
    worldqiuzhi  
    OP
       2023-08-22 11:10:50 +08:00
    @lzgshsj 无解锁换不掉是前提
    PerFectTime
        12
    PerFectTime  
       2023-08-22 11:19:56 +08:00
    换个方案,检测一下手机是否连接 wifi ,如果连接 wifi+开关门,则是回家;反之则是离家
    statement
        13
    statement  
       2023-08-22 11:24:27 +08:00 via iPhone
    除了门锁也没想道解决方案
    yueshang1
        14
    yueshang1  
       2023-08-22 11:24:56 +08:00
    搞一个无线开关不就行了 ,也不麻烦,进门按一下 ,出门按一下
    kaedeair
        15
    kaedeair  
       2023-08-22 11:36:39 +08:00
    另一个思路:检测手机有没有连到 wifi
    billlee
        16
    billlee  
       2023-08-22 11:37:43 +08:00 via Android
    我是拉 wifi 数据来判断有没有人在家
    cest
        17
    cest  
       2023-08-22 11:40:17 +08:00
    都有 homeassistant 了
    加个 ipcam 从远一点地方对门

    设 2 个 zone ,一个门口,一个内部有点距离的地方
    人从 a 到 b 是进来,pop+1
    人从 b 到 a 是出去,pop-1
    worldqiuzhi
        18
    worldqiuzhi  
    OP
       2023-08-22 11:43:15 +08:00
    @kaedeair
    @PerFectTime
    WiFi 需要配置固定设备连接或者断开吧
    adnoh
        19
    adnoh  
       2023-08-22 11:45:02 +08:00 via Android
    我现在用的半自动门锁很完美,关门上提把手才触发离家模式,家里还有人直接关门就行
    cuicuiv5
        20
    cuicuiv5  
       2023-08-22 11:51:14 +08:00
    @PerFectTime 我想到的也是这个, 基本不会有错
    kaedeair
        21
    kaedeair  
       2023-08-22 11:53:24 +08:00
    @worldqiuzhi #18 带无线的 openwrt 应该可以做到,可以配置 device tracker ,但是我的不带无线,无论是 luci 和 ubus 都失败了,如果你的无线是华硕,网件这种国外厂应该是有对应集成的
    sujin190
        22
    sujin190  
       2023-08-22 11:59:05 +08:00 via Android
    其实判断手机是否断开 wifi 实现更容易吧,误判断也更少,hss 直接连接 openwrt 来获取对应 mac 是否离线,我的家配置是否离家可以直接添加对应 mac 来判断,后续就可以用我的家的状态通过自动化来驱动其他设备运行,我现在就是这么干的,很好用
    sujin190
        23
    sujin190  
       2023-08-22 12:05:35 +08:00
    @kaedeair #21 可以不用带无线吧,openwrt 下面连接的 wifi 配置为 ap 模式就好了,除了在成品路由器上刷 openwrt ,单独软路由的 openwrt 一般都要用单独使用成品 wifi 的吧,说实话还是 wifi 路由器自带的系统好用,再刷个 openwrt 不管咋还是不咋好用
    zhouweiluan
        24
    zhouweiluan  
       2023-08-22 12:13:35 +08:00
    我之前也弄了一套,一个人住的时候还行,两个人住的时候就废了,乱七八糟的,有时候朋友来串门识别也乱糟糟。
    后来还是上了 Aqara 的智能门锁完美解决。
    kaedeair
        25
    kaedeair  
       2023-08-22 12:27:05 +08:00
    @sujin190 #23 会卡在 hostpd 获取设置
    sujin190
        26
    sujin190  
       2023-08-22 12:49:42 +08:00 via Android
    @kaedeair 不会的吧,我现在软路由 lede 的版本,wifi 是华硕设置为 ap 模式,不过 hss 和 lede 兼容有点问题,会报个错,好像是无法正确的识别 lede 的版本号,lede 改的和 openwrt 的版本号信息似乎有些不一样,我都是直接去 hss 代码里直接改了这个错似乎就完全正常了,现在一直这样用很久了挺好的
    Suonna
        27
    Suonna  
       2023-08-22 12:50:07 +08:00
    可以买个 ainice 的人在传感器,里边有通过蓝牙检测你人在不在本空间的功能
    revlis7
        28
    revlis7  
       2023-08-22 13:06:22 +08:00
    @worldqiuzhi

    开门 + 室内人移动 + 智能灯开启状态 = 回家

    室外人移动 === 关灯 (不管回家还是出门触发,恒定执行关灯操作)

    这样可以吗?唯一的问题就是室外要找一个不容易误触的位置
    n2l
        29
    n2l  
       2023-08-22 13:09:53 +08:00 via iPhone
    别挣扎了,除了门锁,其他都不成熟。
    Biggoldfish
        30
    Biggoldfish  
       2023-08-22 13:12:12 +08:00
    利用手机连接 WiFi 判断比较麻烦的是无法区分睡觉还是离家(睡觉时飞行模式),常见的 motion sensor 或者 presence sensor 对于睡眠状态也很容易出现连续几十分钟判定无人的情况
    worldqiuzhi
        31
    worldqiuzhi  
    OP
       2023-08-22 13:13:28 +08:00
    @revlis7 关键我回家也会触发室外人移动 因为人体传感器记录的是最近 1 分钟有人移动
    revlis7
        32
    revlis7  
       2023-08-22 13:30:06 +08:00
    无人移动有一分钟延迟正常,但是判断人动不是实时的吗?我的就是实时的呀
    icegaze
        33
    icegaze  
       2023-08-22 13:32:19 +08:00 via Android
    门里门外各装一个近距离主动式红外感应器 A 和 B (就是冲水尿盆上用的感应器)

    a-b 先后触发就是离家
    b-a 先后触发就是回家
    单独一个触发都不予理睬就行了

    红外的很好,不像射频无线的容易有隔墙的干扰误触发…
    kaedeair
        34
    kaedeair  
       2023-08-22 13:36:42 +08:00
    @sujin190 #26 必须要有 wifi ,他是靠监控 hostapd 工作的,软路由上面没有这个东西,我的 ap 是 tplink ,华硕我看见了有对应的集成,是不是自动扫描到了华硕
    SimonOne
        35
    SimonOne  
       2023-08-22 13:39:26 +08:00   ❤️ 5
    🙈加声控,学日本人干事前喊一声。回家:我回来了;离家:我出去了;吃饭:我开吃了;睡觉:我睡了。
    letmatte
        36
    letmatte  
       2023-08-22 13:44:01 +08:00
    对接路由器,手机--家庭成员 绑定,判断指定手机是否在线
    kaedeair
        37
    kaedeair  
       2023-08-22 13:46:04 +08:00
    @sujin190 #26 有可能是版本的问题,不支持 luci2.0 ,我的 openwrt 版本是 23.05
    sujin190
        38
    sujin190  
       2023-08-22 13:50:18 +08:00
    device_tracker:
    - platform: luci

    @kaedeair #34 还真不是,配置的 device_tracker 的 platform 是 luci ,就是从 lede 来的

    我是又在手机上安装了 GPS 记录器,频率设低一点再设置禁止杀后台,hss 同时设置跟踪 wifi 和 GPS 记录器,好像同时离开才有效,通过手机的 GPS 记录器还能实现家附近和公司附近之类的逻辑
    worldqiuzhi
        39
    worldqiuzhi  
    OP
       2023-08-22 13:52:40 +08:00
    @icegaze 买的 aqara 人体传感器 不管是进门还是出门 两个感应器都有人移动 判断无人移动不行 因为只能判断最近一分钟 最近一分钟两个肯定都触发了。 单独一个触发的情况可能不存在(只有可能是想出门没出门想进门没进门,拿外卖会触发两个) 判断 a b 先后触发 不知道行不行 ha 里自动化怎么判断 ab 先后触发
    sujin190
        40
    sujin190  
       2023-08-22 13:54:34 +08:00
    @kaedeair #37 https://www.home-assistant.io/integrations/luci/

    luci 的 platform 调用的是 luci-mod-rpc
    nieboqiang
        41
    nieboqiang  
       2023-08-22 13:55:51 +08:00
    你试一下把门禁接入进去,很多智能锁是可以判断门从哪边开的,我的米家的那套就区分进门还是出门。我只绑定了进家门打开玄关灯。
    worldqiuzhi
        42
    worldqiuzhi  
    OP
       2023-08-22 13:57:41 +08:00
    @nieboqiang 主的公寓 智能门锁是管家在管 接不进去
    PerFectTime
        43
    PerFectTime  
       2023-08-22 14:03:59 +08:00
    @worldqiuzhi 不需要,homeassitant 本身支持 device track ,通过 nmap 轮询局域网内是否存在指定 mac 地址的设备即可,不需要任何触发

    参考一下以下文档:
    https://www.home-assistant.io/integrations/nmap_tracker/
    kaedeair
        44
    kaedeair  
       2023-08-22 14:24:01 +08:00
    @sujin190 #40 重新又配了一次,能用了,谢谢
    excitedXXX
        45
    excitedXXX  
       2023-08-22 14:26:29 +08:00
    @SimonOne 我要意库了。/狗头
    nobody123
        46
    nobody123  
       2023-08-22 15:07:12 +08:00
    关键就是要计数,用 VL53L0X 激光测距传感器就能实现,
    jymsy
        47
    jymsy  
       2023-08-22 15:30:35 +08:00
    没试过人体存在传感器么?
    Shiweizhi
        48
    Shiweizhi  
       2023-08-22 15:46:12 +08:00
    把人体传感器装在室内?
    回家:门窗传感器触发,执行等待条件触发,等待人体传感器检测到移动,超时 50s(超时不继续),执行回家动作
    离家:门窗传感器触发,执行等待指定时间,执行如果/就,如果人体传感器未检测到移动持续 N 分钟,执行离家动作
    jst0701
        49
    jst0701  
       2023-08-22 15:52:50 +08:00
    wifi 接入 30s 以内开门->回家
    开门后 30s 内断开 wifi->外出
    worldqiuzhi
        50
    worldqiuzhi  
    OP
       2023-08-22 16:43:12 +08:00
    @Shiweizhi 试过不行 回家的动作 等待指定时间 这个时间小于一分钟不管进门还是出门都是有人,因为人体传感器检查未移动是分钟级的 如果等待时间大于一分钟是可以解决的 但 一分钟我都不知道跑去哪里了
    F1reman
        51
    F1reman  
       2023-08-22 17:18:55 +08:00
    首次检测到人后 状态置为回家 二次离家 依次变换 当然你还要加上其他一些条件 确保离家是真离家 来变换这个状态
    honhon
        52
    honhon  
       2023-08-22 17:24:42 +08:00
    github 有个蓝牙在家的项目
    worldqiuzhi
        53
    worldqiuzhi  
    OP
       2023-08-22 17:25:27 +08:00
    @F1reman 家里人数不固定吧 还有检测到人并不是离家 设置状态交替来判断应该很难
    worldqiuzhi
        54
    worldqiuzhi  
    OP
       2023-08-22 17:26:32 +08:00
    @honhon 蓝牙要主动连接吧
    worldqiuzhi
        55
    worldqiuzhi  
    OP
       2023-08-22 17:28:15 +08:00
    @honhon 项目地址有吗
    honhon
        56
    honhon  
       2023-08-22 17:57:40 +08:00
    @worldqiuzhi
    我也只是看到过这个方案,具体如何不是特别清楚,可以参考一下这个:
    https://ha.jiluxinqing.com/#/plug_ha_ble_home?id=%e8%93%9d%e7%89%99%e6%9c%8d%e5%8a%a1-room-assistant
    TerranceL
        57
    TerranceL  
       2023-08-22 18:38:32 +08:00
    离家人体传感器作为触发条件,触发后几秒内有门的开关,之后再检查一下确保家里没人的条件,检查通过就认为是离家。不过这个自动化可能搞不定,有可能需要用脚本写。
    再或者就是加传感器 我最近下单了 linptech 人体存在传感器和 qaqra fp2 人体存在传感器。前者一百后者比较贵三百多,后者应该肯定能满足你的需求,前者不确定。
    Shiweizhi
        58
    Shiweizhi  
       2023-08-22 20:58:07 +08:00
    @worldqiuzhi 是等待条件触发,不是等待指定时间,进门后门窗传感器触发自动化,然后在设置的超时时间内等待传感器触发,人体传感器应放在室内人会经过的地方
    allen2000
        59
    allen2000  
       2023-08-22 21:56:53 +08:00
    推荐一下这个项目,目前使用相当稳定。
    https://github.com/andrewjfreyer/monitor/
    YongXMan
        60
    YongXMan  
       2023-08-22 22:10:27 +08:00
    其实可以换个思路,可以根据手机是否连接到了家庭 wifi 来间接判断人是否在家,需要在 dhcp 上配置 mac 地址静态分配 ip ,然后用 homeassistant ping 来判断是否联通。
    chairuosen
        61
    chairuosen  
       2023-08-23 00:41:33 +08:00
    不要用电池的人体传感器,用插 usb 的人在传感器,1 秒钟精度
    SimonOne
        62
    SimonOne  
       2023-08-23 00:47:05 +08:00
    智能家居 篇二:AInice 人体传感器——米家地理围栏使用场景初探
    https://post.smzdm.com/p/aqm5dgwv/
    SimonOne
        63
    SimonOne  
       2023-08-23 00:51:03 +08:00
    lovelylain
        64
    lovelylain  
       2023-08-23 08:15:19 +08:00 via Android
    用 wifi 搞个 device_tracker ,手机连上 wifi 就是在家,断开就是离家,精度 1-2 分钟,搭配门窗传感器正好。
    worldqiuzhi
        65
    worldqiuzhi  
    OP
       2023-08-23 09:56:22 +08:00
    @Shiweizhi 判断进门这样没问题呀 判断离家怎么处理 开门+1 分钟无人经过(但关门的时候会判断最近一分钟有人经过) 等待条件触发 会判断成最近一分钟无人经过吗
    Shiweizhi
        66
    Shiweizhi  
       2023-08-23 10:58:17 +08:00
    @worldqiuzhi 出门门窗传感器触发,室内人体传感器可能也还是触发状态,此时执行等待指定时间,如 5 分钟,然后判断人体传感器状态,如果人体传感器未触发持续 N 分钟,判断为离家状态。
    门窗传感器触发,如果室内人体传感器超过一定时间未检测到人移动判断为离家,如果在一定时间内检测到移动判断为回家
    worldqiuzhi
        67
    worldqiuzhi  
    OP
       2023-08-23 11:43:48 +08:00
    @Shiweizhi 这个问题 我上面说了 室内人体传感器可能也还是触发状态,此时执行等待指定时间,如 5 分钟,然后判断人体传感器状态,如果人体传感器未触发持续 N 分钟,判断为离家状态。 这个回家的时候容易误判 5 分钟我早不在传感器旁边了 进卧室了过几分钟开启了离家模式 灯都关了
    Shiweizhi
        68
    Shiweizhi  
       2023-08-23 11:52:20 +08:00
    @worldqiuzhi 人体传感器只能装在门上?不可以放在室内人活动的地方吗?
    worldqiuzhi
        69
    worldqiuzhi  
    OP
       2023-08-23 13:24:05 +08:00
    @Shiweizhi 那就成本太高也不优雅了 而且即使每间屋都装还要人移动才能识别 不如换个人在传感器了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5238 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:43 · PVG 13:43 · LAX 21:43 · JFK 00:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.