


대부분의 통합은 휴대폰을 중간 다리로 삼습니다. 휴대폰이 명령을 듣고, 휴대폰이 명령을 보내므로, 휴대폰이 깨어 있고 네트워크에 연결된 동안에만 자동화가 작동합니다.
AVR Maestro는 그렇게 하지 않습니다. 내 장면을 허브에 있는 스크립트로 컴파일하고, 허브가 리시버의 로컬 IP로 명령을 보냅니다. 앱의 역할은 동기화가 끝나면 끝납니다.
http://192.168.1.150:8123 같은 로컬 주소나 외부 Nabu Casa URL을 입력하세요.이제 Home Assistant에는 리시버에 시킬 수 있는 모든 일에 대한 제어 항목이 있지만, 그것들을 어떻게 배치할지에 대한 의견은 전혀 없습니다. 대시보드 예제는 전체 YAML이 포함된 하나의 배치 방안입니다. 선택된 항목에 불이 들어오는 소스와 서라운드 타일, 실제 dB로 표시되는 볼륨, 자기 이름을 그대로 읽어 오는 장면, 그리고 Home Assistant가 볼 수 있는 것과 볼 수 없는 것에 대한 솔직한 지도가 담겨 있습니다.
고급 제어 동기화를 켜면 앱이 장면뿐 아니라 훨씬 더 많은 스크립트를 게시합니다. 모든 Speaker Preset, 모든 Dirac Live 필터 슬롯, 각 Audyssey 곡선이 대상입니다. Cinema 30에서 전체 동기화를 하면 스크립트가 일흔 개 넘게 생기므로, 대시보드 버튼이나 음성 명령으로 장면을 불러오듯 Dirac 필터를 불러오거나 룸 곡선을 전환할 수 있습니다.
스크립트는 실행할 수는 있어도 읽을 수는 없으므로, 초기의 대시보드는 Audyssey 곡선이나 Dirac 슬롯을 전환할 수는 있어도 어느 것이 켜져 있는지는 보여 줄 수 없었습니다. 이제 앱이 이미 가지고 있는 값(실시간 서라운드 모드, 활성 Dirac 필터, 스피커 프리셋, 디머 등 수십 가지)이 리시버의 상태 센서에 속성으로 공개되므로, 타일이 실제로 실행 중인 설정에 맞춰 불이 들어올 수 있습니다.
존 2와 존 3의 전원, 볼륨, 음소거는 각각 별도의 스크립트로 게시되므로, 테라스나 두 번째 방도 메인 존처럼 대시보드나 음성 어시스턴트에 반응합니다. 리시버가 실제로 보고하는 존에만 버튼이 생기므로, 2존 리시버에 존 3이 생기는 일은 없습니다.
예전에는 스크립트 이름이 장면 과 리시버를 따라 지어졌기 때문에, 둘 중 하나의 이름을 바꾸면 예전 스크립트가 남고 조용히 두 번째 스크립트가 만들어졌습니다. 이제는 장면과 리시버의 MAC 주소를 따라 이름을 짓기 때문에, 이름을 바꿔도 스크립트가 갈라지지 않고 같은 스크립트가 업데이트됩니다.
이 변경 후 처음 동기화하면 예전 스크립트가 새 스크립트로 교체됩니다. 예전 ID를 기반으로 만든 것은 한 번 다시 연결해야 합니다. 대시보드 버튼, 자동화, 음성 별칭 등이 해당됩니다. Home Assistant에서 스크립트를 열면 새 엔티티 ID를 확인할 수 있습니다.
엔티티도 이제 32자의 기계 식별자 대신 리시버에서 읽은 cinema30으로 표시되므로, 목록을 알아보기 쉽고 자동 완성에서도 찾을 수 있습니다. 이전 버전의 ID도 계속 작동합니다.
Hubitat은 Maker API를 통해 지원되며, 앱에서 BETA로 표시되는 이유는 미완성이어서가 아니라 Home Assistant 방식보다 더 새롭기 때문입니다.
먼저 허브에서 Maker API를 켜면(Apps › Add Built-In App › Maker API) 세 가지를 모두 알려 줍니다. 이를 붙여 넣으면 AVR Maestro가 리시버를 찾고, 장면을 명령 시퀀스로 게시하며, 실시간 상태를 다시 보내 주므로 Hubitat 대시보드에는 마지막으로 전달된 명령이 아니라 리시버가 실제로 하고 있는 일이 반영됩니다.
Home Assistant와 Hubitat은 리시버로 명령을 보냅니다. 웹훅은 반대 방향입니다. 리시버가 무언가를 하면 다른 모든 곳에 그 사실을 알립니다. 리시버를 켜면 AVR Maestro가 지정한 주소로 작은 메시지를 보내는데, 그 메시지가 바로 웹훅입니다.


| 트리거 이벤트 | 작동 시점 | 좁힐 수 있는 범위 |
|---|---|---|
| 리시버 전원 켜짐 | 리시버가 대기 모드에서 깨어날 때 | - |
| 리시버 전원 꺼짐 | 리시버가 대기 모드로 들어갈 때 | - |
| 활성 입력 변경됨 | 선택된 소스가 바뀔 때 | 이 입력일 때만 트리거에서 입력 하나 |
| 장면 불러옴 | 장면이 적용될 때 | 장면 선택에서 장면 하나 |
범위를 좁혀야 시끄럽지 않고 쓸모가 생깁니다. 모든 입력에 "활성 입력 변경됨"을 걸면 쏟아지는 소방 호스지만, 같은 트리거를 프로젝터가 연결된 입력 하나에만 걸면 조명 스위치가 됩니다.
입력 목록은 내 리시버가 보고하는 목록이므로, 이름을 바꾸거나 숨긴 소스가 이미 반영되어 있습니다. 장면 목록은 내가 만든 장면입니다.
대부분의 사람들이 원하는 Home Assistant 방식입니다. 앱이 가리킬 대상이 필요하므로 Home Assistant 쪽을 먼저 하세요.
avr-power-on, avr-movie-night 같은 식입니다. 내 Home Assistant에서 고유하기만 하면 어떤 이름이든 괜찮습니다. 적어 두세요. AVR Maestro에도 같은 것을 입력해야 합니다.Sends to http://your-ha:8123/api/webhook/avr-power-on가 표시되므로 저장 전에 확인할 수 있습니다.전송할 위치를 기타로 바꾸고 웹훅 URL에 전체 URL을 붙여 넣으세요. POST를 받을 수 있는 것이라면 무엇이든 됩니다. Node-RED 플로, IFTTT 애플릿, NAS의 스크립트, Hubitat Maker API 엔드포인트 등이 그 예입니다. 이 방식은 입력한 그대로 주소를 저장하므로, 대상이 옮겨지면 트리거를 수정해야 합니다.
작은 JSON 본문입니다. 같은 화면의 전송되는 내용 카드가 선택한 트리거에 맞춰 쉬운 말로 설명해 주므로 추측할 필요가 없습니다. 자동화가 읽는 필드 이름은 다음과 같습니다.
| 트리거 | 메시지에 담기는 필드 |
|---|---|
| 리시버 전원 켜짐 / 꺼짐 | event, timestamp |
| 활성 입력 변경됨 | ...외에 source 포함 |
| 장면 불러옴 | ...외에 sceneId 및 sceneName 포함 |
Home Assistant 자동화에서는 이 값들이 {{ trigger.json.event }}, {{ trigger.json.source }} 등으로 들어옵니다. 읽어서 쓸 수도 있고, 완전히 무시하고 작동했다는 사실만으로 동작하게 할 수도 있습니다. 대부분은 후자를 택합니다.
다른 형식이 필요하다면(자체 형식을 요구하는 서비스 등) 해당 카드 아래의 직접 JSON 보내기를 열어 그곳에 작성하세요. 이 항목은 접혀 있고 고급으로 표시되어 있는데, 권장하지 않아서가 아니라 거의 아무도 필요로 하지 않기 때문입니다.
처음 두 가지가 거의 항상 원인이므로, 확인할 만한 순서대로 정리했습니다.
홈 오토메이션(Pro), 즉 Home Assistant, Hubitat, 아웃바운드 웹훅은 일회성 잠금 해제입니다. 기기 내 AI 어시스턴트를 포함한 AVR Maestro의 나머지 기능은 모두 앱에 포함되어 있습니다.
음성 제어는 허브를 거쳐 홈 오토메이션 을 통해 리시버에 도달합니다. AVR Maestro는 자체 음성 인식을 실행하지 않습니다.
시작하기 · 홈 화면 · 장면 · 사용자 지정 아이콘 · 사운드 · 그래픽 EQ · 스피커 · 컨트롤이 잠겨 있는 이유 · 어시스턴트 · Home Assistant 대시보드 · 존 · 리모컨 · 라디오 (FM/AM) · 온스크린 디스플레이 · 설정 · 언어 · 볼륨 제어 · 백업 & 복원 · 지금 재생 중 & HEOS