Home Assistant
Macro Deck에 포함덱에서 조명을 켜고 끄고, 장면과 스크립트를 실행하고, Home Assistant의 실시간 상태를 표시하세요.
주소와 장기 액세스 토큰 필드가 있는 Home Assistant 연결 대화 상자
- 상태를 보여 주는 버튼으로 엔터티 켜기, 끄기, 전환
- 조명, 덮개, 온도 조절기, 미디어 플레이어 설정
- 장면, 스크립트, 자동화 실행 또는 모든 서비스 호출
- 모든 엔터티 상태나 속성에 대한 실시간 변수
- 상태 변경과 이벤트 버스 이벤트에 대한 트리거
Home Assistant 연동은 WebSocket API를 통해 Macro Deck을 Home Assistant에 연결합니다. Macro Deck은 연결 하나를 계속 열어 두므로 Home Assistant에서 상태가 바뀌는 즉시 전달되고, 액션도 바로 실행됩니다. Home Assistant는 같은 컴퓨터, 네트워크의 Raspberry Pi나 서버, 원격 주소 등 Macro Deck이 접속할 수 있는 곳이라면 어디서든 실행할 수 있습니다.
할 수 있는 일
- 하나 이상의 엔터티를 켜거나 끄거나 전환합니다. 전환 버튼은 엔터티가 켜져 있는 동안 불이 켜집니다.
- 조명 설정으로 조명의 상태, 밝기, 색, 색온도, 전환 효과를 설정합니다.
- 덮개를 열거나, 닫거나, 멈추거나, 위치를 지정하고, 온도 조절기의 온도, 모드, 팬 모드, 프리셋을 설정하고, 미디어 플레이어의 재생과 볼륨을 제어합니다.
- 장면을 활성화하고, 변수와 함께 스크립트를 실행하고, 자동화를 트리거하거나 켜거나 끕니다.
- 서비스 호출로 엔터티, 기기, 영역을 대상으로 지정하고 데이터를 JSON으로 넣어 어떤 서비스든 호출합니다.
- 엔터티 상태 가져오기로 엔터티의 상태나 속성을 Macro Deck 변수로 읽습니다.
활용 예:
- 책상 램프가 켜져 있는지 보여 주는 전환 버튼.
- 영화 장면을 활성화하고 미디어 플레이어의 음악을 일시 정지하는 영화 버튼.
- 조명 밝기에 연결되어 덱에서 조명을 어둡게 하고 Home Assistant에서 바뀐 내용도 보여 주는 슬라이더.
- 라벨에 센서의 온도를 보여 주는 버튼과, 현관문이 열리면 알림을 표시하는 엔터티 상태 변경됨 흐름.
변수와 실시간 업데이트
Home Assistant는 Macro Deck이 처음부터 나열하는 것보다 훨씬 많은 값을 제공합니다. 모든 엔터티는 변수 페이지와 모든 변수 선택기에 있는 이 연동의 변수 중 접혀 있는 바인딩되지 않은 변수 그룹에서 찾을 수 있습니다. 엔터티를 열어 상태와 속성을 확인하고 필요한 항목에서 바인딩을 선택하세요. 그러면 실시간으로 업데이트되는 일반 변수가 됩니다. 이렇게 하면 슬라이더로 조명 밝기, 팬 속도, 덮개 위치, 미디어 플레이어 볼륨, 온도 조절기 온도를 제어할 수 있습니다.
연결이 끊기면 Macro Deck이 스스로 다시 연결하며, 시도가 실패할 때마다 최대 1분까지 조금씩 더 오래 기다립니다. 이때 연결됨 및 연결 끊김 트리거가 실행되며, Home Assistant가 연결되어 있지 않은 동안 액션은 메시지와 함께 실패합니다. Home Assistant는 하나만 연결할 수 있습니다.
준비물
- Macro Deck이 접속할 수 있는 실행 중인 Home Assistant (예:
http://homeassistant.local:8123) - 장기 액세스 토큰을 만들 수 있는 Home Assistant 사용자 계정
https://주소의 경우: 컴퓨터가 신뢰하는 인증서
설정하기
1단계: 장기 액세스 토큰 만들기
Home Assistant에서 프로필을 열고 Security 탭으로 이동하세요. Long-lived access tokens까지 스크롤해 토큰을 만들고, 이름을
Macro Deck으로 정한 다음 복사하세요. Home Assistant는 토큰을 한 번만 보여 줍니다.2단계: Home Assistant 연동 열기
Macro Deck의 사이드바에서 연동을 클릭하고 Home Assistant를 클릭하세요. 개요 탭의 구성 섹션에서 설정을 클릭하세요. 오른쪽 위의 스위치를 켜도 같은 대화 상자가 열리며, 설정을 마치면 연동이 켜집니다.
3단계: 주소와 토큰 입력
Home Assistant 연결 대화 상자에서 다음을 입력하세요.
- 주소: Home Assistant를 열 때 쓰는 포트를 포함한 주소, 예:
http://homeassistant.local:8123. - 장기 액세스 토큰: 방금 복사한 토큰.
계속을 클릭하면 Macro Deck이 연결을 테스트하고, Home Assistant 뒤 괄호 안에 집 이름이 붙은 이름으로 저장합니다.
- 주소: Home Assistant를 열 때 쓰는 포트를 포함한 주소, 예:
4단계: 버튼에 액션 추가
덱 페이지에서 버튼을 클릭하세요. 덱의 잠금이 해제되어 있어야 하며, 오른쪽 위에 잠금 버튼이 보이면 해제된 상태입니다. 짧게 누르기가 선택된 상태로 편집기가 열립니다. + 액션 추가를 클릭하고 액션 추가 대화 상자 왼쪽에서 Home Assistant를 선택한 다음 전환을 고르고 하나 이상의 엔터티(예: 조명)를 선택하세요.
5단계: 버튼 누르기
덱에서 버튼을 누르세요. Home Assistant에서 조명이 전환되고, 버튼에 조명이 켜져 있는지 표시됩니다.
6단계: 버튼에 표시할 값 바인딩
값을 표시하려면 Home Assistant 페이지의 변수 탭을 열고 바인딩되지 않은 변수 그룹을 펼치세요. 엔터티를 열고 상태나 속성에서 바인딩을 클릭하세요. 새 변수를 라벨에 사용하세요. 예:
{{ vars.ha_sensor_living_room_temperature }}.
액션12
버튼에 넣거나 흐름에서 실행하세요.
- 서비스 호출
- 선택적으로 엔터티, 기기, 영역, JSON 데이터를 지정해 어떤 Home Assistant 서비스든 호출합니다.
- 켜기
- 하나 이상의 엔터티를 켭니다.
- 끄기
- 하나 이상의 엔터티를 끕니다.
- 전환
- 하나 이상의 엔터티를 전환하고, 켜져 있는지 버튼에 표시합니다.
- 조명 설정
- 조명을 켜고 끄며 밝기, 색, 색온도, 전환 효과를 설정합니다.
- 덮개 제어
- 덮개를 열거나, 닫거나, 멈추거나, 위치나 기울기 위치를 설정합니다.
- 미디어 플레이어 제어
- 미디어 플레이어를 재생, 일시 정지, 정지, 건너뛰기, 음소거하거나 볼륨을 설정합니다.
- 온도 조절기 설정
- 온도 조절기의 목표 온도, 모드, 팬 모드, 프리셋을 설정합니다.
- 장면 활성화
- 장면을 활성화하며, 전환 효과를 지정할 수도 있습니다.
- 스크립트 실행
- 스크립트를 실행하며, 변수를 JSON 객체로 전달할 수도 있습니다.
- 자동화 제어
- 자동화를 트리거하거나, 켜거나, 끄거나, 전환하며, 조건을 무시할 수도 있습니다.
- 엔터티 상태 가져오기
- 엔터티의 상태나 속성 하나를 Macro Deck 변수로 읽습니다.
트리거4
버튼이나 흐름이 이 이벤트에 반응할 수 있습니다.
- 연결됨
- Macro Deck이 Home Assistant에 연결되었습니다.
- 연결 끊김
- Home Assistant와의 연결이 끊어졌습니다.
- 엔터티 상태 변경됨
- 엔터티의 상태가 바뀌었습니다. 도메인, 엔터티, 또는 특정 상태에서의 변경이나 특정 상태로의 변경으로 한정할 수 있습니다.
- Home Assistant 이벤트
- 자동화, 스크립트, ZHA 및 deCONZ 버튼 누름, 사용자 지정 이벤트처럼 Home Assistant 이벤트 버스에 있는 모든 것. 특정 이벤트 유형으로 한정할 수 있습니다.
변수5
버튼과 위젯에 이 값을 표시하거나 조건에 사용하세요.
homeassistant_is_connected- Macro Deck이 Home Assistant에 연결되어 있는지 여부입니다.
homeassistant_version- Home Assistant의 버전입니다.
homeassistant_location_name- 집의 이름입니다.
homeassistant_entity_count- Home Assistant에 있는 엔터티 수입니다.
ha_<entity>,ha_<entity>_<attribute>- 바인딩되지 않은 변수에서 바인딩한 엔터티의 상태나 속성입니다. 이름은 엔터티 ID를 바탕으로 제안되며, 예를 들어
ha_light_office_lamp나ha_light_office_lamp_brightness_pct가 됩니다. 조명의brightness_pct처럼 많은 값을 설정할 수도 있습니다.
자주 묻는 질문
Home Assistant가 같은 컴퓨터에서 실행되어야 하나요?
아니요. Macro Deck은 네트워크로 연결하므로, Macro Deck이 접속할 수만 있다면 Home Assistant는 Raspberry Pi, 서버, 원격 주소에서 실행해도 됩니다.
Home Assistant를 여러 개 연결할 수 있나요?
아니요. 이 연동은 Home Assistant 하나만 지원합니다. 설정을 다시 실행하면 연결이 대체되며, 버튼은 계속 동작합니다.
설정에서 인증서를 확인할 수 없다고 나옵니다. 어떻게 해야 하나요?
컴퓨터가 https:// 주소의 인증서를 신뢰하지 않습니다. 운영 체제의 인증서 저장소에서 신뢰하도록 설정하거나, 로컬 네트워크에서 http://로 연결하세요.
리버스 프록시 뒤에 있는 Home Assistant에 연결되지 않습니다. 이유가 무엇인가요?
일부 프록시는 자동화된 트래픽으로 보이는 요청을 차단합니다. 설정 > 고급 > HTTP를 열고 HTTP User-Agent에 프록시가 받아들이는 값을 입력하세요.
연결이 끊기면 어떻게 되나요?
Macro Deck이 스스로 다시 연결하고 연결 끊김 및 연결됨 트리거를 실행합니다. 한동안 Home Assistant에 접속할 수 없으면 연동에 Home Assistant에 연결할 수 없습니다가 표시되고, 백그라운드에서 계속 시도합니다.
액세스 토큰은 어디에 저장되나요?
토큰은 컴퓨터에 암호화되어 저장되며, Home Assistant와 통신할 때를 제외하고는 컴퓨터 밖으로 나가지 않습니다. Home Assistant가 토큰을 거부하면 연동에 문제가 표시됩니다. 새 토큰을 만들고 설정을 다시 실행하세요.
스마트 홈 및 웹의 다른 연동
AdGuard Home
Macro Deck에 포함AdGuard Home 보호를 켜거나 끄거나 일시 중지하고, 통계를 덱에 표시하세요.
RSS 피드
Macro Deck에 포함RSS와 Atom 피드를 구독하고, 최신 글을 위젯에 표시하며, 새 글이 올라오면 반응하세요.
HTTP
Macro Deck에 포함버튼에서 HTTP 요청을 보내고 응답의 값을 변수에 저장하세요.
날씨
Macro Deck에 포함API 키 없이 원하는 위치의 현재 날씨와 예보를 덱에 표시하세요.