반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 


[붱이 Story/IoT] - SmartThings와 Home Assistant 연동하기 1탄 - Home Assistant 설치

[붱이 Story/IoT] - SmartThings와 Home Assistant 연동하기 2탄 - SmartThings Bridge 설치

[붱이 Story/IoT] - SmartThings와 Home Assistant 연동하기 3탄 - SmartThings 기기들 HA에 연결



이사로 인해 4탄이 많이 늦어졌다


하지만 4탄을 해야 비로소 ST와 HA연동을 다했다고 말할수 있다


3탄이 ST에서 HA 연결이라면


4탄은 HA에서 ST로 연결이다.


예제로 HA에서만 할수있는 Router 재실센서를


ST 가상 센서와 연결할 것이다.


물론 이건 SmartApp과 개인 서버로 가능하다 (HA 없이)


하지만 지금 내가 하는 방법이 한 100배 쉽다고 말할수있다


GPS 재실센서 추가하는법은 여기 링크 참조

[붱이 Story/IoT] - Samsung Connect 사용기 2탄 -본인폰을 재실센서로 사용하기



결과 화면 부터 보자~


 ST에서 화면과 Samsung Connect App(이하 SCApp)에서 화면

SCApp에서 보이게한건 다음 포스팅에~

이번 글만 따라해선 SCApp에선 보이지않는다

SC App에 보이게 하는건 꿈을위한 계획님 글 참고

http://cafe.naver.com/stsmarthome/411




GPS/WIFI 은쟈와 내꺼 총 4개가 추가되어 있는것을 확인할수 있다.(위)


1단계 HA에 라우터(WIFI) 재실센서 만들기


configuration.yaml에 아래 device_tracker 추가


...생략

mqtt:

  broker: !secret server_ip


switch: !include switchs.yaml

sensor: !include sensors.yaml

light: !include lights.yaml

device_tracker: !include device_trackers.yaml

group: !include groups.yaml

script: !include scripts.yaml

automation: !include automations.yaml

... 생략



device_trackers.yaml을 생성하고 아래와 같이 추가

ip는 자신의 폰이나 와이프가 공유기 붙었을때 할당받은 ip를 넣는다

앞에 이름도 자신이 원하는데로 기입

 - platform: ping

   hosts:

     Booung_S8_WIFI: 192.168.0.17

     Eunja_G6_WIFI: 192.168.0.6


 == 2017.09.01 내용 추가 ==

혹시 집에 공유기가 asus라면 

위에 ping 방법보다 이방법을 선호

host에 공유기 관리자페이지들어갈때 ip(NAS ip가 아니다)

username은 관리자 페이지 들어갈때 id

password 관리자 페이지 들어갈때 비번

 protocol: telnet 

  - platform: asuswrt

    host: 192.168.1.1

    username: your admin id

    password: your admin password

    interval_seconds: 30

    consider_home: 180

    track_new_devices: no

    protocol: telnet

그리고 마지막으로 관리자페이지로 가서 telnet을 on


https://www.asus.com/support/faq/1005449/


다적고 HA 재시작


그러면 


known_devices.yaml 이라는 파일이 생성되어있을것이다

열고 기입

중요사항은 각 device mac address 잘보고 적자~

booung_s8_wifi:

  hide_if_away: false

  icon:

  mac: 9e:dB:해당mac address

  name: Booung S8 WIFI

  picture:

  track: true

  vendor: SAMSUNG


eunja_g6_wifi:

  hide_if_away: false

  icon:

  mac: da:0g:해당mac address

  name: Eunja G6 WIFI

  picture:

  track: true

  vendor: LG



그리고 HA 재시작


잘따라했다면 HA Dashboard에 보일것이다




1단계 끝



2단계 ST에서 Simulated Presence Sensor 만들기


이제 이쯤되면 다들 SmartThings IDE는 익숙해졌을거라고 본다

https://graph.api.smartthings.com


My devices로 이동


+ New Device


Device Network Id는 아무거나 막적되

다른 device와 중복되지 않게 적으면된다


핵심은 Type을


"Simulated Presence Sensor"

로 설정한다 그리고 Create





3단계 Automation 이용하여 HA->ST 연동하기


위에 device_tracker 만든것처럼 automations.yaml 만들고


configuration.yaml에 아래와같이 기술


...생략

mqtt:

  broker: !secret server_ip


switch: !include switchs.yaml

sensor: !include sensors.yaml

light: !include lights.yaml

device_tracker: !include device_trackers.yaml

group: !include groups.yaml

script: !include scripts.yaml

automation: !include automations.yaml

... 생략



그리고 automations.yaml 에 아래와 같이 기술

  - alias: S8 Presence to ST

    trigger:

      platform: state

      entity_id: device_tracker.booung_s8_wifi

    action:

      - service: mqtt.publish

        data_template:

          topic: "smartthings/Booung S8 WIFI/presence"

          payload: >

            {% if is_state('device_tracker.booung_s8_wifi', 'home') %}present{% else %}not present{% endif %}


  - alias: G6 Presence to ST

    trigger:

      platform: state

      entity_id: device_tracker.eunja_g6_wifi

    action:

      - service: mqtt.publish

        data_template:

          topic: "smartthings/Eunja G6 WIFI/presence"

          payload: >

            {% if is_state('device_tracker.eunja_g6_wifi', 'home') %}present{% else %}not present{% endif %}


각 라인 설명


  - alias: S8 Presence to ST  // 걍 Automation 이름

    trigger:  // 상태조건? 트리거를 뭘로 사용할거냐?

      platform: state  // 센서의 state 값을 이용할거다~~

      entity_id: device_tracker.booung_s8_wifi  // 센서 뭘할거냐 난 아까 만든 device_tracker중에 booung_s8_wifi

    action: // 위의 트리거에 따른 action 지정

      - service: mqtt.publish  // service는 mqtt의 publish를 사용할거다~~~

        data_template: // data template 구성

          topic: "smartthings/Booung S8 WIFI/presence" //smartthings의 Booung S8 WIFI를 사용할건데 얜 presence 센서다 이건 3탄에서 말한 state.json에 보면 어떤 값을 사용하면 될지 감이 온다 거길 열어보면됨

          payload: >

            {% if is_state('device_tracker.booung_s8_wifi', 'home') %}present{% else %}not present{% endif %}

// 어떤걸 언제 무슨값을 보낼것인지에 대한 룰 HA에서 만든 device_tracker.booung_s8_wifi의 상태가 home이면

st에 present를 보내고 그밖에 상태면 not present를 보내라 


위에 entity_id에 뭘 넣어야할지 모를땐

HA 홈페이지를 가자 아래 노란음영 "<>" 를 선택하면 본인이 만든 기기와 sensor들의 entity 값을 볼수있다. 




위에 까지 설정을 다하고 HA 다시시작



그리고 본인 폰을 wifi에 붙였다 떼었다 해보자



붙일때 인식시간은 약 10초 내외


좋은 공유기는 3초만에도 반응이 온단다


떨어진거에 대한 인식 시간은 최소 2분이상


보통 3분에서 5분


ST App에서 값이 HA의 값에 의해 변화되고 있는지 확인~~




※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.





반응형

+ Recent posts