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

 

붱이 Story

 

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


 

2탄까지 잘 따라왔으면 


이제 HA 세팅을 해야합니다.


여태는 설치만 주구장창한거라고 보면되고


이제 세팅... 설정...


참 힘들죠?



우선 HA Mount한거 기억하시죠? config


그폴더가면 configuration.yaml이 있어요

아 혹시 모르시는분은 네트워크 드라이브로

NAS 폴더를 지정하면 좋아요

요기 잘정리된 블로그가 있네요

요거대로 하시면되요~


http://blog.naver.com/mrlan64/100198951942


그래도 모르겠으면 말씀해주세요 

알려드릴게요


여튼 


configuration.yaml에

아래와 같이 입력합니다

음영부분만 하면됩니다.


1탄에서 !secrets.yaml에 ip적으신거 아시죠?

그거 넣는거에요

1탄부터 차근 차근 따라하세요 아랐죠?


쉬어가는 시간~~~

.

윗부분tts 다 기본으로 적혀있을텐데


아래 language는 없을거다

저부분에 ko를 넣으면 구글홈이 한국어로 말한다 

꿀팁이죠?


HA키면 구글홈이 있으신분은 자동으로 잡혀있을꺼에요



쉬어가는 시간 끝




configuration에 mqtt 적어넣으셨으면



이제 smart bridge가야해요


이것도 마운트한거 2탄에서 기억하시죠??


config


그위치로 갑니다.


config.yml을 엽니다.

그리고 여기서 state.json파일 있는거 보이시죠?

있다는거만 알고계세요 뒤에 쓰입니다



config.yml을 열어서 이부분을 바꿉니다

음영 표시 부분만 바꿉니다.

여기서 저랑 다를곳은 host ip주소말곤

다똑같이 넣으셔야해요~~


이제 다음 순서로 다시시작을 하세요

mosquitto -> smartthings-mqtt-bridge -> homeassistant



이제 센서를 연결할 준비가 진짜 다끝났어요~~~


다시시작을 하고 조금만 지나면


아까위에 state.json 가 생기거나

이미있었다면 값들이 채워져있을꺼에요

열어보세요

중요해요

subscriptions에 적혀있는것들이

HA에서 ST를 연결할수 있는 기기들이에요

이해하셨어요?

저기 목록에 없다면

제대로 뭔가 안하셨거나

서로 통신을 못하고 있는거에요

다시 처음부터 꼼꼼히 뭐가 빠졌나보세요 ㅎㅎ

리스타트를 안했을 확율이 가장크고

SmartApp에서 센서 선택을

안했을 확율이 그담... 체크해보세요


여튼 보인다 치고


그리고 보시면 앞에 smartthings에 해당하는 값은 위에

bridge의 config.yml에 

preface에 해당하는 값이에요


그리고 가운데 값은 


우리 ST에서 보이는 기기들 이름있죠?

그값이에요 IDE 에서는 Label에 해당하는 값이구요


이값들은 한글이면 제대로 동작을 안하는것 같아요

참고하세요 저만 안될수도있으니

한글로 해보시고 안되면 영어로해보세요

띄어쓰긴 있어도되요


그리고 마지막 값은 센서의 기능이라고 보면되요


preface/센서이름/센서기능


이제 이해됬죠?


저걸로 센서를 만들거에요



ST 센서들 모두다 HA에 추가하기



ST 센서 HA에 추가 하기



위에 state에서 적힌거 잘 보고 센서를 만들면되요


어디서 만드냐?


센서 기능에 맞게 파일들을 만드세요


제 ST 기준으로 만든거에요


device_trackers - 재실센서들

 lights - 전구

sensors - 도어 온습도 모션 값만 올려받는것들

switchs - kuku hamony 스위치들 outlet 등 on off

위에 파일을 만들고

configuration.yaml에서 이렇게 연결해줘야해요

똑같이 스펠 틀리지 않게 똑같이 넣으세요



그리고 이제 아까 state.json 에 값들을 이용하여


각 yaml에 채워넣습니다.


방법은 여기 자세히 있구요

https://home-assistant.io/components/switch.mqtt/

https://home-assistant.io/components/sensor.mqtt/

https://home-assistant.io/components/light.mqtt/

https://home-assistant.io/components/device_tracker.mqtt/



하나씩만 예를 들게요

switch

- platform: mqtt

    name: "TV"

    state_topic: "smartthings/TV/switch"

    command_topic: "smartthings/TV/switch"

    payload_on: "on"

    payload_off: "off"

    retain: true


보면 아! 하는게 오시나요?


name 은 HA dashboard에 보이는 이름 한글도됨

state_topic은 값을 가져오는 명령어(ST에서 on/off하면 HA에서 반영됨)

command_topic 은 반대로 날리는 명령어 (HA에서 on/off하면 ST에서 반영됨)

payload는 on일때 뭘보낼꺼냐

off 일때 뭘보낼꺼냐의 의미

retain true라는건 ST와 싱크가 되게 하겠다? 뭐이런 의미


sensor

 - platform: mqtt

    name: "Kitchen Temperature"

    state_topic: "smartthings/Kitchen Motion Temp/temperature"

    unit_of_measurement: "°C"

    qos: 0

    retain: true


sensor엔 state만 있는이유 아세요??

위에 설명했으니 알아야하는데

얜 명령을 내리는게 아니라 state만 가져오기 때문이에요

그냥 HA에 표시만 해줄분 HA쪽에서 보낼건 없기때문이죠 이해되죠?

unit은 설명안해도 될거고

qos는 0 1 2 설정을 할수있는데요

0이 젤빠르고 2가 느린대신 더 확실한거에요

이정도만 알아도 되고 (사실 깊게모름)



light

light는 사실 따라했는데 잘안되요...

ST에서 HA는 잘되는데 반대로 

HA에서 ST는 할때 에러를 뿜어요 

뭐 HA하는 이유가 전 이게 아니여서 안되도 그만이라 패스할게요

되시는분 공유부탁드려요~~

우선 제가 한값만 참고하세요

 - platform: mqtt

    name: "Kitchen Light"

    state_topic: "smartthings/Kitchen Light/switch"

    command_topic: "smartthings/Kitchen Light/level"

    brightness_state_topic: "smartthings/Kitchen Light/level"

    brightness_command_topic: "smartthings/Kitchen Light/level"

    rgb_state_topic: "smartthings/Kitchen Light/color"

    rgb_command_topic: "smartthings/Kitchen Light/color"

    payload_on: "on"

    payload_off: "off"

    retain: true

꼭 양쪽방향 성공하시면 저도 알려주세요? ㅋㅋ



device tracker


제블로그에 추가했던 센서 기억나세요?

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

이센서에요

얜 device_trackers.yaml에 넣으면 안되요.

이유는 모르겠어요


근데 요건 제가 device tracker로 넣은이유는 분명 저처럼

똑같이 할것같아서 구분지어놧어요

(삽질 방지)


이아이들은 sensors.yaml에 넣어야 인식되요 

중요합니다 ㅎㅎ

반대로 재실센서 HA에서 추가할땐 

device_trackers.yaml에 넣어야합니다 참고하세요 ㅎ

  - platform: mqtt

    name: "Booung S8 GPS Presence"

    state_topic: "smartthings/Booung S8/presence"

    qos: 0

    retain: true

    

  - platform: mqtt

    name: "Eunja G6 GPS Presence"

    state_topic: "smartthings/Eunja G6/presence"

    qos: 0

    retain: true



이제 제가 가진 모든 ST 센서는 다 넣은것같아요

다넣고 바로 보이진 않아요


이러면 또 리스타트해야해요

도커 알려준 다시시작으로 해도되고


이젠 HomeAssistant 안에서 하는법을 알려줄게요


HomeAssistant 여세요

음영 맨아래 RESTART 보이시죠

그럼 homeassistant 도커에서

다시시작한것과 같습니다.

위에 네개는 스크립트파일만 고쳤을때

리로드 가능한거여서 알아두라고 표시해뒀습니다.

core 는 모르겠고 사실.. ㅋㅋ

RELOAD AUTOMATION 경우 예를 들면

위에 automations.yaml 파일만 수정했을때

 HA 재시작 없이 갱신 가능해요 이정도면 이해되죠?

여튼 사설이 길었고 리스타트 하고오면


짜잔~~~


좀많죠??? 제가 설명 안하고 만든 것들도 있어서 그래요


여튼 이런식으로 이쁘게 꾸밀려면 그룹이란걸해야해요 


런2유3님 그루핑 설명은 여기서 확인

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

 


여기서 Light on off빼곤 모두 ST 값들과 싱크가 맞아요

kuku harmony까지요



이제 ST걸 가져온거까지 했쬬??


다음 포스팅엔 HA 에서 만든걸 ST로 넘기는 작업을 할꺼에요


HA서 만든 ping으로 체크하는 재실센서를

ST의 가상 스위치랑 연결할거에요

그럼 ST에서도 확인이 가능하겠죠?


어려우면 말씀해주세요~~ 

설정한 conf파일이라도 보내드릴게요



[붱이 Story/IoT] - SmartThings와 Home Assistant 연동하기 4탄 - HA->ST 연결(예제 재실센서)



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






  1. Favicon of https://www.makelism.net BlogIcon Makelism 2017.08.07 10:19 신고

    예전에는 아예 몰라서 그냥 스크롤하고 끝났을 텐데 붱이님 설명 덕분에 대략 감은 잡히네요.
    잘 봤습니다.

  2. Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.08.07 10:23 신고

    mac만 아니였으면....하루면 끝날일이에요 ㅠㅠ 4탄이 마지막이 될듯해요 그럼 HA에서 ST연결 관련은 응용해서 충분히 가능 하실거에요 ㅎ

  3. Favicon of https://onaldo.tistory.com BlogIcon 오날두 2017.08.17 01:17 신고

    이번주 주말에 ha설치할예정인데 우울하네요 어려워라

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.08.17 06:56 신고

      손이 많이가기도 하고 수정하기도 번거롭고 대쉬보드 꾸미는것도 일이고... 자동화 룰 만드는것도 맘에안들구 걍 ST서브로 필요한거만 쓰는게 맘편하더라구요

    • Favicon of https://onaldo.tistory.com BlogIcon 오날두 2017.08.17 11:40 신고

      저는 딱 샤오미 청소기 멀티탭 선풍기 세개만 붙이고 접을거에요 ㅎㅎㅎ

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.08.17 11:40 신고

      구글홈이랑 알렉사 연동도 하세요 ㅎ
      이거연동은 ha가 좋아요

    • Favicon of https://onaldo.tistory.com BlogIcon 오날두 2017.08.17 11:44 신고

      전 구글홈은 없구.. 알렉사도 안부른지 몇개월 됐어요 ㅋㅋ 홈킷으로 제어해서 시리만 불렀거든요. 에코닷은 저희집에서 이제 고인이된..
      음성명령은 앞으로도 시리가 담당할것같아요 ㅎㅎ

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.08.17 11:45 신고

      부르는용도도 지정할수있고 노티로도 좋아요 ㅎ 삼성 r6보다 구글홈이 훨 좋아요 음성 노티는

    • Favicon of https://onaldo.tistory.com BlogIcon 오날두 2017.08.17 11:48 신고

      근데 웨이브 정도 발음이 아니면 와이프가 당장 끄라고할거같아요 ㅋㅋ 시리 음성도 싫어하거든요..

  4. Favicon of https://onaldo.tistory.com BlogIcon 오날두 2017.08.21 09:43 신고

    이젠 내용들이 이해가 잘 되네요. 이번주에 해볼건데 문제없이 됐으면 좋겠어요 ㅎㅎ

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.08.21 09:45 신고

      ㅋㅋㅋㅋ 하고나니 이해되져??
      주중에 4탄 올릴게요 HA에서 만든거 ST로 연동하기 4탄까지만 따라하면 우리같이 ST가 메인인 사람들에겐 HA에서 활용할건 다했다고 봐도 무방할듯요

  5. Favicon of https://onaldo.tistory.com BlogIcon 오날두 2017.08.24 11:55 신고

    state.json을 보니 붱이님같은 내용이 안나오고
    {
    "subscriptions" : [],
    "callback": "",
    "history": {},
    "version" : "1.3.3"
    } 라고만 되어있네요 ;_;

  6. 다큰아이츄 2019.05.22 16:11

    전 smartthings-mqtt-bridge/config/config.yml 이 파일에 host: mqtt 로 되어있는거 아이피로만 바꾸면 에러 나네요
    8080포트를 다른데서 사용하고 있어서 일까요??

  7. 다큰아이츄 2019.05.23 10:16

    아... 8080 다른데 쓰는걸 막아도

    ip만 넣으면 아래와 같은 에러가 나고 계속 다시시작인데
    혹시 생각나시는게 있으실런지요

    info: Starting SmartThings MQTT Bridge - v3.0.0
    info: Loading configuration
    info: Loading previous state
    info: Perfoming configuration migration
    info: Saving current state
    info: Connecting to MQTT at mqtt://192.168.0.7
    events.js:167
    throw er; // Unhandled 'error' event
    ^
    Error: Connection refused: Not authorized
    at MqttClient._handleConnack (/usr/src/app/node_modules/mqtt/lib/client.js:735:9)
    at MqttClient._handlePacket (/usr/src/app/node_modules/mqtt/lib/client.js:296:12)
    at process (/usr/src/app/node_modules/mqtt/lib/client.js:238:12)
    at Writable.writable._write (/usr/src/app/node_modules/mqtt/lib/client.js:248:5)
    at doWrite (/usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:237:10)
    at writeOrBuffer (/usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:227:5)
    at Writable.write (/usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:194:11)

  8. 권범 2019.10.06 15:09

    저도
    state.json을 보면
    {
    "subscriptions" : [],
    "callback": "",
    "history": {},
    "version" : "1.3.3"
    }
    이렇게 나오네요.
    저는 스마트앱에서 연동할때 마지막 부분에서 에러가 나서 홈어시던트에 hqtt는 생기나 장비연동이 안되네요

+ Recent posts