本帖最后由 XCray 于 2021-10-13 12:13 编辑
过程:HA通知(询问)手机、手机输入回复的文字、然后HA把手机回复的文字通过TTS和媒体播放器念出来。
(如果你自己主动想让家里的HA(已配好TTS和媒体播放器)念一段话,5楼朋友说的没错,直接在HA前端弄个input_text,HA看到其改变直接念就行了。当然,这么做要求HA必须已经实现外网可访问,而我说的办法则不要求HA外网可访问)
0. HA侧配置好媒体播放器和TTS后,创建一个自动化:
alias: read-response
description: '朗读手机输入的文字'
trigger:
- platform: event
event_type: ios.notification_action_fired
condition: []
action:
- service: tts.edge_say
data:
entity_id: media_player.mpd
message: '{{trigger.event.data.textInput}}'
mode: single
1. HA侧自动化触发或手动执行服务调用:
service: notify.mobile_app_xxphone
data:
message: "这是Message本体"
title: 这是通知标题
data:
actions:
- action: "REPLY"
title: "输入要读出的文字"
2. 手机收到通知,此时不要点它,而是摁住它,就会出现键盘,输入文字后点击“发送”按钮即可
一定不要轻点,而是要按住!
轻点“输入要读出的文字”
输入后点“发送”
灵活运用,这个玩法还是可以解决一些需求的。
~~~~~~~~~~~~~
其实,熟悉的朋友都知道,这个思路的核心是“可响应通知”,就是手机收到HA发来的可响应通知后,可以把一段文字回复给HA,HA就可以利用这段文字做一些动作了(比如开热水器开空调等等)。
当然,手机响应的内容除了输入文字,还有其他选项(包括菜单选择、打开某个链接、拨打某个电话号码等,以及法力无边的快捷指令!);考虑到安全,还可以在手机响应前要求先输入口令!(免得别人拿你的手机瞎回复)
HA侧收到手机响应后的动作也没有任何限制(只要是HA能干的都行)。
这个功能意义就是多了一个手机向HA发送数据(指令)的一个途径,尤其是在不方便部署SSL/域名实现HA外网接入的情况下,可能是手机与HA双向沟通的唯一渠道(我之前也用过短信,但短信多少有点费用问题)。
参考官方文档:Actionable Notifications | Home Assistant Companion Docs (home-assistant.io)
|