19b5d56bc0dc3ceb61b99b9204de2b2b5109b03b77b4c560497d62992d2f6934ff9d52e6507f395a06a9f4163de57bb5541d4d3c410a366c5b64fa517970c48a690f9163e8ad2da7dacb156a53733ea270


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์—์„œ ๋ฐœํ‘œํ•˜๋Š” ์—ฐ๊ฒฐ ์ง€์›


๊ทธ๋ž˜์„œ ์Šค๋ถ•์ด๋“ค์ด ํ•ด์•ผํ•  ๊ฒƒ์ด ๋ญ”์ง€ ์•Œ๋ ค์ค€๋‹ค.

์ผ€์ด์Šค1 : ๋‚˜๋Š” ์‚ผ์„ฑ ๊ฐ€์ „์„ ์Šค๋งˆํŠธ์‹ฑ์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ  ์Šค๋งˆํŠธ์‹ฑ์Šค ์•ฑ์œผ๋กœ ๋ฃจํ‹ด์ด๋‚˜ ๋ชจ๋“œ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์“ฐ๊ณ  ์žˆ์œผ๋ฉฐ, SmartThings ์•ฑ์˜ ๋ผ์ดํ”„ ํƒญ์— ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค -> ์•„๋ฌด ๊ฒƒ๋„ ํ•  ํ•„์š”๊ฐ€ ์—†์Œ

์ผ€์ด์Šค2 : ๋‚˜๋Š” ์Šค๋งˆํŠธ์‹ฑ์Šค์— ์ œํ’ˆ์€ ํŠน๋ณ„ํžˆ ์—†๊ณ , ๊ฐ€์ƒ ์Šค์œ„์น˜๋ฅผ ์จ์„œ ์—ฌ๋Ÿฌ ๋ฃจํ‹ด์ด๋‚˜ ๋ชจ๋“œ๋ฅผ ์ž‘๋™์‹œํ‚ค๋Š” ๋ฐ์— ์“ฐ๊ณ  ์žˆ๋‹ค -> ์•„๋ฌด ๊ฒƒ๋„ ํ•  ํ•„์š”๊ฐ€ ์—†์Œ

์ผ€์ด์Šค3 : ๋‚˜๋Š” ์Šค๋งˆํŠธ์‹ฑ์Šค ์Šคํƒ€ํŠธ ํ‚ท์„ ์‚ฌ๊ณ  SmartThings Hub ์™€ ๊ณต์‹ ์„ผ์„œ๋“ค์ด ์žˆ๋‹ค. -> ๋‚˜์ค‘์— ๋‚˜์˜ค๊ฒŒ ๋  SmartThings Hub์˜ ์ •์‹ ์—ฃ์ง€ ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ๋ฅผ ๊น๋‹ค

์ผ€์ด์Šค4 : ๋‚˜๋Š” SmartThings Hub์™€ ์—ฌ๊ธฐ์— ๋ถ™์ด๋Š” ์„œ๋“œํŒŒํ‹ฐ ์ œํ’ˆ์ด ์žˆ๋Š”๋ฐ ์ด ๊ฒƒ๋“ค์€ Works With SmartThings ์ œํ’ˆ์ด๋‹ค -> ๋‚˜์ค‘์— ๋‚˜์˜ค๊ฒŒ ๋  SmartThings Hub์˜ ์ •์‹ ์—ฃ์ง€ ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ๋ฅผ ๊น”๊ณ , Works With SmartThings ํšŒ์‚ฌ์˜ ์—ฃ์ง€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.

์ผ€์ด์Šค5 : ๋‚˜๋Š” SmartThings Hub์™€ ์—ฌ๊ธฐ์— ๋ถ™์ด๋Š” ์„œ๋“œํŒŒํ‹ฐ ์ œํ’ˆ์ด ์žˆ๋Š”๋ฐ ์ด ์ œํ’ˆ์€ Works With SmartThings ์ œํ’ˆ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปค์Šคํ…€ DTH๋ฅผ SmartThings IDE์— ๊น”์•„์„œ SmartThings Hub์— ์„œ๋“œํŒŒํ‹ฐ ์ œํ’ˆ์„ ๋ถ™์˜€๋‹ค -> ๊ฐ–๊ณ ์žˆ๋Š” ์ œํ’ˆ์— ๋งž๋Š” ์—ฃ์ง€ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ฐพ์€ ๋‹ค์Œ์—, SmartThings IDE ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์ปค์Šคํ…€ DTH๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์ฐพ์•„๋†“์€ ์—ฃ์ง€ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๊น๋‹ค.

์ผ€์ด์Šค6 : ๋‚˜๋Š” ์›น์ฝ”์–ด์—์„œ ์Šค๋งˆํŠธ์•ฑ์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ณต์žกํ•œ ์ž๋™ํ™”๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค -> ์ž๋™ํ™”๋ฅผ SmartThings API์˜ Rules API, Scenes API ๋กœ ๋‹ค์‹œ ์งœ๊ฑฐ๋‚˜, ์‚ผ์„ฑ ์˜คํ† ๋ฉ”์ด์…˜ ์ŠคํŠœ๋””์˜ค๋กœ ๋‹ค์‹œ ์งœ๊ฑฐ๋‚˜, ์•ž์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋  SmartThings Routine Creator๋กœ ๋‹ค์‹œ ์ง  ๋‹ค์Œ์— ์›น์ฝ”์–ด๋กœ ๋งŒ๋“  ์Šค๋งˆํŠธ์•ฑ์Šค๋ฅผ ์ง€์šด๋‹ค.



์˜ค๋Š˜ ์ฒ˜์Œ ๋‚˜์˜จ ์†Œ์‹์ด๊ธฐ ๋•Œ๋ฌธ์—

๋” ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์€ ์•ž์œผ๋กœ SmartThings ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋‚˜์˜ค๊ฒŒ ๋  ๊ณต์ง€๋ฅผ ์ฐธ์กฐํ•˜๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค


์ € ์œ„์— ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด ๋ญ”์ง€ ์•ˆ ๋‹ค์Œ์—, ์ด๊ฑธ ์–ด๋–ป๊ฒŒ ํ•˜๋Š” ์ง€์— ๋Œ€ํ•ด์„œ๋Š” ๊ธ€์„ ์ข€ ๋” ์จ ๋ณผ ์˜ˆ์ •์ž„