Home Assistant
Minara 알림을 Home Assistant의 모든 notify.* 대상(모바일 푸시, TTS, 이메일, Pushover 등)으로 라우팅합니다.
🟢 런타임 준비 완료 HA의
notify.*서비스 도메인을 통해 전송 후 잊어버리는(fire-and-forget) 알림을 지원합니다. 전송 전용으로,notify.*는 단발성이며 메시지 id를 반환하지 않으므로 편집이 불가능합니다. 헬퍼는 token을 버퍼에 쌓아 두었다가 완료 시점에 한 번에 전송합니다.
제공 기능
- Home Assistant가 접근할 수 있는 모든
notify.*대상:mobile_app_<device>: HA 컴패니언 앱을 통한 iOS / Android 푸시alexa_media_<device>: Echo 기기를 통한 음성 안내google_assistant_sdk: Google Home을 통한 TTSpushover/telegram/discord(HA 통합을 통해 프록시됨)tts.*서비스: HA 음성 스택을 통한 음성 출력- YAML로 직접 정의한 모든 커스텀
notify.*서비스
- 기본적으로 채널 없음. HA 서비스가 메시지를 라우팅하며,
channel재정의는 무시됩니다. (HA 서비스 id는 게이트웨이 생성 시 설정됩니다.) - 4,096자 소프트 제한(헬퍼 기본값). HA 자체에는 하드 제한이 없습니다.
설정
1. 장기 액세스 토큰 생성
- Home Assistant UI를 엽니다.
- 아바타(좌측 하단)를 클릭한 후 장기 액세스 토큰을 선택합니다.
- 토큰 생성을 클릭하고 이름을 "Minara"로 지정한 뒤, 토큰을 복사합니다(최초 1회만 표시됨).
2. notify 서비스 선택
HA에서 개발자 도구 → 서비스로 이동한 후, 서비스 선택기에 notify.를 입력합니다. 동작하는 서비스를 선택하세요. 모바일 푸시가 일반적인 시작점입니다.
notify.mobile_app_your_phoneMinara를 연결하기 전에, HA UI에서 해당 서비스에 직접 테스트 메시지를 전송하여 대상이 접근 가능한지 확인하십시오.
3. Minara 설정
minara auth messaging add home_assistant또는 프로젝트 루트의 .env 파일에 직접 입력합니다.
HASS_URL=https://hass.example:8123
HASS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
HASS_NOTIFY_SERVICE=mobile_app_your_phoneHASS_URL은 전체 기본 URL을 입력하며, 끝에 슬래시를 붙이지 않습니다. HASS_NOTIFY_SERVICE에 notify. 접두사를 붙여도 되고 생략해도 됩니다. 게이트웨이가 어느 쪽이든 자동으로 처리합니다.
4. 테스트
minara auth messaging test home_assistant테스트 핑은 선택한 notify 대상으로 전송됩니다. Alexa TTS 서비스를 선택한 경우 스피커가 메시지를 음성으로 출력하고, 푸시를 선택한 경우 휴대폰이 진동합니다.
notify 라우팅 예시
| 목적 | HASS_NOTIFY_SERVICE | 비고 |
|---|---|---|
| 휴대폰 푸시 (iOS/Android) | mobile_app_<device> | HA 컴패니언 앱 및 푸시 활성화 필요 |
| 특정 방에서 음성 안내 (Echo) | alexa_media_<device> | alexa_media_player HACS 통합 필요 |
| Google Home을 통한 TTS | google_assistant_sdk | google_assistant_sdk 통합 필요 |
| Pushover 에스컬레이션 | pushover | 통합: notify.pushover_* |
| Telegram으로 재라우팅 | telegram | HA → Telegram이 이미 설정된 경우. Minara → HA → Telegram은 간접적이지만 HA에서 라우팅을 일원화할 수 있습니다. |
| 그룹 브로드캐스트 | YAML notify.grouped_alerts: 팬아웃 | configuration.yaml에 그룹을 정의하고 여기서 참조합니다. |
채널 재정의가 없는 이유
HA는 메시지 대상 id가 아닌 notify 서비스 id로 라우팅합니다. 팬아웃이 필요한 경우 HA에서 YAML 그룹 서비스를 생성하십시오.
# configuration.yaml
notify:
- platform: group
name: grouped_alerts
services:
- service: mobile_app_pixel
- service: alexa_media_kitchen이후 HASS_NOTIFY_SERVICE=grouped_alerts로 설정하면, Minara의 단일 알림이 모든 서비스로 팬아웃됩니다.
문제 해결
"401 Unauthorized"
HASS_TOKEN이 잘못되었거나 만료되었습니다. HA → 프로필 → 장기 액세스 토큰에서 재생성하십시오.
"404 Not Found, service not found"
HASS_NOTIFY_SERVICE가 현재 HA 인스턴스에 존재하지 않습니다. 개발자 도구 → 서비스에서 확인하십시오. notify 도메인에는 현재 등록된 서비스만 표시됩니다.
"TLS error / certificate rejected"
HASS_URL에 자체 서명 인증서가 사용되고 있습니다. 시스템 신뢰 저장소에 인증서를 설치하거나, Caddy / Traefik / Cloudflare Tunnel을 통해 HA 앞에 유효한 인증서를 배치하십시오.
"메시지가 HA에 전달되었으나 알림이 수신되지 않음"
- 모바일 앱: 컴패니언 앱에서 푸시가 활성화되지 않았거나 기기가 방해 금지 모드입니다. HA UI에서 동일한 서비스를 직접 실행하여 원인을 확인하십시오. 그 경우에도 실패한다면 HA 측 문제입니다.