본문 바로가기

지이노/ReView & Using

SmartThings - webCoRE - 편집화면 알아보기




오늘은 내가 조금 불이 붙었다.


webCoRE에 대해 정리하는 첫 날이므로 두개의 글을 작성하도록 한다.


지난 글에서는 Piston을 만드는 방법에 대해 적었다.


[사용] SmartThings - webCoRE - Piston 만들기 (링크)


이번 글에서는 Piston의 편집화면에 대해 설명하고자 한다.













처음 빈 피스톤을 생성하면 위와 같은 화면이 나올 것 이다.


(Global variables 아래에 적혀있는 부분은 무시해도 됨)


각 화면구성에 대한 설명은 아래에 적는다.











#####


왼쪽 상단에 있는 버튼이다.


왼쪽부터 각각


Show variables


Show complex IFs


Show retrictions


Allow moving of items by drag & drop


Show evaluation console


Undo


Redo


로 구성되어 있다.


각각 설명하자면


ㅁ. Show variables


variables를 보여준다.


즉 변수의 설정부분을 보여주겠다는 버튼이다.


이 버튼을 눌러두면 편집화면에 



이런 부분이 보이게 된다.


Local variables(지역변수)를 선언 할 수 있으며


여기서 변수를 선언해야 나중에 액션에서 지역변수를 사용 할 수 있다.


ㅁ. Show complex IFs


해당버튼을 누르면 IF 구문이 if / else / end if에서 if 밑에 else if가 추가 된다.


이에 관해선 나중에 구문사용법에 대해 적을때 적도록 한다.


ㅁ. Show retrictions



이 기능은 제한 이라는 기능으로 제한조건에 걸려있으면 피스톤이 실행되지 않는다.


응용해서 쓰자면 쓸수 있지만 이런 기능이 있다는 정도만 알아둬도


나중에 필요해지면 응해서 사용 할 수 있다.


다시 한번 말하지만 제한조건을 선언하고 그 조건에 걸려있으면 피스톤이 작동하지 못한다.


ㅁ. Allow moving of items by drag & drop


정말 유용한 기능이다.


이 기능을 켰을 때 아래 편집화면을 보면 화살표가 생기는데


각 구문이나 액션등의 순서를 마우스로 드래그 앤 드롭 해서 옮길 수 있다.


뭐 그게 유용한거야..? 싶겠지만 피스톤의 동작은 위에서 아래로 진행되기 때문에


순서가 의외로 중요하다.


ㅁ. Show evaluation console


콘솔을 보이게 하는 기능인데 이 콘솔에 적은 값을 평가해준다.??


사실 나는 이 기능을 안쓰기 때문에 뭐에 써먹어야 될지 잘 모르겠다.


그저 콘솔에 적은 내용이 문자열인지 정수인지 판단해주던데 보면알기때문에 안쓴다.


ㅁ. Undo / Redo


흔히 말하는 Ctr + Z 와 Ctr + Y 이다.


실행취소 / 실행반복...


설명은 여기까지다.











#####

이제 이대로 오른쪽 상단을 보면


위와 같은 버튼이 있고 이 버튼을 누르게 되면 아래와 같은 리스트가 나타난다.



각 버튼의 설명을 하기 전에


Show variables, Show complex IFs, Show retrictions, Show evaluation consol은


앞에서 설명했으므로 건너띄고 진행하겠다.


순서를 조금 바꾸자면


ㅁ. Show piston settings


이 기능은 단지 현재 피스톤의 작성자, 피스톤이름, 설명문 등을 수정하는 기능이다.


ㅁ. Show when true/false actions


If 구문이 "만약 A가 true라면 B를 하고 그 외엔 C를 한다" 라는 내용의 구문이라면


이 기능을 사용하면 "만약 A가 true라면 B하고 false라면 C를 한다."로 사용할 수 있다.


사용하기 나름이고 구문을 줄일 수 있는 방법이기도 하다.


약간의 기능차이가 있는데 이부분은 추후 구문설명때 다루도록 하겠다.


ㅁ. Show advanced statements


중요하다. 밑줄 쫙이다.


이 기능을 사용하고 있어야 더 많은 더 다양한 제어를 할 수 있다.


기본상태로 사용 할 수 있는 statements는 총 3가지이다.


If Block / Action / Timer


하지만 이 기능을 사용하고 있을 경우 위 3가지 statements 외에도


Switch / Do Block / On event / For Loop / For Each Loop / While Loop


Repeat Loop / Break / Exit


라는 9가지의 statements를 추가로 사용 할 수 있다.


사실 자동화에 있어서 IF는 꽤 중요한 위치에 있지만 더 자세하고 간단하게 구성하기 위해선


Advanced의 기능들이 필요할 수 밖에 없다.


이 부분은 추후 statements 사용방법에 대해 따로 다뤄보자.











#####

Options 아래에는 Global variables가 있다.



앞에서 다룬 Local variables와 비슷한 변수선언문이지만 이쪽은 무려 Global이다.


Local과 Global의 차이는 지역변수냐 전역변수냐의 차이이다.


지역변수는 해당 피스톤 내에서만 사용 할 수 있는 변수로써 다른 피스톤과의 연계가 되지 않으나


전역변수는 모든 피스톤에서 끌어다 사용 할 수 있다.


내 경우 에어컨 설정에 관련되어 추후 생각중인 내용이 있어 몇가지 등록을 해놓았는데


내 개인적인 취향으로는 전역이 더 좋다.


언제 갑자기 저 변수가 필요할지 모르는 일이기 때문에 


PLC로 자동화 로직을 꾸밀때에도 전역변수를 사용하는 편이다.











이것으로 편집화면에 대해 알아보았다.


굳이 적지 않은 부분은 기능적인 설명을 할 필요가 없는 부분이기 때문이다.


Devices 부분은 단순히 등록된 내 장비의 현재상태를 표시하고 리스트를 보여주는 용도이고


실제 statement를 작성하는 편집부분은 statement에 대해 설명할 때 다룰 예정이므로 넘어간다.




- 편집화면 알아보기 끝.