Home Assistant(홈어시스턴트)에 Samsung SmartThings(스마트싱스)를 연동하면 삼성 IoT 기기들을 하나의 플랫폼에서 쉽게 통합하고 자동화할 수 있습니다. 아래에서 자세한 방법과 함께 자동화 예시 및 점검 포인트를 안내합니다.
1. 개요 및 배경정보
- Home Assistant는 오픈소스 스마트홈 플랫폼으로, 다양한 제조사의 IoT 장치를 통합하여 자동화할 수 있습니다.
- SmartThings는 삼성의 IoT 플랫폼으로서 SmartThings 허브 또는 삼성 제품군(에어컨, TV, 세탁기 등)을 제어합니다.
- 두 플랫폼을 연결하면 Samsung IoT 제품군과 다른 제조사의 IoT 기기를 하나의 인터페이스에서 관리 및 자동화할 수 있습니다.
2. Home Assistant와 SmartThings 연동 원리
Home Assistant와 SmartThings 간 연동은 클라우드 API 방식을 사용합니다.
- Home Assistant ↔ SmartThings Cloud API ↔ 삼성 IoT 장치
(클라우드를 거쳐 서로 통신 및 명령 전달 수행)
이 방식의 장점은 별도 허브를 구매할 필요 없이 클라우드를 통해 쉽게 연동이 가능하다는 것입니다.
3. 준비 사항 및 사전 점검 포인트
다음 조건을 미리 확인합니다.
- 홈어시스턴트(Home Assistant)가 설치되어 있고, 인터넷 접근 가능 상태
- 삼성 SmartThings 계정과 스마트폰의 SmartThings 앱 설치 및 IoT 장치 연동 완료
- Home Assistant에 SSL 적용 및 외부 접근 가능한 URL 필수 (
https://홈어시스턴트주소:8123
)
4. 연동 방법 상세 안내 (단계별 진행)
[STEP 1] SmartThings Developer API 키 생성
① SmartThings 개발자 사이트 접속
② Personal Access Token 생성
- 우측 상단
Create Token
클릭 - 권한 선택 시 다음 권한을 반드시 선택
Devices
,Locations
,Scenes
모두 체크 (Read
,Write
,Execute
)
- 토큰 생성 후 나타나는 토큰값 복사 (한 번만 보여지므로 반드시 별도 저장)
[STEP 2] Home Assistant에서 SmartThings Integration 설정
① Home Assistant 웹 UI 접속
- 좌측 메뉴에서
설정 > 장치 및 서비스 > 통합 구성요소 > 통합 구성요소 추가
클릭
② Integration 목록에서 SmartThings
선택
③ 설정 화면에 다음 정보 입력
- 위에서 생성한 SmartThings 토큰 붙여넣기
- 위치(Location) 선택 (SmartThings 앱에 등록된 위치 목록에서 선택 가능)
④ Home Assistant URL 설정
- SmartThings → Home Assistant 접근을 위한 외부 접속 URL(SSL 적용 필수) 입력
예시)https://home.yourdomain.com:8123
⑤ 설정 완료 후 Home Assistant에서 SmartThings에 연결된 장치들이 자동으로 인식됨.
5. 점검 포인트 및 보안 가이드
✅ 연동 후 점검 포인트
- SmartThings 앱에 추가한 기기가 Home Assistant 장치 목록에서 정상적으로 확인되는지 점검
- 기기 조작(켜기/끄기, 온도조정 등)이 양방향으로 즉각적이고 정확하게 동작하는지 점검
- 기기 상태가 정확하게 보고되는지 실시간으로 확인
🔐 보안 가이드
- SmartThings API 키는 비밀번호와 같은 중요한 권한을 지니므로, 노출되지 않도록 철저히 관리
- Home Assistant에 SSL 및 강력한 암호 기반의 인증 적용 필수
- 외부 URL 접근을 위해 Reverse Proxy(Nginx Proxy Manager 등)를 통해 보안을 강화할 것 권장
6. 자동화 활용 예시
예시 ① 현관문 센서(SmartThings) → 조명(Home Assistant)
automation:
- alias: "현관문 열릴 때 거실 조명 켜기"
trigger:
platform: state
entity_id: binary_sensor.smartthings_door_sensor_contact
from: "off"
to: "on"
action:
- service: light.turn_on
target:
entity_id: light.living_room_light
예시 ② LG 에어컨 자동화 (온도 조정)
automation:
- alias: "거실 온도 높으면 에어컨 켜기"
trigger:
platform: numeric_state
entity_id: sensor.living_room_temperature
above: 28
action:
- service: climate.turn_on
target:
entity_id: climate.lg_air_conditioner
- service: climate.set_temperature
data:
entity_id: climate.lg_air_conditioner
temperature: 24
LG 에어컨 MQTT 브로커 통해서 홈어시스턴트 연동 자동화 스마트홈
Home Assistant에서 MQTT를 사용하여 LG 에어컨을 제어하기 위해, MQTT 브로커를 설정하고, 해당 브로커와 통신할 수 있는 코드를 작성해야 합니다. MQTT 브로커로는 일반적으로 Mosquitto를 많이 사용합니
blog.pages.kr
7. 유지보수 및 문제 해결
- 연동 문제가 발생하면 Home Assistant 로그를 통해 오류 원인을 확인
위치: 홈어시스턴트 웹UI > 설정 > 시스템 > 로그
- SmartThings API 권한 만료 시, Developer 페이지에서 다시 토큰 발급 필요 (일부 경우 만료 가능)
Home Assistant와 SmartThings 연동은 비교적 간단하지만, 클라우드 기반 통신인 만큼 보안 관리가 필수적입니다. API 키 관리 및 외부 접근 제어에 철저히 유의하며, 자동화를 효과적으로 활용하세요.
아래는 Home Assistant와 SmartThings의 위치 기반 센서 및 온도 조건을 활용하여 자동화를 구현하는 방법입니다.
자동화 개요
스마트폰의 위치 기반 센서를 Home Assistant에 연동하여, 다음 두 가지 시나리오를 자동화합니다.
- 집으로 가까워질 때 → 날씨가 추우면 보일러를 켜고, 날씨가 더우면 에어컨을 미리 가동.
- 집에서 멀어질 때 → 불필요한 조명이나 전자기기 전원을 자동으로 끄기.
1단계: 준비 및 필수 센서 확인
아래 센서 및 기기가 미리 연동 및 설정되어 있어야 합니다.
- 스마트폰을 Home Assistant에 위치 추적 장치로 등록하기
- (예시: Home Assistant 앱 사용 권장, GPS 기반 위치 정보 실시간 추적 가능)
- 날씨정보 센서 (기본 내장된
weather.home
센서 또는 기상청 통합 등) - SmartThings 연동된 삼성 IoT 장치 (보일러, 에어컨, 조명, 스마트 플러그 등)
2단계: 위치 기반 센서의 상태 확인
Home Assistant에서 스마트폰의 위치 상태는 person.사용자명
형태로 나타나며 상태는 다음과 같습니다.
- 상태 예시
home
: 집 안에 있는 상태not_home
: 집 밖의 먼 거리
- 위치정보 센서
proximity
를 추가로 설정하면 좀 더 정확한 거리 기반 자동화가 가능합니다.
📍 proximity 센서 설정법 예시 (configuration.yaml)
proximity:
home_distance:
zone: home
devices:
- person.사용자명
unit_of_measurement: m
위 설정으로 현재 집과의 거리(m)가 sensor.home_distance
로 측정됩니다.
3단계: 날씨 상태 확인 (온도 조건)
온도 데이터는 아래 센서를 통해 확보할 수 있습니다.
- 기본 날씨 센서 예시:
weather.home
의temperature
속성 사용 - 외부 날씨 센서 연동(기상청, OpenWeatherMap 등)을 활용해도 좋습니다.
스마트 홈 자동화: 사람 위치 기반 감지 및 알림 시스템 디바이스 연동
스마트 홈 환경에서 특정 사용자의 상태(예: 위치 변경이나 집 도착)를 실시간으로 감지하고 이에 대한 알림을 제공하는 자동화 시스템을 구축하는 기본적인 예시입니다. 이러한 자동화는 다양
blog.pages.kr
자동화 활용 예시 (YAML 코드 예제)
사례①: 집에 가까워지면서 날씨 조건에 따른 보일러/에어컨 자동 가동
- 조건
- 집과의 거리가 500m 이하로 가까워질 때
- 외부 온도가 10°C 미만이면 보일러 가동
- 외부 온도가 27°C 초과이면 에어컨 가동
automation:
- alias: "집에 가까워질 때 날씨에 따라 보일러/에어컨 켜기"
trigger:
- platform: numeric_state
entity_id: sensor.home_distance
below: 500 # 500m 이내 접근 시
condition:
- condition: state
entity_id: person.사용자명
state: "not_home" # 집 외부에서 접근 시 작동
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: weather.home
attribute: temperature
below: 10
sequence:
- service: climate.turn_on
target:
entity_id: climate.smartthings_boiler
- service: climate.set_temperature
data:
entity_id: climate.smartthings_boiler
temperature: 23
- conditions:
- condition: numeric_state
entity_id: weather.home
attribute: temperature
above: 27
sequence:
- service: climate.turn_on
target:
entity_id: climate.smartthings_air_conditioner
- service: climate.set_temperature
data:
entity_id: climate.smartthings_air_conditioner
temperature: 24
사례②: 집에서 멀어질 때 불필요한 장치 자동 끄기
- 조건
- 집과의 거리가 500m 이상으로 멀어질 때 작동
- 이미 집에서 떠난 상태일 때만 작동
automation:
- alias: "집에서 멀어지면 불필요한 전원 차단"
trigger:
- platform: numeric_state
entity_id: sensor.home_distance
above: 500 # 500m 이상 벗어났을 때
condition:
- condition: state
entity_id: person.사용자명
state: "not_home"
action:
- service: light.turn_off
target:
entity_id:
- light.smartthings_livingroom
- light.smartthings_bedroom
- service: switch.turn_off
target:
entity_id:
- switch.smartthings_tv
- switch.smartthings_standby_plug
🔍 점검 포인트 및 고려사항
- 자동화가 올바르게 작동하려면 스마트폰의 위치 정확도 확인 필수
- Home Assistant 앱 → GPS 위치 업데이트 권장
- 날씨 센서가 최신 정보를 정확히 제공하는지 확인 필요
- API 호출 제한이나 데이터 업데이트 간격 주의
- 보안 측면에서 위치정보는 민감정보이므로 외부 접근 시 SSL/TLS 적용 및 접근 인증 엄격 관리 필요
🚨 보안 권고사항
내부 사용자(가족 등)에게 아래 보안 가이드를 안내하세요.
- 위치 정보는 개인 정보이므로 위치 추적을 통한 자동화 사용 시 신중한 접근 필요
- 스마트폰 분실 시 Home Assistant에서 즉각 위치 센서 비활성화 및 접근 차단 권장
- 개인용 토큰, API 키, 외부 접근 URL은 암호화된 형태로 안전하게 저장 및 관리 필수
이러한 자동화를 통해 에너지 효율성과 편의성 향상을 기대할 수 있으며, 스마트 홈 환경을 더욱 효과적으로 활용할 수 있습니다.
댓글