본문 바로가기
Automation/Hub(허브)

Fibaro에서 Zigbee 디바이스 사용하기 (4. ZBS를 연결하기)

by Realist。 2021. 2. 8.
728x90
반응형

여기까지 온 것만 해도 정말 스스로에게 대견합니다. 이 글을 보고 계시는 여러분께서는 제가 몇일만에 진행한 것을 거의 한번에 따라오신 것이네요. 어찌됐건 누군가에게 도움이 됐다면 그걸로 좋습니다. 

아쉽지만 Zigbee2mqtt를 이용한다고 해도 버튼등의 디바이스를 바로 이용할 수 없습니다. 디바이스 별로 id와 action을 따로 등록을 해줘야 합니다. 쉽게 말해 버튼 클릭이라는 것도 할 수 없는 말 그대로 디바이스가 연결만 되어 있는 상태입니다. 슬프게도 피바로가 이해하지 못해요. 

1. ZBS 다운로드
피바로에서 지그비 디바이스를 이용하는 것은 자동화 코드를 일일히 수작업으로 짜줘야 합니다. 그리고 그 코드를 짜고, 피바로에 적용시키는 것을 이용하는 프로그램입니다. 저는 지그비 디바이스 가져올 수만 있으면 Sceans 기능으로 할 수 있는 줄 알았어요. 아니에요. 그냥 다 수동입니다. ㅋㅋㅋ 
다운로드: 링크

압축풀고 파일을 정리합니다. (압축 푼 폴더의 myprograms내의 폴더 및 파일 모두 삭제)
사실상 이 폴더 말고는 들어갈 일이 없습니다. 이 프로그램은.

2. FibaroapiHC3 다운
사실 아래 글을 보시면 이 것을 왜 다운받아야 하는지 잘 알 수 있습니다. 
cafe.naver.com/fibarokorea/1238

 

Zigbee 스위치 & 버튼 디바이스 사용하기

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

어쨋든 파일을 여기서 다운 받으시거나 아래에서 다운 받으시기 바랍니다.

fibaroapiHC3.lua
0.18MB

다운 받으면서 이런 편리한 것들을 만들어주신 분들께 감사 인사를 하는 것도 좋을 것 같습니다. (랜이님, Minos 님 감사합니다)

3. Z2M Quick app 코드 저장
1번에서 다운 받은 zbstudio를 시작합니다. (1번 다운로드 파일의 exe 파일 클릭)


실행하시면 빈 파일이 생성되어 있을 겁니다. (없다면 생성) 그리고 홈센터 관리페이지로 로그인 하셔서 Device 로 이동하신 후 설치한 Zigbee2MQTT -> Edit & Preview 선택 -> Edit 버튼을 눌러 오른쪽의 코드를 모두 긁어 zbstudio에 붙여넣습니다. 대충 아래 내용으로 시작 하는 시작하는 코드입니다. 

```c
--[[
Copyright 2020. 김창구. All rights reserved.
본 코드의 무단배포 및 수정을 금지합니다.
]]

-- code below last updated : 2020-07-23
_app = {name="Zigbee2MQTT", version="3.1"}
_debug = {log=true, zblog=false}
_permit_join = false

local LTRANS = {
-- This is for setting LIGHT transition time.(unit: second)
-- [friendly_name or ieeeAddr] = time
    ["gate_lightstrip"] = 0.5,
    ["livingroom_stand"] = 1,
    ["livingroom_lightstrip"] = 1,
    ["bedroom_stand"] = 1,
    ["room2_stand"] = 1,
}

local RMT = {--[[
등등등......
```

 

그리고 이 파일을 1번에서 다운받은 파일의 myprogram폴더 내에 Z2M.lua로 저장합니다. 
그 다음 다시 새 파일을 만드셔서 아래 코드를 붙여넣고 필요한 정보들을 입력한 후 credentials.lua로 저장합니다. 

return {
ip= "피바로외부ip주소:포트번호",
user= "관리자계정",
pwd= "비밀번호"
}

이제 ZeroBrance Studio로 다시 돌아와 Z2M.lua 파일을 열고 가장 상단에 주석처리 된 코드 위에 아래 코드를 붙여넣습니다. 

if dofile and not hc3_emulator then
  hc3_emulator = {
    name = "Zigbee2MQTT",    -- HC3의 Zigbee2MQTT Quick App 등록시의 이름
    id = 000,                -- HC3의 Zigbee2MQTT Quick App 등록시 Zigbee2MQTT의 ID
    poll = 1000,             -- Poll HC3 for triggers every 2000ms (수정안해도 됨)
    deploy=true,
    quickVars={ ["MQTT_IP"] = "HA의 MQTT가 설치된 IP(여기에입력)", ["MQTT_ID"] = "mqtt ID(여기에입력)", ["MQTT_PW"] = "mqtt password", ["icon"]="." } --IP. MQTT ID 및 Password 작성
    --offline = true,
  }
  dofile("Z2M/fibaroapiHC3.lua") --만약 Z2M.lua와 fibaroapiHC3.lua를 넣은 폴더명으로 수정 사용 가능 
end

위와 같이 입력하셨으면.. 아래와 같이 실행합니다.

이제 화살표를 두 번눌러 맨 아래와 같은 정보가 표기되는지 확인합니다. 저렇게 나오지 않는다면 뭔가 잘못 입력된 것입니다. 여기까지 했으면 거의 완료를 한 것입니다. 이제 문제는 자동화도 수동으로 코드를 짜야 된다는 것입니다. ㅋㅋㅋ 
참.. 이게 지그비 디바이스를 이용하는건 편리해 졌는데 자동화를 이용하기가 어려워 졌습니다. 저는 개발자가 아니라서 이 스크립트 베이스의 프로그램이 참 어렵습니다. 그래도 인내심을 가지고 해 봅니다. 

버튼을 예로 들면 어리벙벙님의 가이드를 참고하시면 좋습니다. : 링크

 

버튼장비 추가방법

Zigbee2MQTT Quick App의 프리뷰 화면에서 Zigbee2MQTT 지원 버튼이나 스위치류를 HC3에 등록(Ref. : Zigbee2MQTT Quick App 등록)

www.notion.so

길어져서 이건 다음 포스팅으로 넘겨야 겠네요. 

728x90
반응형