很簡單啊,用分組,每個家庭成員都有自己的設備
然後所有家庭成員組成一個分組
首先因為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
|