在 Home Assistant 中创建行程时间传感器和出发提醒
如果您住在市区,需要定期接人,例如: 下班的家庭成员或放学的孩子,智能手机上的简单闹钟可能对您有用,但不是最佳解决方案。 在Home Assistant的帮助下,我们可以利用实时交通信息和家庭自动化使其更加智能。
让我们看看这里的一个用例:
- 学校接送时间是每个工作日下午3:00
- 考虑从家到学校的交通拥堵情况并相应调整
- 准时向用户发送提醒,以便学校接送
由于当今交通拥堵加剧,从家到学校的行程时间在 13 至 22 分钟之间。 当然,您总是可以提早出发,并使用 22 分钟作为一个很可靠的预估,但是如果使用Home Assistant来提醒您,您可以节省一些宝贵的时间。
我的解决方案是使用实时交通流量估计自动提醒,并事先向手机发送推送通知。 步骤如下:
1. Waze Travel Time integration
第一, 我们需要在Home Assistant中安装waze travel time集成组件。 前往Home Assistant,并添加“waze Travel Time”集成组件,并填写出发地和目的地,以及友好名称。 注意地址可以是 GPS 坐标或街道地址。
为了方便快速查看出行时间,lovelace UI中还可以添加出行时间卡片,如下图。
waze travel time integration | waze travel time |
---|---|
2. 自定义模板传感器,用于计算剩余时间
这个想法是创建一个模板传感器,在您必须出发之前跟踪剩余时间。 例如,如果实时旅行时间为 20 分钟,学校接送时间为下午 3:00,则您必须在下午 2:40 离开。 这通常是假设您已经在车上并准备开车的理论估计。 因此创建了一个模板传感器,以适应更多的准备时间。 请注意,模板的价值也会随着时间的推移而减少,以便可以更轻松地在自动化中使用。
假设当前时间是下午 2 点 35 分,位智旅行时间是 15 分钟,以下模板传感器将评估为 5 分钟,这意味着您有 10 分钟时间到下午 3 点 40 分准备起飞并在下午 3 点 45 分开始驾驶。 5 分钟的准备时间可以调整为任何首选值。
1 - name: "Time remaining to go to pickup"
2 icon: "mdi:clock"
3 unit_of_measurement: min
4 state: >
5 {{ (14 - now().hour)*60 + (60- now().minute) + 5 - states('sensor.school_pickup_time') | int }}
6 # sensor.school_pickup_time is the waze integration sensor
3. 自动发送提醒
一旦我们具备了上述先决条件,设置自动化就非常容易了。 创建一个新的自动化并选择模板传感器作为实体触发器。 由于剩余时间是一个数值,您可以通过多种方式调整触发条件。 我的设置是检查铰孔时间在 0 到 3 分钟之间。 条件是周一至周五。 该操作是使用通用服务 notify.notify 和文本消息发送通知。 就我而言,我在手机上收到通知。 根据您的家庭助理功能,这可能是一条短信,也可能是一个电话。
automation setup | notification |
---|---|
结论
Home Assistant提供无限潜力,为日常生活带来便利。 这里提出了一个简单的解决方案,可以根据实时交通信息提醒出发时间。 未来的一些改进可能是:
- 与谷歌日历集成,因此自动化能够考虑到法定假期以及非上学日
- 制作自定义组件,以便添加新提醒更容易,配置开销更少。