乌克兰人在电网停电时通过 LoRa 无线控制 Home Assistant

发布: (2026年2月19日 GMT+8 11:56)
5 分钟阅读

Source: Hacker News

Introduction

r/homeassistant,

我住在乌克兰。俄罗斯经常攻击我们的电网——电网一旦中断,互联网和基站也会在数小时内失效。我的 Home Assistant 通过电池备份持续运行,但我无法从外部访问它。因此我搭建了一个无线电桥。

How it works

两台 Lilygo T‑Echo 无线电(约 $30/台,LoRa 433 MHz,Meshtastic 固件)。一台通过 USB 接入我的 Mac mini,另一台随身携带。一个 Python 监听守护进程位于无线电与 Home Assistant 之间,负责路由指令并返回传感器数据——全部通过加密的 LoRa 传输。HA 运行在 Home Assistant Green 上。

What I can do from the radio

Smart home control

  • 开关灯光
  • 查看 Aqara 传感器的温度(家中共三台)
  • 查看电力状态——电网开/关,电池电量(EcoFlow、Zendure)
  • 查看谁在家

Voice messages (the fun part)

  1. 在 T‑Echo 上输入 SAY: Привіт, я скоро буду вдома(嗨,我很快就回家)
  2. 监听程序调用 tts.google_translate 并使用乌克兰语
  3. HA Voice PE 扬声器在家中朗读出来

零互联网。仅无线电 → Mac mini → HA TTS → 扬声器。

Camera snapshots

  • 通过无线电或 Discord 询问 “外面怎么样?”
  • 监听程序从 Tapo C120 + C100(通过 HA 摄像头代理 API)获取快照
  • 将快照送入本地视觉模型(Ollama 上的 gemma3:12b)
  • 返回文字描述,例如 “5 辆车停着,没有人,雪天”。
  • 每小时自动监控并记录所有信息。

Proactive alerts

  • AI 监控电力状态。
  • 电力中断 → LoRa 消息在数秒内发送到我的无线电,同时附带电池电量和温度信息。

The HA integration

监听程序通过 REST API 与 HA 通信:

  • GET /api/states/{entity_id} — 读取传感器
  • POST /api/services/{domain}/{service} — 控制设备
  • GET /api/camera_proxy/{camera_entity} — 获取快照
  • POST /api/services/tts/speak — 语音消息

收到的无线电消息先由本地 LLM(phi4‑mini)分类——“是智能家居指令、问题还是 TTS 请求?”——随后路由到相应的 HA 服务,或交给更大的模型(gemma3:12b)处理通用问题。

Architecture

T-Echo (portable)
    │ LoRa 433 MHz, encrypted

T-Echo (USB) → Mac mini

    ├── SAY: prefix  → tts.google_translate → Voice PE speaker
    ├── Smart home   → Home Assistant REST API
    ├── Camera       → camera_proxy → gemma3 vision → description
    ├── AI questions → phi4-mini → gemma3:12b (local via Ollama)
    └── Alerts       → outbox .msg files → LoRa TX

Why this matters

HA 在电池备份下运行固然不错,但如果无法远程访问就毫无意义。无线电桥的优势在于:

  • 不依赖 Wi‑Fi、互联网或基站
  • 加密通信(Meshtastic PSK)
  • 使用原装 T‑Echo 天线在城市环境下约 1–3 km 覆盖范围(可通过 Mesh 节点扩展)
  • 总成本约 $ 60(两台无线电)

Entities I use

  • camera.tapo_c120_hd_stream / camera.tapo_c100_hd_stream — 快照
  • tts.google_translate_en_comlanguage: "uk")— 乌克兰语 TTS
  • media_player.home_assistant_voice_* — 扬声器
  • binary_sensor.tapo_c120_person_detection — 触发器
  • Aqara 温度传感器
  • 电网状态传感器(通过 Yasno 集成和 Meross 智能插座实现)
  • EcoFlow 电池电量

Stack

  • Home Assistant — 整体核心
  • HA Voice PE — TTS 输出扬声器
  • Tapo C120 + C100 — 安防摄像头
  • Meshtastic 在 Lilygo T‑Echo(433 MHz)上运行
  • Ollama — 本地 AI 模型
  • OpenClaw — AI 代理框架
  • Mac mini M4 — 运行在电池备份上的服务器

欢迎就 HA 设置提出任何问题。

0 浏览
Back to Blog

相关文章

阅读更多 »