MINARA
Minara 사용하기클라이언트 및 인터페이스메시징 플랫폼

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을 통한 TTS
    • pushover / telegram / discord (HA 통합을 통해 프록시됨)
    • tts.* 서비스: HA 음성 스택을 통한 음성 출력
    • YAML로 직접 정의한 모든 커스텀 notify.* 서비스
  • 기본적으로 채널 없음. HA 서비스가 메시지를 라우팅하며, channel 재정의는 무시됩니다. (HA 서비스 id는 게이트웨이 생성 시 설정됩니다.)
  • 4,096자 소프트 제한(헬퍼 기본값). HA 자체에는 하드 제한이 없습니다.

설정

1. 장기 액세스 토큰 생성

  1. Home Assistant UI를 엽니다.
  2. 아바타(좌측 하단)를 클릭한 후 장기 액세스 토큰을 선택합니다.
  3. 토큰 생성을 클릭하고 이름을 "Minara"로 지정한 뒤, 토큰을 복사합니다(최초 1회만 표시됨).

2. notify 서비스 선택

HA에서 개발자 도구서비스로 이동한 후, 서비스 선택기에 notify.를 입력합니다. 동작하는 서비스를 선택하세요. 모바일 푸시가 일반적인 시작점입니다.

notify.mobile_app_your_phone

Minara를 연결하기 전에, 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_phone

HASS_URL은 전체 기본 URL을 입력하며, 끝에 슬래시를 붙이지 않습니다. HASS_NOTIFY_SERVICEnotify. 접두사를 붙여도 되고 생략해도 됩니다. 게이트웨이가 어느 쪽이든 자동으로 처리합니다.

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을 통한 TTSgoogle_assistant_sdkgoogle_assistant_sdk 통합 필요
Pushover 에스컬레이션pushover통합: notify.pushover_*
Telegram으로 재라우팅telegramHA → 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 측 문제입니다.

참조

목차