취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

제목:

다원 wwst z wave 벽플러그 edge 문제

(게시글 작성 시간: 05-29-2023 09:53 PM)
552 보기
smaniac
Active Level 1
옵션
SmartThings
안녕하세요
룰루해피님이 등록한 문제 다시 문의드립니다.
답변이 안된다고 달리고 close 되어 아래 글 이후 대댓글 안보셨을까봐 리마인드 드립니다.
제 3자가 커스텀 엣지 드라이버도 구현한 만큼 기술적으로는 문제가 없을 거 같은데 룰루해피님이 등록한 링크의 댓글 다시 확인 부탁드립니다.
현재의 wwst 엣지 드라이버는 매우 번거로워 커스템 엣지 드라이버로 대체하고는 있으나 wwst인만큼 제대로 수정 부탁드립니다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

한국시간 기준 어제(5/11) 새벽 5시경 
 WWST 다원 Zwave 벽스위치가 Edge드라이버로 migration 되었습니다. 
 
 해당기기는 WWST기기이기 때문에, 저는 이 기기를 순정DTH로 사용중이었고, 이러한 경우 WWST 기기는 사용자가 신경을 따로 쓸 것 없이
 삼성에서 마이그레이션을 해 준다고 공지가 된 바 있습니다.
 
 
 특히, 멀티스위치 기기가 Edge드라이버로 전환될 때 multi-component 로 구현할 경우 많은 문제가 발생될 예정이라고.. 제가 작년에 글을 남긴 적이 있습니다. 
 
 
 이 글에 댓글로, SmartTronics님께서 Edge전환시, 음성명령이 불가한 이러한 문제는 발생되지 않도록 해주시겠다고 하셨는데 
 
 
 
 WWST 다원 Zwave벽스위치의 경우, 
 이 두 가지의 약속이 모두 지켜지지 않고, multi-component 구조의 엣지드라이버로 강제 migration이 되면서,
 기기 조작, 음성명령 등 사용성에 문제가 발생하고 , 자동화가 먹통이 되었습니다.
 
 
 
 
 image 
 
 
 
 
 
 참고로, WWST 다원 Zwave벽스위치는, 일반적인 벽스위치의 모양의 기기로, 온습도계가 내장되어 있습니다. 
WWST순정 DTH에서는 parent 기기는 온습도계이며, 벽스위치 구수 만큼 child 스위치가 생성되는 구조였습니다.
 
 문제는 크게 아래와 같니다.
 
 
 
 
 1. 기존 DTH는 parent-child인데, 자동 변경된 edge드라이버는 multi-component라서
 
 1-1) 기존 DTH의 parent 온습도계 디바이스에 온습도계 및 모든 스위치가 멀티콤포넌트 형태로 들어가 있습니다. 디바이스카드는 온습도계라서, 이 안에 스위치가 있을 것이라고 생각하기 어렵습니다.
 
 1-2) 기존 DTH의 child switch가 지워지지도 않아서, 그걸 누르면 아무런 작동을 하지 않고 기기가 먹통인 것처럼 보입니다.
 
 1-3) 기존에 설정해둔 자동화가.. 먹통된 기존 child switch 디바이스에 남아있고, multi-component switch로 하나도 migration이 되지 않았습니다. 따라서 자동화가 싹 다 먹통이 되었습니다. 
 
 1-4) 물론 스위치에 대해 음성명령도 불가합니다.
 
 
 
 
 
 
 
 2. 또다른 문제로, 자동 마이그레이션이 되면서, 강제로 모든 불이 다 꺼집니다. 
카페에 올라온 후기를 보면, 새벽에 갑자기 공장 전등이 모두 소등이 되어서 난리가 났다는 얘기가 있습니다.
 
 그 이유는, zwave-switch 엣지드라이버의 다원스위치 부분 소스코드를 보면 알 수 있는데 
 https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/blob/bf6cd584badf443aa87900a4796c8366...
 
 보시다시피, 엣지드라이버에 기기가 등록될 때 added_handler()라는 함수가 불리는데 
여기에 보면, device:send_to_component(Basic:Set({ value=0x00 }), comp_id) 라는 게 있습니다. 
이 말인즉슨.. 스위치를 싹 다 꺼버리라는 얘기입니다.
 
 통상적으로 기기를 새로 구매하여 페어링 할 때는.. 페어링 시 스위치를 일괄적으로 꺼버린다고 문제가 되지는 않습니다. 
그런데.. 이런 식으로 자동 migration할 때, 이런 식으로 스위치를 싹 다 꺼버리면.. 
사용자는 인지하지도 못한 사이에 조명이 모두 꺼지는 사태가 벌어집니다.
 
 smartthings github에 있는 zigbee switch 소스코드의 경우, 이런 무식한 행동은 하지 않도록 되어 있는데 
다원 zwave 벽스위치 엣지드라이버 소스코드의 경우 2022년 4월에 만들어진 후 한번도 손을 본 적 없이 이런 조악한 상태로.. 그것도 강제 migration이 감행되어.. 
사용자들의 조명을 갑자기 다 꺼버리는 사태가 발생되었습니다.
 
 
 
 SmartThings에서 Groovy->Edge 마이그레이션시 이때까지는 이런 식의 심각한 문제는 없었는데 
이번 사태는 좀 문제가 있는 것으로 생각되어, 글을 남기게 되었습니다.
 
 이미 엎질러진 물이라, 지금 말씀드리는 게 무슨 의미가 있겠냐 싶지만.. 
문제를 잘 해결해주시기 부탁드립니다. 감사합니다.
 
 
 
 추가>
 이 문제 때문에, 어제 밤에 급히 다원 벽스위치 custom edge 드라이버를 만들었습니다. 삼성에서 문제를 해결해 주실때까지, 우선 써 볼 수 있겠습니다. 
 삼성에서 문제를 해결해 주시면, 이 드라이버는 삭제할 예정입니다. 
 
 
 
 
 
 
2 댓글
옵션
SmartThings

안녕하세요, smaniac님.
삼성 SmartThings 담당입니다.
SmartThings 이용에 불편을 드려 죄송합니다.

말씀하신 내용에 대해 현재 확인 중이며, 확인 후 회신 드리도록 하겠습니다.
감사합니다.

0 좋아요
옵션
SmartThings

안녕하세요, smaniac님.
답변이 지연되어 죄송합니다.

먼저, SmartThings에서 Edge Driver 고안 시 기존 기기 카드에서 보이는 정보를 기준으로 다용도의 기능을 가지는 기기의 경우, 하나의 화면 안에 여러 개의 component로 구성된 MCD(Multi Component Device)장치로 명명하고 UI를 구성하도록 설계되었습니다.
문의하신 다원의 zwave 장치는 switch 기능 외 temperature 기능이 함께 지원되어 main component는 'TempSensor' category로 지정되는 장치(Multi purpose 장치)인 관계로, 기존 DTH는 Parent/Child 구조로 지원되었으나 Edge driver에서는 MCD 장치로 확정되었습니다.

이후 한국 사용자 분들께서 말씀해주신 피드백들을 바탕으로 US쪽과 지속적으로 추가 논의하였으나, 실제 기술적인 구현에는 제약이 없음에도 MCD 장치의 기본 정책을 이 기기에 한하여 예외로 할 수 없어 현상태 유지로 답변을 받았습니다.
현재 3rd party 개발자가 자유롭게 Parent/Child 구조로 동작할 수 있도록 인터페이스가 제공되는 상태이며 Custom Edge driver를 통해서 Parent/Child 구조가 지원 가능하므로, 변경된 concept에 대해서는 고객님의 양해를 부탁드립니다.

감사합니다.

0 좋아요