Daily Life of BlueRose

컴퓨터 & 코딩 공부/IOT & 스마트싱스

Tuya/Zigbee 제품에 범용 Edge드라이버 설치하기 (Zigbee Thing 문제 해결하기)

푸른로즈 2024. 4. 22. 10:26
728x90

상품에 대하여...

사용중인 가습기에 습도조절 기능을 추가하기 위하여, 알리익스프레스를 통해 온습도 센서를 구입했습니다.

네이버 카페의 존재여부도 잘 모르던 때고, 국내산이 너무 비싸서 별 생각없이 알리에서 바로 구입을 했는데 결론부터 말하자면 아래처럼 생긴 모델들은 정보제공 주기/드라이버부재 등 문제로 사지 않는 것을 추천합니다.

 

알리익스프레스에서 구입한 내역(스크린샷이 광고처럼 보일까봐 적당히 변형을 주었다)


그러나, 만약 이미 사버린터라 사용해야겠다면 앞으로의 내용처럼 처리하면 됩니다.

비단 위 온습도계뿐 아니라 드라이버가 zigbee Thing으로만 잡히고 아무런 동작도 안되는 기기가 생긴다면 아래와 같이 세팅을 시도해보면 좋을 듯 하네요.

[연동방법 : 지그비를 통해 스마트싱스 연결 - 범용 드라이버 설치(w35l3y님) - 드라이버 설정 - 루틴 설정]

 

스마트싱스 연동 방법

범용 드라이버 설치하기

일반적인 제품의 경우, 스마트싱스 어플에서 추가하면 바로 드라이버가 잡히기 마련이지만, 상품상세페이지에 모델명도 없는 중국산에 그런걸 기대하면 힘듭니다. (근데 알리에 이런 제품이 많습니다... 모습은 같지만 내부모델명이 다르네요.)

스마트싱스는 자동으로 드라이버를 세팅해줄 때, 해당 제품의 "핑거프린트"라는 것을 확인합니다.

  • 핑거프린트 : 제품 내부에 각인된 "제조사명+모델명"으로 외부 모델명과 다를 수 있음


문제는 이 핑거프린트가 쇼핑몰페이지의 모델명과 다르다는 점인데요. 동일한 모델로 소개되어 있어도 생산 시기에 따라 버전을 달리하는지 핑거프린트가 다를 경우가 많습니다. 이 경우 사실상 동일한 기기임에도 불구하고, 드라이버 이용을 할 수 없어서 기기가 무쓸모가 됩니다.

삼성내의 스마트싱스 관리부서에서 이러한 점에 대응하여 기존 드라이버에 신규 모델명을 추가해주고는 있는듯 하나, 삼성은 하나고 중국내 중소기업은 많으니... 당연히 새로운 물품을 사면 드라이버 적용이 안 될 가능성이 있습니다.

그렇다면 커스텀을 하면 되지 않는가 싶겠지만, 스마트싱스의 커스텀을 VBA처럼 쉽게 할 수 있을거라고 생각하면 오산입니다. VBA나 파이썬과 달리 이런걸 조작하는 페이지가 어딨는지 조차 찾기 어려우므로... 그냥 속 편하게 다른 사람이 만들어 둔 개조 드라이버를 쓰는 편이다 낫습니다.

 

범용 드라이버 제공 채널 가입하기

다행히 이러한 상황을 타개하기 위해 범용 드라이버를 만들어 둔 분이 계시더군요. 아래 링크는 그 드라이버를 스마트싱스 허브에 설치할 수 있는 스마트싱스 채널입니다.

 

삼성계정

하나의 계정으로, 모든 기기에서, 나만을 위한 서비스를! 삼성 계정에 로그인하세요.

account.samsung.com

 

728x90

 

아 참고로 스마트싱스 어플에서 삼성계정으로 로그인하고나서 위 채널을 들어가야 합니다. 그래야 Enroll이라는 버튼이 활성화되며, Enroll 이후, Available Driver(사용가능한 드라이버) 목록이 나타납니다. 드라이버가 3개 나오는데 3개 다 설치해주세요. (여기서 Install을 눌러 설치하면, 해당 드라이버는 스마트싱스 허브/스테이션에 설치됨.)

드라이버 3개를 모두 설치해준다



범용 드라이버를 통해 세팅하기

허브에 드라이버를 설치했다면, 스마트싱스 어플에서 Zigbee 기기를 연동하고, 해당 Zigbee기기의 우측 상단 점3개 마크를 눌러서 드라이버를 변경해줍니다. 이 온도계의 경우 Personal Tuya Devices - Main만 보였습니다.

드라이버를 설치하고 난 후, 해당 기기 페이지를 다시 들어가면 아래와 같이 나타납니다.

 

초기 화면



상단 Info의 Manufacturer와 Model이 "핑거프린트"이고, 하단의 DataPoints가 바로 해당 기계에서 제공하는 각종 정보값입니다. (위 사진은 다른기계임)


온습도계의 경우 아래와 같이 나타났습니다.

 

  •     1    243(예시)
  •     2    502(예시)
  •     4    100(예시)


다른 블로그를 보고 알았는데, 여기서 1은 온도, 2는 습도, 4는 배터리값이라고 하네요. (그런데 화면에서 제공중인 값 보면서 대강 때려맞춰도(?) 될 것 같긴 합니다). 여기까지 확인한 후, 우상단 점3개 버튼을 눌러서 "설정"을 눌러주세요.

여러 메뉴가 많은데, Profile을 "Temperature and Humidity Sensor"로 바꿔주세요. 그러면 화면에서 튕겨나오는데 다시 들어가면 설정 화면이 아래와 비슷하게 바뀝니다. 한번 더 Profile을 눌러, +Battery를 눌러주면 비로소 아래와 같은 화면으로 바뀝니다.

 

하단의 DP for ... 부분이 실제 값 데이터이다

 


여기서 각 값들을 위와 같이 맞춰줍니다. 간단히 설명하면 아래와 같습니다.

  • Log Level은 로그를 제공받는 기준으로 보인다. 그냥 그대로 둔다.
  • Manufacturer는 기존 핑거프린트값이 있는 제조사의 물품에만 사용가능이라 Auto로 놔둬도 무방하다.
  • 습도/온도 오프셋은 기존 값이 너무 안맞을때 온도값을 더해주는 것으로, 편차가 일정할때만 쓰이는 값이다.(가령 매번 평소보다 온도가 5도 높다면 -5를 넣어준다)
  • Temperature Unit Scale은 단위값이다.(화씨로 변경 가능)
  • Battery mode는 정량값 여부를 설정하는 듯 한데... 큰 의미는 없는 것 같다. Auto로 두자.
  • DP for .... 부분은 드라이버에서 자동으로 잡는 DP값을 강제로 변경해주는 메뉴이다. 온습도가 정상작동 하지 않으면 변경해주어야 한다. 앞서 언급했듯 온도는 1, 습도는 2, 배터리는 4였으므로 이에 맞게 변경해준다. (정상 작동하고 있는 온도의 값은 0으로 그대로 두었다. )

위와 같이 세팅하면 비로소 정상적으로 값을 호출받습니다.

  • 참고로 기기 종류마다 DP값과 불러와 지는 값이 다르므로, 온습도계가 아닌 다른 종류의 기계에 대해서는 어쩔 수 없이 구글을 통해 검색해봐야한다. 스마트싱스 네이버 카페를 활용해보는 것도 좋은 방법이 될 것 같다.


이렇게 확인된 값을 기반으로 '설정' 메뉴에서 ⓐProfile을 변경하거나, ⓑ목록 하단 부에 있는 Child 생성기능(Motion Sensor, Power Meter 등 각종 기계 종류 리스트)를 선택해주면 스마트싱스에 해당값을 반영해주는 가상 기기가 생성됩니다. (가령, 이번 온습도계의 경우도, Temperature Sensor를 선택한 후, "1, 2, 4"를 입력하면 온도/습도/배터리 가상 기기가 각각 생성됩니다.)

 

 

반응형