먹는게 남는거다!

미박스용 USB 전원 케이블

잡다...

거실 멀티탭에 TV, IPTV 셋탑, 미박스 등 이것저것 연결했더니 문어발이 되었습니다.

어떻게든 어답터를 줄여볼려고 고민하던 중 찾아낸 USB 케이블입니다.

USB 멀티 충전기에 연결하니 딱 맞습니다.

 

구매처: http://mhemall.co.kr/front/php/product.php?product_no=333

Home Assistant + 무선 공유기(ASUS RT-AC68U)로 재실, 외출 표시하기

장난감

 

Home Assistant에서는 휴대폰 같이 우리가 항상 휴대하는 물건으로 재실, 외출 등을 판단해야 합니다.

아래 링크를 클릭하면 Home Assistant를 지원하는 여러 센서를 확인할 수 있는데 저는 ASUS RT-AC68U 무선 공유기를 사용하기 때문에 이 중에서 Asuswrt와 Bluetooth Tracker를 이용해서 해당 센서가 휴대폰을 인지하면 집에 있는 것으로 판단하도록 Home Assistant를 구축하였습니다.

 

Netgear, DD-WRT, LINKSYS, OpenWRT, Tomato, Xiaomi Router 등 다양한 공유기를 지원하기 때문에 본인이 사용하는 공유기를 선택하시면 됩니다.

 

https://www.home-assistant.io/integrations#presence-detection

 

Integrations

List of the built-in integrations of Home Assistant.

www.home-assistant.io

 

1. Asuswrt 설정

 

1) Asus 공유기 SSH 설정

먼저 Home Assistant가 ASUS 공유기에 접속하여 현재 공유기에 연결된 기기들의 정보를 가져올 수 있도록 공유기 설정 페이지에 들어가서 SSH를 허용해야 합니다.

참고: https://lightinglife.tistory.com/144

 

[ASUS 공유기 tvheadend 설치 #1] 아수스 공유기 SSH 외부 접속 활성화 및 JFFS 파티션 활성화

아수스 공유기에 내장된, 관리자 모드에서 지원하는 기능인 다운로드 마스터를 이용하여 토렌트를 다운받는 방법에 대해 알아봤습니다. 실제로 여기까지만 포스팅할려고 했는데, 다운로드 마스터가 조금 느리고,..

lightinglife.tistory.com

 

2) Asuswrt 설정 (https://www.home-assistant.io/integrations/asuswrt/)

Home Assistant 설정 파일인 configuration.yaml 에 아래 내용을 추가합니다.

asuswrt:
  host: 192.168.0.1    # 사용하시는 공유기 IP를 입력하세요.
  username: admin    # 사용하시는 공유기 접속 ID를 입력하세요.
  password: dfsg234    # 사용하시는 공유기 접속 비밀번호를 입력하세요.
  protocol: ssh
  port: 22 
  sensors: []

 

3) Device Tracker 설정 (https://www.home-assistant.io/integrations/device_tracker/)

Configuration.yaml 에 아래와 같이 Device Tracker를 설정합니다.

device_tracker:
  - platform: asuswrt
    host: 192.168.0.1    # 사용하시는 공유기 IP를 입력하세요.
    interval_seconds: 10
    consider_home: 120
    new_device_defaults:
      track_new_devices: false
      hide_if_away: false

 

위와 같이 설정 후 Home Assistant를 재시작하면 configuration.yaml 파일이 있는 폴더에 known_devices.yaml 라는 파일이 생깁니다.

이 파일은 Device Tracker가 인지한 기기들 목록으로 이 중에서 본인의 핸드폰 정보라고 생각되는 항목의 track을 false에서 true로 변경하면 됩니다.

galaxy_s10:
  hide_if_away: true
  icon:
  mac: 42:28:A8:70:BC:YC   # 기기마다 다릅니다.
  name: Galaxy-S10   # 휴대폰 기종마다 다릅니다.
  picture:
  track: true

 

2. Bluetooth 설정

 

Asuswrt 설정만으로는 부족한 부분이 있습니다.

Android의 절전 정책으로 간혹 Wifi가 꺼져서 외출로 변경되는 일이 발생하기 때문입니다.

이를 보완하기 위해서 Bluetooth로 이중 확인을 하는 것이 좋습니다.

 

1) Bluetooth 페어링(Pairing)

Bluetooth 설정을 하기에 앞서 휴대폰과 Home Assistant가 설치된 기기에 대해 Bluetooth 페어링을 해야 합니다.

이 부분은 Home Assistant가 설치된 기기마다 다르기 때문에 구글에서 찾아봐야 합니다.

 

2) Bluetooth Tracker 설정 (https://www.home-assistant.io/integrations/bluetooth_tracker/)

Bluetooth 설정은 간단합니다.  Asuswrt 설정 시 추가했던 device_tracker에 아래와 같이 bluetooth_tracker만 추가하면 됩니다.

device_tracker:
  - platform: asuswrt
    host: 192.168.0.1    # 사용하시는 공유기 IP를 입력하세요.
    interval_seconds: 10
    consider_home: 120
    new_device_defaults:
      track_new_devices: false
      hide_if_away: false
  - platform: bluetooth_tracker     

 

Home Assistant 를 재시작하면 아래와 같이 known_devices.yaml 파일에 휴대폰 bluetooth 정보가 추가됩니다. (Mac address에서 알 수 있듯이 Bluetooth인 경우 Mac address가 BT_ 으로 시작합니다.)

이 역시 track를 false에서 true로 변경해야 합니다.

galaxy_s10_2:
  hide_if_away: false
  icon:
  mac: BT_A8:2Y:BZ:D8:1F:0J    # 기기마다 다릅니다.
  name: Galaxy S10    # 휴대폰 기종마다 다릅니다.
  picture:
  track: true

 

마지막으로 Home Assistant를 한번 더 재시작하고 Home Assistant에 접속 후 설정 > 구성원 메뉴를 클릭합니다.

구성원 페이지에서 이름을 클릭 후 위와 같은 팝업이 뜨면 known_devices.yaml에서 찾아낸 휴대폰을 추적 대상 기기에 설정합니다. 

 

 

Home Assistant + Docker + Raspberry Pi 설치

장난감

Home Assistant 설치에 앞서 Docker가 설치되어 있지 않을 경우 Docker를 설치하셔야 합니다.

 

1. Home Assistant 설치

Home Assistant를 설치하는 여러 방법이 있지만 Docker를 이용할 경우 root 계정으로 작업하는 것이 편합니다.

su

 

아래의 명령어로 Home Assistant를 설치합니다.

/home/pi/homeassistant 는 Home Assistant 설정 폴더 경로로 원하시는 경로를 입력하시면 되고

Asia/Seoul 는 Time Zone입니다. (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

이 역시 원하시는 시간대로 정하시면 됩니다.

docker run --init -d --name="home-assistant" -e "TZ=Asia/Seoul" -v /home/pi/homeassistant:/config --net=host homeassistant/raspberrypi3-homeassistant:stable

 

참고: https://www.home-assistant.io/docs/installation/docker/

 

Installation on Docker

Instructions to install Home Assistant on a Docker.

www.home-assistant.io

 

2. HTTPS 통신을 위한 SSL 인증서 설치

Let's Encrypt 설치를 다룬 글이 많이 있지만 아래 블로그 포스트를 따라하는 것이 가장 확실합니다.

천천히 따라하면 30분도 걸리지 않을 정도로 간단합니다.

 

참고: https://www.splitbrain.org/blog/2017-08/10-homeassistant_duckdns_letsencrypt

 

HASS, DuckDNS and Let's Encrypt [splitbrain.org]

2 years ago I blogged about… When you want to make a local HomeAssistant (a home automation software I mentioned before) available from the Internet, you probably want to secure it with SSL. There's an official tutorial on how to do that, but it has a few

www.splitbrain.org

한가지 주의할 점은 우리는 본문과 달리 Docker에 Home Assistant를 설치한 상황이라 Home Assistant가 인식하는 본인의 절대 경로가 다르다는 것입니다.

때문에 Reconfigure HomeAssistant 섹션에서 언급한 pem 파일들의 경로를 본문과 달리 아래와 같이 설정해야 합니다.

 

[ fullchain. pem ]

변경 전: /home/homeassistant/dehydrated/certs/myhome.duckdns.org/fullchain.pem

변경 후: ./dehydrated/certs/myhome.duckdns.org/fullchain.pem

 

[ privkey.pem ]

변경 전: /home/homeassistant/dehydrated/certs/myhome.duckdns.org/privkey.pem

변경 후: ./dehydrated/certs/myhome.duckdns.org/privkey.pem

 

3. Tip

1) UPNP 안 보이기

discovery:
  ignore:
    - igd