孙亮亮
返回 智能家居

智能家居

智能家居语音播报通知中枢实战:用 Home Assistant + TTS 让音箱主动播报天气提醒与告警

2026年11月8日

用 HA + 本地 TTS 把天气提醒门铃告警主动播报到音箱,含防打扰策略

智能家居Home AssistantTTS语音播报家庭自动化

智能家居语音播报通知中枢实战:用 Home Assistant + TTS 让音箱主动播报天气提醒与告警

摘要:语音助手会“听”,但一个聪明的家也需要会“说”。本文用 Home Assistant 的 TTS 服务,把天气、日程、门铃与安防告警主动播报到音箱,覆盖本地引擎选型、分区播报与防打扰策略。

一、播报通知 vs 语音助手:先分清输入输出

很多人装了 Home Assistant 离线语音助手(Whisper+Piper)后,只把它当“听懂指令”的工具。其实语音有两个方向:Whisper 是“听”(语音识别输入),而 TTS(文本转语音)是“说”(主动播报输出)。

主动播报的典型场景包括:早晨念一遍今日天气与日程、快递到站提醒、门铃“门口有人”、漏水燃气告警、老人吃药提醒。用本地 TTS 而不是厂商云音箱的好处是:隐私不出户、可与任意传感器自由编排、不依赖第三方服务可用性。

二、TTS 引擎选型:本地优先

如果你之前装过语音助手,Piper 多半已经在 HA 里了。Piper 是离线、支持中文且音色自然的 TTS 引擎,首推。备选方案:

  • 微软 Edge TTS:音质好但需联网;
  • 百度/讯飞 TTS:需申请 API key,按量计费。

在 configuration.yaml 中确认 tts 平台配置:

tts:
  - platform: piper
    voice: zh_CN-huayan-medium

测试时调用服务 tts.speak,指定 media_player 实体与目标文本即可。

三、让音箱真正“开口”:播放设备接入

这是最容易卡住的一步。小爱、天猫精灵等厂商音箱大多封闭,不能直接被 HA 驱动播报,需要走 Homebridge、巴法云或厂商 TTS 转发通道。更干净的方案是本地播放设备:

  • 用 ESP32 接 MAX98357 功放模块做廉价播报终端;
  • 或用一台常开的 Linux 小主机接 USB 音箱,配合 VLC/MPD 媒体播放器;
  • 也可直接用带扬声器的 HA 语音一体设备。

核心是把设备暴露为一个 media_player 实体,然后用 tts.speak 把生成好的语音推给它。

四、把事件变成播报:自动化编排

早间播报脚本示例:

alias: 早间语音播报
trigger:
  - platform: time
    at: "07:30:00"
action:
  - service: tts.speak
    target:
      entity_id: media_player.living_room
    data:
      cache: true
      message: >-
        早上好,今天{{ states('weather.home') }},
        最高温度{{ state_attr('weather.home','temperature') }}度,
        记得{{ states('sensor.today_event') }}。

门铃与告警触发的思路一致:门铃 binary_sensor 翻转时播报“门口有人”;水浸、燃气传感器触发时,全屋音箱播报并同步推送手机。

五、分区播报与防打扰

  • 分区:卧室音箱夜间保持安静,客厅白天播报;
  • 安静时段:用 time_condition 限定 22:00-07:00 只推手机、不发声;
  • 节流:水浸类持续触发会刷屏,用“同事件 5 分钟内不再播报”的条件拦截;
  • 音量渐起:避免突然高音量惊吓家人或宠物。

六、进阶:让播报更自然

利用模板拼接动态数据,让每句话都不一样;多条播报用队列(queue)避免互相打断;进阶玩法是用本地 LLM 先把天气、日历、待办汇总成一段“今日简报”,再交给 TTS 念出来,体验接近真人播报。

小结:把 Home Assistant 的 TTS 服务当成全屋的“嘴巴”,先选好本地引擎,再接好播放设备,最后用自动化把天气、门铃、告警等事件转成自然语音。配合分区与防打扰策略,家就真正“会说话”了。

本模块其他文章

旧平板手机改造家庭控制面板:Home Assistant Kiosk 模式、Fully Kiosk 与快捷卡片实战Home Assistant 配置备份与灾难恢复实战:全量快照、加密外备与一键回滚智能家居 Zigbee 网络优化实战:信道规划、路由节点布点与离网自愈避坑全屋智能场景模式中枢实战:用 input_select + scene 编排离家/回家/睡眠/就餐一键模式智能家居温控自动化实战:空调伴侣与地暖接入 HA、基于人在感应做节能控温智能家居照明控制实战:零火/单火智能开关选型、灯带接入 Home Assistant 与情景模式联动智能家居空气质量监测实战:ESPHome + PMS5003/ENS160 监测 PM2.5、CO₂ 与 TVOC 并联动新风净化把米家/涂鸦设备接入 Apple HomeKit:Homebridge 桥接与本地控制实战Home Assistant 蓝牙代理实战:ESP32 蓝牙中继扩展米家/涂鸦 BLE 设备覆盖Home Assistant 接入 Matter 设备实战:Thread 边界路由、多生态互通与本地自动化ESPHome 智能插座能耗监测实战:待机功耗摸底、定时断电与 Home Assistant 电费看板用 ESPHome 红外万能遥控把传统空调电视纳入 Home Assistant:码值学习与场景联动实战智能家居窗帘光照联动实战:ESPHome 电机 + 光照传感器 + HA 日出日落自动化智能门锁与门禁接入 Home Assistant:指纹锁状态同步、临时密码与回家离家自动化智能家居漏水与燃气安全监测实战:ESPHome 传感器接入 Home Assistant 并自动关阀告警毫米波雷达存在检测接入 Home Assistant:LD2410 + ESPHome 解决人体感应误触发与无人区漏检Home Assistant 离线语音助手搭建:Whisper 语音识别 + Piper 中文 TTS 本地控制全屋把 Aqara/米家 Zigbee 设备接入 Home Assistant:ZHA 网关配置与回家离家自动化实战ESPHome 从零打造 WiFi 温湿度传感器并接入 Home Assistant:固件编译、配网与自动化联动Home Assistant 本地部署与 MQTT 设备接入实战:从 Docker 安装到自动化规则家庭能耗监测实战:用智能插座 + Home Assistant 把每月电费拆到每个电器毫米波人体存在传感器实战:彻底解决智能灯"人不动就关"的尴尬回家即亮灯、离家自动布防:用 Home Assistant 把场景自动化串起来Zigbee 还是 Matter?智能家居协议选型Home Assistant 本地优先实践
智能家居语音播报通知中枢实战:用 Home Assistant + TTS 让音箱主动播报天气提醒与告警 · 孙亮亮