HomeAssistant IOS推送

IOS平台一大好处是通知推送,HomeAssistant中已经很完善了,简单地配置之后就可以用。

添加组件

配置文件里添加ios:重启加载IOS组件,在App中设置-通知设置-更新推送设置,可以看到IOS组件和通知平台都打勾了。

在开发者工具-服务里面也会有相应项,就可以使用了。

简单通知

通知一般在自动化里面调用通知服务,比如一个最简单的HomeAssistant启动通知。

可以添加标题副标题,这里的unicode字串是显示的表情。

1
2
3
4
5
6
7
8
9
- alias: hass_start_notify
trigger:
- event: start
platform: homeassistant
condition: []
action:
- service: notify.ios_taosky8p
data:
message: "{{ '\uD83D\uDE09' }}Home Assistant刚刚启动了。"

效果如下:

带操作按钮的通知

3D Touch通知之后会有选项的那种,比如收到树莓派温度过高的通知可以直接关闭它。

这个其实是两个自动化完成的,一个是通知的自动化,一个是收到通知按钮之后作出反应的自动化。

首先需要在ios.push里面添加一个按钮模板,也就是通知上的按钮的样子。具体参数的含义见官方文档,这个对大小写很敏感,如出错可能是大小写问题。

其次是正常的一个自动化,相比较上面的简单通知,里面多了个data指定按钮的模板。

最后是触发按钮的自动化,用到ios.notification_action_fired这个事件,然后在action里面真正完成我们的关机的操作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
shell_command:
shutdown_pi: sudo shutdown -h now

script:
shutdown_pi:
alias: 关闭树莓派
sequence:
- service: shell_command.shutdown_pi

ios:
push:
categories:
- name: Piwarning
identifier: 'piwarning'
actions:
- identifier: 'SHUTDOWN_PI'
title: '立即关闭PI?'
activationMode: 'background'
authenticationRequired: yes
destructive: yes
behavior: 'default'

automation:
- alias: pi_temp_warning
trigger:
platform: numeric_state
entity_id: sensor.pi_temp
above: 50
condition: []
action:
- service: notify.ios_taosky8p
data:
message: "{{ '\uD83D\uDE31' }} 树莓派温度过高(超过50度)!"
data:
push:
category: "piwarning"

- alias: ios_action_shutdown_pi
trigger:
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: SHUTDOWN_PI
action:
- service: script.turn_on
entity_id: script.shutdown_pi

参考

https://www.home-assistant.io/docs/ecosystem/ios/notifications/basic/
https://www.home-assistant.io/docs/ecosystem/ios/notifications/actions/
https://bbs.hassbian.com/thread-1430-1-1.html
https://bbs.hassbian.com/thread-3366-1-1.html

0%