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

 找回密码
 立即注册
查看: 26075|回复: 36

一个更简单的判断回家离家的自动化(只需要一个传感器)

  [复制链接]

7

主题

192

帖子

1721

积分

金牌会员

Rank: 6Rank: 6

积分
1721
金钱
1524
HASS币
30
发表于 2020-12-15 16:40:33 | 显示全部楼层 |阅读模式
本帖最后由 sephrioth 于 2020-12-21 10:05 编辑

我也来分享一个判断回家离家的自动化, 和前辈们的方案相比, 主要是非常简单,硬件上只需要一个门窗传感器,而且可用性非常高。

Step0
先在HA中虚拟出几个个开关

input_boolean.a 用户A
input_boolean.b 用户B (需要的话可以继续增加, 暂时先拿2个做例子)
input_boolean.nearby 是否有用户在附近, 有附近为on,不在为off
input_boolean.at_home 是否有用户在家,在家为on,不在家为off

下面就是自动化, 为了让大家都能看懂,故意都用的是最简单的写法, 老手们可以自行优化

Step1
当用户A或者B回家/离家时(也就是zone的区域为home时),  将对应的 input_boolean 设置为 on/off (如果你是iOS用户,可以直接在Home App里面做这个自动化, 不需要下面的代码)
- alias: 'User A Location '
  trigger:
  - platform: state
    entity_id: person.a
  action:
  - service_template: >
      {% if states.person.a == 'home' %}
        input_boolean.turn_on
      {% else %}
        input_boolean.turn_off
      {% endif %} 
    entity_id: input_boolean.a   


Step2
A或B只要有一个在家附近, 则 input_boolean.nearby 为 on ;同时只有A和B都离家后, input_boolean.nearby为 off
- alias: 'Detect People Nearby'
  trigger:
  - platform: state
    entity_id: 
      - input_boolean.a
      - input_boolean.b
    to: 'on'
  action:
  - service: input_boolean.turn_on
    entity_id: input_boolean.nearby


Step3
如果用户是从外回家, 首先这时 input_boolean.at_home 是 off 的, 然后 nearby 如果变为 on, 则说明肯定有人马上从外面快到家了,当下如果门窗检测器检测到了开门事件, 则判断为有人回家,并将input_boolean.at_home  设置为 on,  具体是谁回家可以看 input_boolean.a 和 input_boolean.b 的状态。
该自动化执行后这时 input_boolean.at_home 状态已经为 on 了, 所以再次开门就不会再次触发该自动化。
- alias: 'Welcome Home'
  trigger:
    entity_id: 
      - binary_sensor.door_window_sensor_158d0002e2135c  #门窗传感器, 其实动作传感器也可以,如果你家没有宠物的话...
    platform: state
    to: 'on'
  condition:
  - condition: state
    entity_id: input_boolean.people_at_home    #之前家里没人
    state: 'off'
  - condition: state
    entity_id: input_boolean.nearby   #但是已经有人在附近了
    state: 'on'
  action:
  - service: script.welcomehome   #你想怎么欢迎就怎么欢迎了
如果用户是离家, 则可以直接参考 Step2 的 'Detect People Leave', 所有人离家后将input_boolean.nearby 和 input_boolean.at_home都设置为 off。所以离家状态的更新理论上会晚2-3分钟, 但是这是没有影响的。

---------------------------------------

我自己用这个自动化已经超过2年的时间, 非常完美且精确, 因为到家的状态改变其实只需要依赖开门状态, 所以响应完全是瞬间的。
其实这个模型实际上是简化过的, 大家可以根据自己的需求进行丰富,比如当 nearby 为 on 的时候, 开启家里的灯光和空调, 进门的时候进行播报等等。

还有一种理论上的极端情况, 虽然我认为不可能发生,但是我可以说下, 就是如果用户从外已经到了家附近,但是还没进门,也就是 nearby 已经为on了, 但是at_home 还是off, 假如正好在这时间差内(大概2-3分钟)有非a或者b的用户进门, 就会破坏掉这个自动化。

大家如果有任何问题, 欢迎提问和沟通, 我尽量解答~~




评分

参与人数 2金钱 +17 收起 理由
gw886 + 5
咸味土豆 + 12 大神666!

查看全部评分

回复

使用道具 举报

4

主题

238

帖子

1447

积分

金牌会员

Rank: 6Rank: 6

积分
1447
金钱
1209
HASS币
0
发表于 2020-12-15 17:32:04 | 显示全部楼层
node-red里我用12345作为状态值判断,现在的问题是传感器很难精准判断
回复

使用道具 举报

7

主题

192

帖子

1721

积分

金牌会员

Rank: 6Rank: 6

积分
1721
金钱
1524
HASS币
30
 楼主| 发表于 2020-12-15 18:17:32 | 显示全部楼层
gtyun 发表于 2020-12-15 17:32
node-red里我用12345作为状态值判断,现在的问题是传感器很难精准判断

这里就只有一个传感器, 门窗传感器, 是非常精确的
回复

使用道具 举报

9

主题

527

帖子

2352

积分

金牌会员

Rank: 6Rank: 6

积分
2352
金钱
1825
HASS币
0
发表于 2020-12-15 22:32:07 | 显示全部楼层
先在HA中虚拟出几个个开关

这个就不会啊。。。。咋虚拟
回复

使用道具 举报

7

主题

192

帖子

1721

积分

金牌会员

Rank: 6Rank: 6

积分
1721
金钱
1524
HASS币
30
 楼主| 发表于 2020-12-15 22:42:37 | 显示全部楼层
yylwhy 发表于 2020-12-15 22:32
先在HA中虚拟出几个个开关

这个就不会啊。。。。咋虚拟

直接在 configuration.yaml 中加入

input_boolean:
  a:
  b:
  nearby:
  at_home:
回复

使用道具 举报

35

主题

714

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
金钱
4043
HASS币
60
发表于 2020-12-15 23:45:29 | 显示全部楼层
主要是Home app这个判断zone费不费电?
一直犹豫不想多开个APP

估计IOS后台APP还好,,但安卓后台还是挺费电的
回复

使用道具 举报

1

主题

50

帖子

331

积分

论坛分享达人

积分
331
金钱
281
HASS币
0
发表于 2020-12-16 08:23:39 | 显示全部楼层
思路不错,学习一下!
回复

使用道具 举报

7

主题

192

帖子

1721

积分

金牌会员

Rank: 6Rank: 6

积分
1721
金钱
1524
HASS币
30
 楼主| 发表于 2020-12-16 09:23:28 | 显示全部楼层
huang7dede 发表于 2020-12-15 23:45
主要是Home app这个判断zone费不费电?
一直犹豫不想多开个APP

费电几乎可以忽略的, 安卓的话就用HA的App就可以了
回复

使用道具 举报

175

主题

2967

帖子

7608

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7608
金钱
4616
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2020-12-16 21:18:11 | 显示全部楼层
huang7dede 发表于 2020-12-15 23:45
主要是Home app这个判断zone费不费电?
一直犹豫不想多开个APP

iOS de home应用几乎消耗不了多少电 定位常开没问题。安卓就稍微耗电了
回复

使用道具 举报

7

主题

192

帖子

1721

积分

金牌会员

Rank: 6Rank: 6

积分
1721
金钱
1524
HASS币
30
 楼主| 发表于 2020-12-17 09:21:25 | 显示全部楼层
jyz_0501 发表于 2020-12-16 21:18
iOS de home应用几乎消耗不了多少电 定位常开没问题。安卓就稍微耗电了

而且现在安卓的电量焦虑比iOS低太多了...
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-27 05:28 , Processed in 0.093603 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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