본문 바로가기
스마트폰 (Mobile)

삼성 SmartThings와 Home Assistant 연동 IoT 자동화 가이드

by 날으는물고기 2025. 3. 21.

삼성 SmartThings와 Home Assistant 연동 IoT 자동화 가이드

728x90

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 키 관리 및 외부 접근 제어에 철저히 유의하며, 자동화를 효과적으로 활용하세요.

Smarter SmartThings with MQTT and Home Assistant

아래는 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.hometemperature 속성 사용
  • 외부 날씨 센서 연동(기상청, 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은 암호화된 형태로 안전하게 저장 및 관리 필수

 

이러한 자동화를 통해 에너지 효율성과 편의성 향상을 기대할 수 있으며, 스마트 홈 환경을 더욱 효과적으로 활용할 수 있습니다.

728x90

댓글