https://community.smartthings.com/t/the-end-of-groovy-has-arrived/246280
2022๋ 9์ 30์ผ์ Groovy Device DTH, Groovy์ ๊ตฌ์ถ๋ SmartApps ๋ฐ ๋ ๊ฑฐ์ ๊ฐ๋ฐ์ IDE๊ฐ SmartThings ํ๋ซํผ์์ ์ ๊ฑฐ๋๊ณ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค. ์ด๋ ์ด์ ์ Groovy๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๊ธฐ์ ์๋ํ๊ฐ ์ด์ ์ต์ ํ๋ธ ๋ฐ ํด๋ผ์ฐ๋ ๊ธฐ์ ๊ณผ ํจ๊ป ๋ ์ ์ ์ผ๋ก ์๋ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
SmartThings๋ ์ค๋งํธ ํ ์ฐ์ ์ ํธ๋ ๋๋ฅผ ์ธ์ํ์ฌ ๋น์ฌ ํ๋ซํผ์ ์ต์ REST API ํ๋ ์์ํฌ๋ก ๋ฐ์ ์ํค๊ธฐ ์ํด ๋ถ๋จํ ๋ ธ๋ ฅํด ์์ต๋๋ค. Lua ๊ธฐ๋ฐ Edge ๋๋ผ์ด๋ฒ๋ ์ํธ ์ด์ฉ์ฑ ๋ฐ ๋ก์ปฌ ํต์ ์ ๋ ํฐ ์ด์ ์ ์ ๊ณตํ๋ Matter ํ๋กํ ์ฝ์ ์ถ์์ ํจ๊ป ๋น ๋ฅด๊ฒ ๋ค๋ฐ๋ฅด๋ ์ฃผ์ ๋จ๊ณ์ ๋๋ค. ์ด ๋ชจ๋ ํ๋ซํผ ์ฑ์ฅ์ ์์ ์ฑ์ ๋์ด๊ณ ๋๊ธฐ ์๊ฐ์ ์ค์ด๋ฉฐ ๊ฐ์ ํ๊ฒฝ ์ธ๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ํ์์ฑ์ ์ค์์ต๋๋ค.
์ด๊ธฐ ๋จ๊ณ ๋ฐ ๋ฒ ํ ํ๋ก๊ทธ๋จ ์ ๋ฐ์ ๊ฑธ์ณ ํ ์คํธ์ ํผ๋๋ฐฑ์ ํตํด ์ด ์ฌ์ ์์ ๊ท์คํ ๋์์ ์ ๊ณตํ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ํ์์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๊ทธ๋ ์ด๋๋ ํ๋ธ ์ํํธ์จ์ด, Edge ๋๋ผ์ด๋ฒ ๋ฐ ๊ฐ์ํ๋ ๋๋ผ์ด๋ฒ ๊ณต์ ๊ธฐ๋ฅ์ ์ค๊ณ ๋ฐ ๊ฐ๋ฐ์ ์ํ ๊ธธ์ ๋ฆ์์ต๋๋ค.
Groovy ๊ธฐ๋ฐ SmartApps์ ๋ฌธ์ด ๋ซํ๋ฉด Rules API 13์ผ๋ก ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ก์ด ๋ฌธ์ด ์ด๋ฆฝ๋๋ค. ๊ฐ๋ฐ์๋ ์ฌ๋ฌ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋จ์ํ๊ฑฐ๋ ๋ณต์กํ ์๋ํ๋ฅผ ๊ตฌ์ถํ์ฌ ๊ณตํต ์์ , ๋ช ๋ น ๋ฐ ํผ์ฐ์ฐ์ ์๋ฏธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฝํ์ ์ฌ์ฉ์ ์ง์ ํ ์ ์์ต๋๋ค. ์๋ ๋ช ๋ น ํตํฉ๊ณผ ๊ฐ์ ์ถ๊ฐ ํ๋ก์ธ์ค ๋ฐ ๊ธฐ๋ฅ์ Scenes API๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ํ๋ธ ์ฐ๊ฒฐ ๊ธฐ๊ธฐ์ ๋ํ ์ ํ์ ํ์ค Edge ๋๋ผ์ด๋ฒ๋ฅผ ํตํด ์ง์๋๋ ๊ธฐ๋ฅ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ํํ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๊ธฐ๊ธฐ์ ์ ํ์ ์ด๋ฏธ ์งํ ์ค์ด๋ฉฐ ์์ผ๋ก ๋ช ๊ฐ์ ๋์ ์๋ฃ๋ ์์ ์ ๋๋ค. ๋ ์ด์ ์ง์๋์ง ์๋ ์ฌ์ฉ์ ์ง์ Groovy ๊ธฐ๋ฅ์ด ์๋ ๊ฒฝ์ฐ ํด๋น DTH๋ฅผ ์ ๊ณตํ ์ปค๋ฎค๋ํฐ ๊ตฌ์ฑ์์๊ฒ ๋ฌธ์ํ์ญ์์ค. ์ผ๋ถ ๊ธฐ๊ธฐ๋ ์๋์ผ๋ก ์ ํ๋์ง ์์ ์ ์์ผ๋ฉฐ ๋ค์ ์จ๋ณด๋ฉํด์ผ ํฉ๋๋ค. ํด์ ๋ฑ์ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก ๋ ๊ฑฐ์ ํ๋ซํผ(Groovy)์ ์ฐ๋ ์ ์กฐ์ ์ฒด์์ ํ๋์ ์ง์ํ์ง ์์ ๊ธฐ๊ธฐ๋ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๊ธฐ๋ ์ ํ๋ซํผ์์ ์ ํ๋๊ฑฐ๋ ์ง์๋์ง ์์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ Edge ๋๋ผ์ด๋ฒ์ ํ์ฌ ๋ชฉ๋ก์ ์ฌ๊ธฐ(https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/tree/main/drivers/SmartThings)์์ ์ฐพ์ ์ ์์ต๋๋ค. ๋๋ผ์ด๋ฒ ์ฑ๋์ SmartThings CLI 4์์ ์์ฑ๋๋ฉฐ, ์ฌ๊ธฐ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ SmartThings Groovy IDE๋ฅผ ํตํด ํ ๋ฒ ์ก์ธ์คํ ๊ธฐ๋ฅ์ ์ฐพ์ ์๋ ์์ต๋๋ค.
์ด๋ฒ ๊ฐ์์ Matter๊ฐ ์ถ์๋๊ณ ์ด๊ฒ์ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ๊ฐ์ ธ์ฌ ๋ชจ๋ ๊ธฐํ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. ์ด ์ด์ ํ์ ๋ค๊ฐ๊ฐ์๋ก ๋ ๋ง์ ๋ฐํ๊ฐ ์์ ์์ ์ด๋ ๊ณ์ ์ง์ผ๋ด ์ฃผ์ญ์์ค.
์ด๋ฐ ๊ธ์ด ์ฌ๋ผ์๋๋ฐ ์ ๋ฆฌํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค
- ์ง์์ด ์ข ๋ฃ๋๋ ๊ฒ : Groovy๋ก ๋ง๋ค์ด์ง ์ปค์คํ DTH, ์ค๋งํธ์ฑ์ค(SmartApp), SmartThings Groovy IDE
- ์ง์์ด ์ข ๋ฃ๋๋ ๋ ์ง : 2022๋ 9์ 30์ผ
- ์ง์์ด ์ข
๋ฃ๋๋ ๊ฒ์ ๋์ฒดํ๋ ๋ฒ :
- ์ปค์คํ DTH -> Lua ๊ธฐ๋ฐ Edge ๋๋ผ์ด๋ฒ ์ฐ๊ธฐ
- ์ค๋งํธ์ฑ์ค -> SmartThings API ์ฐ๊ธฐ (Rules API ์ Scenes API)
- ์ด๋ ๊ฒ์๋ ์ง์๋์ง ์๋ ๊ฒ -> ์ผ์ฑ ์คํ ๋ฉ์ด์ ์คํ๋์ค ์ฐ๊ธฐ, ๊ฐ์๋ถํฐ SmartThings์ Matter๋ฅผ ์ง์
- ์ง์์ด ์ข
๋ฃ๋๋ ๊ฒ ์ค์์ ๋์ฒดํ ์ ์๋ ๊ฒ : Groovy๋ก ๋ง๋ DTH๋ฅผ ์ฐ๋ฉด์๋, ํ๋์ SmartThings ์ง์์ ๊ด๋ฆฌํ์ง ์์ ์ ์กฐ์ฌ์ ์ ํ
- ์ด์ธ์๋ SmartThings์์ ์ง์ํ๋ ค๋ ๊ฒ : SmartThings Routine Creator, HCA(Home Connectivity Alliance)๊ฐ IFA 2022์์ ๋ฐํํ๋ ์ฐ๊ฒฐ ์ง์
์ค๋ ์ฒ์ ๋์จ ์์์ด๊ธฐ ๋๋ฌธ์
๋ ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ์์ผ๋ก SmartThings ์ปค๋ฎค๋ํฐ์ ๋์ค๊ฒ ๋ ๊ณต์ง๋ฅผ ์ฐธ์กฐํ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค
์ ์์ ํด์ผํ๋ ๊ฒ์ด ๋ญ์ง ์ ๋ค์์, ์ด๊ฑธ ์ด๋ป๊ฒ ํ๋ ์ง์ ๋ํด์๋ ๊ธ์ ์ข ๋ ์จ ๋ณผ ์์ ์
์ผ์ ์ถฉ๊ฒฉ์ ์ธ ์์์ด๋ค ์ปค์คํ DTH ๋ง์๋ฐ ์ธ์ ๋ค ํ๋ ์น์ฝ์ด๋ ์๋๋ค๋ฉฐใทใท
๊ทธ๋ฌ๊ฒ ์ด๋ฏธ ๊น์๋์๊ฑด ๋ ์ ์ ์ผ๋ก๋ง ๋์๊ฐ๋ค๊ณ ํ๋ ๋ฐ๋ก ์ ง๋ค์ด ์ํค์ง๋ ์๊ฒ ์ง๋ง ํ๋์ฉ ๋ฐ๊ฟ์ผํ ๊ฑฐ๊ฐ๋ค
์.. ๋ฏธ๋ฆฌ ๋๋น๋ฅผ ํด๋์ผ๊ฒ ๋ค ์์ง ๋ฒ๊ทธ๋ ๋ง๋ค๊ณ ํ๋๋ฐ ๋ ์๋๋ฅด๋ ๊ฒ ๊ฐ๊ตฌ๋ง
์ผ๋จ์ ์ ๊ท ์ค์น์ ๋ํด์ ๊ทธ๋ฐ๊ฑฐ๊ณ ๊ธฐ์กด์ ์ด๋ฏธ ์ค์น๋ DTH ๋ฑ์ ๊ณ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค๊ณ ํ๋ค ์์ง ์๊ฐ์ ์ธ ์ฌ์ ๋ ์๊ตฌ๋ง ๋คํ..