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

 找回密码
 立即注册
查看: 1102|回复: 4

[进阶教程] 使用HomeAssistant的官方推送功能【支持官方app,SamartHouse等】

[复制链接]

23

主题

332

帖子

4268

积分

元老级技术达人

积分
4268
金钱
3911
HASS币
120
发表于 2023-12-4 10:17:59 | 显示全部楼层 |阅读模式
本帖最后由 121665460 于 2023-12-4 10:32 编辑

  • 推送需求:

    • HomeAssistant服务(废话)
    • 官方APP或者SmartHouse1.9.0以上版本(暂时只支持Android)等

  • 官方APP配置

    • 打开持续连接(ios和能访问google的请忽略)

      • 1.jpg
      • 2.jpg

    • 注意点

      • 需要开启自启动后台运行等进行保活

  • SmartHouse设置

    • 开启通知功能,点击进入系统通知设置
    • 3.jpg
    • 在通知类别中分别设置传感器后台服务通知和消息推送通知
    • 4.jpg
    • 5.jpg
    • 6.jpg
    • 注意点

      • 需要开启自启动和忽略电池优化
      • 开启通知信息开源大大提高存活
      • 目前仅支持Android;ios未测试,暂时关闭入口
      • 理论上不用多任务页面锁住app,这样可以释放ui内存占用,但不要清理后台,让系统自动清理(不会清理后台任务)就可以了。手动清理回把所有任务都关闭。也可以等后台服务自启(启动前无法进行推送)
      • miui一个应用有多个通知时不会显示通知的按钮,需要关闭传感器服务的通知
      • 更多功能下版本实现:打开指定设备,打开指定HA页面等。显示历史通知等。

  • HomeAssistant测试

    • 服务选:notify.mobile_app_你的app注册名称
      微信截图_20231204101911.png
    • 代码:

      • service: notify.mobile_app_22011211c_8ab4
        data:
          message: "3232"
          title: "232323"
          data:
            actions:
              - action: action1
                title: 确认
              - action: action2
                title: 取消

  • HomeAssistant自动化配置

    • 例子:处理点击后的操作需要改成真实操作,mobile_app_XXX,XXX改成你的app注册名称

      • alias: 测试消息推送
        description: ""
        trigger:
          - platform: event
            event_type: test
        condition: []
        action:
          - alias: 设置actionId
            variables:
              action_open: "{{ 'OPEN_' ~ context.id }}"
              action_close: "{{ 'CLOSE_' ~ context.id }}"
          - alias: 发送推送消息
            service: notify.mobile_XXX
            data:
              message: 检测到你已到小区并且气温过低,需要开启电暖器吗吗?
              data:
                actions:
                  - action: "{{ action_open }}"
                    title: 开启
                  - action: "{{ action_close }}"
                    title: 关闭
          - alias: 等待消息按钮点击
            wait_for_trigger:
              - platform: event
                event_type: mobile_app_notification_action
                event_data:
                  action: "{{ action_open }}"
              - platform: event
                event_type: mobile_app_notification_action
                event_data:
                  action: "{{ action_close }}"
            continue_on_timeout: true
          - alias: 处理点击后的操作
            choose:
              - conditions: "{{ wait.trigger.event.data.action == action_open }}"
                sequence:
                  - service: notify.mobile_app_XXX
                    data:
                      message: 电暖器已开启
              - conditions: "{{ wait.trigger.event.data.action == action_close }}"
                sequence:
                  - service: notify.mobile_app_XXX
                    data:
                      message: 你选择了关闭
        mode: single

    • 注意,可以添加出错重试,防止后台服务被杀并且未自启时的容错。
    • 显示效果
    •    微信截图_20231204101519.png

官方文档:
  • https://companion.home-assistant.io/docs/notifications/actionable-notifications


相关app下载:
官方APP-googleplay和appstore
国内Android修改版-https://bbs.hassbian.com/thread-18736-1-1.html
SmartHouse-https://bbs.hassbian.com/thread-20181-1-1.html

评分

参与人数 2金钱 +24 收起 理由
sorrypqa + 16 大神666!
rf5 + 8

查看全部评分

回复

使用道具 举报

7

主题

126

帖子

921

积分

高级会员

Rank: 4

积分
921
金钱
795
HASS币
0
发表于 2023-12-4 11:11:22 | 显示全部楼层
大佬牛批,学习一下
回复

使用道具 举报

50

主题

1300

帖子

4903

积分

论坛DIY达人

积分
4903
金钱
3603
HASS币
20
发表于 2023-12-4 13:26:54 | 显示全部楼层
真是雪中送炭呀!一直为通知的事头疼
回复

使用道具 举报

3

主题

108

帖子

464

积分

中级会员

Rank: 3Rank: 3

积分
464
金钱
356
HASS币
0
发表于 2023-12-4 13:49:43 | 显示全部楼层
谢谢分享
回复

使用道具 举报

73

主题

510

帖子

3089

积分

论坛元老

Rank: 8Rank: 8

积分
3089
金钱
2579
HASS币
0
发表于 2023-12-4 14:15:59 | 显示全部楼层
通知是好通知,就是app太耗电,不知有什么权衡的办法
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-28 23:23 , Processed in 0.055029 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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