找回密码
 立即注册
查看: 335|回复: 11

[流程系列] 离家模式Node-RED如何做?

[复制链接]

5

主题

33

回帖

318

积分

中级会员

积分
318
金钱
280
HASS币
0
发表于 2025-3-13 11:44:23 | 显示全部楼层 |阅读模式
当家里人的手机都离线,而且全部人体传感器均为无人,判定为离家状态,手机状态已经通过Device_track知晓,请问Node-RED如何编制?
回复

使用道具 举报

168

主题

2521

回帖

8378

积分

元老级技术达人

积分
8378
金钱
5684
HASS币
30
发表于 2025-3-13 12:15:27 | 显示全部楼层
ha自带的自动化,不是更简单,为什么要这样弄?
回复

使用道具 举报

5

主题

33

回帖

318

积分

中级会员

积分
318
金钱
280
HASS币
0
 楼主| 发表于 2025-3-13 12:20:48 | 显示全部楼层
自动化只做个简单的2个条件,这个我需要3个手机状态和七八个人体传感器状态,这样也可以吗?
回复

使用道具 举报

168

主题

2521

回帖

8378

积分

元老级技术达人

积分
8378
金钱
5684
HASS币
30
发表于 2025-3-13 12:50:22 | 显示全部楼层
max_sh 发表于 2025-3-13 12:20
自动化只做个简单的2个条件,这个我需要3个手机状态和七八个人体传感器状态,这样也可以吗? ...

Node-RED需要一定的编程知识,如果你是想偏向学习,学点编程思路,当然可以Node-RED,如果想简单,你这样的,ha自带的,更简单,没有必要把简单的事情,复杂化
回复

使用道具 举报

51

主题

263

回帖

1548

积分

金牌会员

积分
1548
金钱
1234
HASS币
50
发表于 2025-3-13 13:30:30 | 显示全部楼层
本帖最后由 tanbobo 于 2025-3-13 13:51 编辑

iPhone Device Tracker 触发条件,手机在不在室内,wifi在线,人体存在传感器做条件。wifi断开链接,XX分钟无人移动,机认定为离家
回复

使用道具 举报

5

主题

33

回帖

318

积分

中级会员

积分
318
金钱
280
HASS币
0
 楼主| 发表于 2025-3-13 13:35:18 | 显示全部楼层
好的,谢谢,我试试
回复

使用道具 举报

2

主题

385

回帖

2632

积分

金牌会员

积分
2632
金钱
2240
HASS币
30
发表于 2025-3-13 13:45:24 | 显示全部楼层
很簡單啊,用分組,每個家庭成員都有自己的設備
然後所有家庭成員組成一個分組

首先因為device_tracker不能加入分組,所以要做一個 template sensor 將device_tracker 轉變成 binary_sensor。以下例子為2個人 ( aaa 及 bbb)
binary_sensor:

  - platform: template
    sensors:

      aaa_iphone:
        device_class: presence
        unique_id: aaa_iphone
        value_template: >-
            {% if is_state('device_tracker.idetect_aaa_iphone','home') %}
            on
            {% else %}
            off
            {% endif %}
            
      bbb_iphone:
        device_class: presence
        unique_id: bbb_iphone
        value_template: >-
            {% if is_state('device_tracker.idetect_bbb_iphone','home') %}
            on
            {% else %}
            off
            {% endif %}


然後就可以將各人的binary_sensor添加到自己的binary_sensor內
只要其中一個設備是在家,即判定為在家,如所有設備均為離家,即該成員為離家 (可以配合 wifi / 藍牙掃描不同設備)
  - platform: group
    name: "group_presence_aaa"
    device_class: presence
    unique_id: group_presence_aaa
    entities:
      - binary_sensor.aaa_iphone
      - binary_sensor.aaa_watch

  - platform: group
    name: "group_presence_bbb"
    device_class: presence
    unique_id: group_presence_bbb
    entities:
      - binary_sensor.bbb_iphone
      - binary_sensor.bbb_watch

最後將各成員的binary_sensor組成一個家庭分組
只要所有人的設備都判斷為離家,這個binary_sensor就會是off
你在nodered內只需要用這個 binary_sensor.group_presence_home 做判定/觸發即可
這是以多分組方法去判定 個人 或 全家 狀態的一個做法
  - platform: group
    name: "group_presence_home"
    device_class: presence
    unique_id: group_presence_home
    entities:
      - binary_sensor.group_presence_aaa
      - binary_sensor.group_presence_bbb


回复

使用道具 举报

21

主题

113

回帖

1047

积分

论坛UI达人

积分
1047
金钱
913
HASS币
10
发表于 2025-3-13 15:47:59 | 显示全部楼层
相当于一个开关合集?手机和人体传感器视为开关,只要有一个为on判断为在家,所有都为off判断为离家,定期轮询传感器,join汇合后用function写个判断,回传给ha,差不多就像这样
微信截图_20250313154716.png
回复

使用道具 举报

0

主题

25

回帖

352

积分

中级会员

积分
352
金钱
327
HASS币
0
发表于 2025-3-16 15:28:18 | 显示全部楼层
gasment 发表于 2025-3-13 15:47
相当于一个开关合集?手机和人体传感器视为开关,只要有一个为on判断为在家,所有都为off判断为离家,定期 ...

这个流程能分享一下吗
回复

使用道具 举报

5

主题

33

回帖

318

积分

中级会员

积分
318
金钱
280
HASS币
0
 楼主| 发表于 2025-3-16 15:28:28 | 显示全部楼层
谢谢大佬,搞定
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 10:04 , Processed in 2.307431 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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