์ ํ ํ์ด์ง:
https://sonoff.tech/product/smart-home-security/snzb-01
์ฅ์น ์์ฒญ์ ์ธ๊ธ๋ ๋๋ก ๋๋ฝ๋ ์ ๋ณด๋ฅผ ์ถ๊ฐํ์ญ์์ค. ๊ฐ์ฌํฉ๋๋ค!
์ฃ์กํฉ๋๋ค. ์ ๋ ์ฒ์์ ๋๋ค!
๋น์ ์ ์ด๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๊น?
์ด๊ฒ์ ๋ํ ๋ชจ๋ ์ ๋ฐ์ดํธ. ๋ ๋ง์ ์ ๋ณด๊ฐ ํ์ํ์ญ๋๊น?
์ด ์ค์์น์ ๋งค์ฐ ๊ด์ฌ์ด ์์ต๋๋ค.
21์ผ ๋์ ์๋ต์ด ์์๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ๋ ์๋์ผ๋ก ์ค๋๋ ๊ฒ์ผ๋ก ํ์๋์์ต๋๋ค. OP์์: ์ด ๋ฌธ์ ๋ฅผ ๋ซ๊ฑฐ๋ ํ์ฑ ์ํ๋ก ์ ์งํ์ญ์์ค . ๋ ์ด์ ํ๋์ด ๋ฐ์ํ์ง ์์ผ๋ฉด 7์ผ ํ์ ๋ซํ๋๋ค.
28์ผ ๋์ ๋ต๋ณ์ด ์์ด ์ด ๋ฌธ์ ๋ ๋ซํ๋๋ค. @ OP: ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ํด๊ฒฐํ ๋ด์ฉ์ ๊ฒ์ํ์ญ์์ค.
์๋ ํ์ธ์! ์๋ค ์, ๋๋์ด ์ฅ์น๋ฅผ ์ป์์ง๋ง ํ ๊ฐ์ง ์ง๋ฌธ์ด ์์ต๋๋ค. ๋ ๊ฐ์ง ์์ ๋ง ์์ต๋๋ค. ๋ ๋ฒ๊ณผ ๊ธธ๊ฒ, ํ ๋ฒ ํด๋ฆญํ์ง ์์ต๋๋ค.
์ด ์ํฉ์ด๋ ํ์ฌ ์ฅ์น์ ๋ํ ์ ์์ด ์์ง ์์ ํ ์ง์๋์ง ์์ต๋๊น?
๊ทธ๋ฌ๋ ์ฝ๋์์ ๋ฐํ ๊ฐ๋ฅํ "์ผ๊ธฐ"์ "๋๊ธฐ"๋ง ๋ณผ ์ ์์ต๋๋ค.
static const Sensor::ButtonMap sonoffOnOffMap[] = {
// mode ep cluster cmd param button name
{ Sensor::ModeScenes, 0x01, 0x0006, 0x01, 0, S_BUTTON_1 + S_BUTTON_ACTION_SHORT_RELEASED, "On" },
{ Sensor::ModeScenes, 0x01, 0x0006, 0x00, 0, S_BUTTON_2 + S_BUTTON_ACTION_SHORT_RELEASED, "Off" },
// end
{ Sensor::ModeNone, 0x00, 0x0000, 0x00, 0, 0, nullptr }
};
์ด๋ค ์ซ์ ๊ฐ์ด ์์ต๋๊น?
๋ฒํผ ๊ฐ์ ๋ํ ๊ทํ์ ์ง๋ฌธ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ... double 1002, long 2002 (Home Assistant ์ด๋ฒคํธ์์)
์ข์, ์ด ์ฅ์น์ ๋ค๋ฅธ ๋ฐํ ๊ฐ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
@SAOPP ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํ
์ด๋ธ์ ๋ง๋ค์์ง๋ง ๋๊ตฐ๊ฐ ํ
์คํธํ ์ ์๋ค๋ฉด
์๋ก์ด ์ฝ๋
static const Sensor::ButtonMap sonoffOnOffMap[] = {
// mode ep cluster cmd param button name
{ Sensor::ModeScenes, 0x01, 0x0006, 0x01, 0, S_BUTTON_1 + S_BUTTON_ACTION_DOUBLE_PRESS, "Double" },
{ Sensor::ModeScenes, 0x01, 0x0006, 0x00, 0, S_BUTTON_1 + S_BUTTON_ACTION_LONG_RELEASED, "Long" },
{ Sensor::ModeScenes, 0x01, 0x0006, 0x02, 0, S_BUTTON_1 + S_BUTTON_ACTION_SHORT_RELEASED, "Short" },
// end
{ Sensor::ModeNone, 0x00, 0x0000, 0x00, 0, 0, nullptr }
};
์ฝ๋๋ฅผ ํ ์คํธํ๋ ค๋ฉด
git clone --branch sonoff https://github.com/Smanar/deconz-rest-plugin.git
cd deconz-rest-plugin
qmake && make -j2
sudo cp ../libde_rest_plugin.so /usr/share/deCONZ/plugins
์ด๊ฒ์ ํ ์คํธํ๊ฒ ๋์ด ๋งค์ฐ ๊ธฐ์ฉ๋๋ค. ํ์ง๋ง ์ ๋ ๋์ปค์์ DeConz๋ฅผ ์คํํ๊ณ ์์ต๋๋ค. ๊ทธ๊ฒ ๊ฐ๋ฅํฉ๋๊น?
์๋์, ์ฝ๋๋ฅผ ์ปดํ์ผํ๋ ค๋ฉด ํด๋์ OS๊ฐ ํ์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์๋๋ฅด์ง ์์ต๋๋ค.
RPI2๋ฅผ ํ ์คํธํ๊ณ ์ถ์ง๋ง ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
snzb-01์์๋ง ์๋ํฉ๋๊น ์๋๋ฉด 03์์๋ ์๋ํฉ๋๊น?
@pippo73 03์ ๋ชจ์ ์ผ์์ธ๊ฐ์? ์ค์์น ์๋?
@NovaGL ํด๋์ OS(์: HA ์๋)๊ฐ ์๋ Rpi๊ฐ ์๋ ๊ฒฝ์ฐ ํํ์ด์ง https://github.com/dresden-elektronik/deconz-rest-plugin#install -deconz-development-package-์ ์ ์ฐจ๊ฐ ์์ต๋๋ค. ์ ํ์ -๋ฆฌ๋ ์ค ์ ์ฉ
๋จ๊ณ (1-4)๋ฅผ ์ํด ์ฝ๊ฐ๋ง ๋ณ๊ฒฝํ์ญ์์ค.
git clone --branch sonoff https://github.com/Smanar/deconz-rest-plugin.git
cd deconz-rest-plugin
qmake && make -j2
sudo cp ../libde_rest_plugin.so /usr/share/deCONZ/plugins
qmake๋ฅผ ์ด๋ป๊ฒ ์ค์นํฉ๋๊น?
๋น์ ์ ํ
์คํธํ์ต๋๋ค
sudo apt install deconz-dev
์ ์๊ฒ ์ ํฉํ์ง ์์ต๋๋ค. RPI2์ฉ ํจํค์ง๋ฅผ ๋ง๋ค์ด ์ฃผ์๋ฉด ํ ์คํธํด ๋ณด๊ฒ ์ต๋๋ค.
์ฐ๋ถํฌ์์ ๋น๋๋ฅผ ์๋ํ์ง๋ง ๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.
์ @Smanar ๋ชจ์ ์ผ์์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค.
์ฐ๋ถํฌ์์ ๋น๋๋ฅผ ์๋ํ์ง๋ง ๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.
๋ก๊ทธ์ธ ์คํจ - ๋ฌด์จ ๋ป์ธ๊ฐ์? U ์ ์ฉ์ผ๋ก phoscon์ ๋ก๊ทธ์ธํ ์ ์๊ฑฐ๋?
์ค๋ฅ๋ ์คํด์ ์์ง๊ฐ ์์๊ณ ์ค์ ๋ก ๋ด๊ฐ ๋ฏฟ๋ ์ฌ๋ฐ๋ฅธ ์์น์ ๋ํด ์ปดํ์ผ๋์ง ์์์ต๋๋ค.
๋ด๊ฐ ๋ญ ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ด. ์ฐ๋ถํฌ VM์์ ์๋ํ์ง๋ง ๋น๋ํ ์ ์์ง๋ง ๊ฑด๋ฌผ์ ์์น๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ปดํ์ผ์ ๋ํ ๋ชจ๋ ํ์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
@ pippo73 ์ด ์ฝ๋๋ ์ค์์น์ฉ์ ๋๋ค. ๋ชจ์ ์ผ์์ ์ด๋ค ๋ฌธ์ ๊ฐ ์์ต๋๊น? ๋ฒ์ 79 ์ดํ๋ก ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค> https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2991
@NovaGL sudo apt install deconz-dev
๋ฅผ ์ฌ์ฉํ๋ฉด ์์คํ
์ ๋ฐ๋ผ ์ฌ๋ฐ๋ฅธ "ํ๊ฒฝ"์ด ๋ง๋ค์ด์ง๋๋ค. ์ด ๋ช
๋ น์ด ์๋ํ๋ฉด ๋๋จธ์ง๋ ๊ด์ฐฎ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ ๊ฐ์ ๋ช ๋ น์ ์ฌ์ฉํ ํ ์ค๋ฅ๊ฐ ๋ฌด์์ธ์ง ํ์๋ฉ๋๋ค. ๊ทธ๊ฒ์ ๋์๊ฒ์ ์ฌ ์ ์์ต๋๋ค. ๋ชจ๋ ์ฝ๋๋ฅผ ํ ์คํธํ์ง๋ ์์ต๋๋ค.
์๋
ํ์ธ์ @Smanar ์ ๋ ์ด ๋จ๊ณ์์ ๊ณ ๊ตฐ๋ถํฌํ๊ณ ์์ต๋๋ค.
sudo cp ../libde_rest_plugin.so /usr/share/deCONZ/plugins
ํ์ผ์ ๋ณต์ฌํ๊ธฐ ์ ์๋ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํ์ง๋ง ํ์ผ์ ๋ณต์ฌํ๋ ์๊ฐ ์๋ฌด ๊ฒ๋ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ค๋ฅ ์์
๋๋ฒ๊น ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์๋ฉด ์ ๊ฐ ์ฐพ์ ์ ์๋ ์ค๋ฅ๋ฅผ ๋ณด๋ด ๋๋ฆฌ๊ฒ ์ต๋๋ค. ํ์ง๋ง ๋ก๊ทธ์๋ ์ค๋ฅ๊ฐ ํ์๋์ง ์์ต๋๋ค.
์ปดํ์ผํ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ๋ฌด์์ธ์ง ํ์ธํ์ญ์์ค.
๋๋ ํผ๋์ค๋ฌ์ํ๊ณ ์ปดํจํฐ๋ฅผ ์ฌ๋ถํ
ํ๋ฉด ์ก์ธ์ค ํ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
๋ฐ๋ผ์ PI์์ ์ฌ์ฉํ ๋ ์๋ชป๋ ์์น์ ๋ํด ์ปดํ์ผ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ฉฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง ์์๊ธฐ ๋๋ฌธ์ Ubuntu์์ ์ก์ธ์คํ ์ ์์์ด์ผ ํฉ๋๋ค.
์ด์จ๋ Ubuntu VM์ ์ฌ์ฉํ ๋ Raspberry PI์ฉ์ผ๋ก ์ปดํ์ผํ ์ ์์ต๋๊น?
๋ด๊ฐ ๊ธฐ์ตํ๋ ํ, ๊ทธ๊ฒ์ ๋ณดํธ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋ฌผ๋ก ํ๋ฆด โโ์ ์์ต๋๋ค. ๋ช ๋ฌ ์ ์ ๋ง์ง๋ง์ผ๋ก ์ปดํ์ผํ์ ๋
์ปดํ์ผ์ ์์คํ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฏ๋ก ์์คํ ์์ ์ปดํ์ผํ๊ณ ๋ค๋ฅธ ์์คํ ์์ ํ์ผ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ผ์ ๋ณต์ฌํ๊ธฐ ์ ์๋ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํ์ง๋ง ํ์ผ์ ๋ณต์ฌํ๋ ์๊ฐ ์๋ฌด ๊ฒ๋ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ค๋ฅ ์์
์์คํ ๋ฉ์ถค? ํ์ผ์ ๊ต์ฒดํ๊ธฐ ์ ์ deconz๋ฅผ ๋ซ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Hyper-V๋ USB Passthrough๋ฅผ ์ํํ์ง ์๊ณ RPI2์์ ์ปดํ์ผํ ์ ์์ผ๋ฏ๋ก ํ ์คํธํ ์ ์ ํ ์ปดํจํฐ๊ฐ ์์ผ๋ฏ๋ก ๋ค๋ฅธ ์ฌ๋๋ค์ด ํ ์คํธํ ์ ์๋๋ก ๋จ๊ฒจ ๋์ด์ผ ํฉ๋๋ค.
@Smanar 5๊ฐ ์๋๋ฐ 2๊ฐ๋ง ์ฐ๊ฒฐํ ์ ์์ด์. ์ด์จ๋ ๋๋ 3d yo๊ฐ ๋์๊ฒ ํ์ํ ๊ฒ์ ๋ฌผ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ด์จ๋ ๊ฐ์ฌํฉ๋๋ค
๋๋ zigbee2mqtt๋ก ์ฎ๊ฒผ๊ณ ์ด ์ฅ์น๋ค์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค
@NovaGL ์ด๊ฒ์ ์ ์ ํ ํด๊ฒฐ์ฑ ์ด ์๋๋๋ค ๐
@Smanar ์ด๊ฑธ ๋ค์ ์ด์ด์ผ ํ๋์?
์ด ๋ฌธ์ ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ด์ด์ผ ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ํ ๋ฒ์ ํด๋ฆญ์ด ์์ต๋๋ค.
ํ ์คํธํ๊ฒ ๋์ด ๊ธฐ์์ง๋ง ๋ง๋ค ์ ์์ต๋๋ค.
ํ์ฌ ์ฝ๋ ๊ธฐ๋ฐ์ ์ฌ์ฉํ๋ฉด ์ฝ๊ฐ์ ์ง์นจ์ ํตํด ์ค์ค๋ก "์์ "ํ ์ ์์ต๋๋ค.
๊ต์ฅํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์๋ดํด ์ฃผ์๋ฉด ๋ค์ ๋ณด๊ณ ํ๊ฒ ์ต๋๋ค.
๋ด raspbee๋ฅผ ๊ณต์ ์ด๋ฏธ์ง์ ๋ฃ์ ์ ์์ผ๋ฏ๋ก ํ ์คํธ ํ ์ ์์ต๋๋ค ...
๊ณต์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ฌ ์ฝ๋๋ฅผ ์ปดํ์ผํด์ผ ํฉ๋๋ค. ์ง์นจ์ readme์ ์ธ๊ธ๋์ด ์์ต๋๋ค.
๋ํ button_maps.json ํ์ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(zll.db)๊ฐ ์๋ ์์น์ ๋ณต์ฌํด์ผ ํฉ๋๋ค. json ํ์ผ์์ ์๋ ค์ง ๋๋ฝ ํญ๋ชฉ์ ์ถ๊ฐํ๊ฑฐ๋ deconz ๋๋ฒ๊ทธ ์ถ๋ ฅ์์ โโ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
๋๋ถ์ RPI2์์ ์ปดํ์ผํ ์ ์์ด์ ํฌ๊ธฐํ์ต๋๋ค.
@SwoopX ๋ณ๊ฒฝํ๊ธฐ ์ ์ ๋ง๋ ์ค๋๋ ์ฝ๋์ด๋ฏ๋ก ์์ง button_maps.json์ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ด์ ํ ์คํธ๋ฅผ ๊ฑฐ์ณ ์๋์ด ํ์ธ๋์์ผ๋ฉฐ ๋ค์ ๋ฆด๋ฆฌ์ค์ ๋ณํฉ๋ ์์ ์ ๋๊น?
์์ง ํ ์คํธ ์ ์ ๋๋ค^^
์์ง ํ ์คํธ ์ ์ ๋๋ค^^
ํ ์คํธ๋ฅผ ์ํด ๋ฒ ํ ๋ธ๋์น๋ก ํธ์๋๋์? Sonoff ๋ฒ์์ ์ ๋ฐ์ ์๋ํ๊ณ ๋๋จธ์ง ์ ๋ฐ์ ์๋ํ์ง ์๋ ๊ฒ์ด ์ด์ํด ๋ณด์ ๋๋ค.
PR ์๋ฃ, ํ ์คํธ๋์ง ์์์ง๋ง ๋ค์ ๋ฒ์ ์์ ํ์ผ์ ์ง์ ํธ์งํ ์ ์์ต๋๋ค. json ํ์ผ์ด ๋ฉ๋๋ค.
PR ์๋ฃ, ํ ์คํธ๋์ง ์์์ง๋ง ๋ค์ ๋ฒ์ ์์ ํ์ผ์ ์ง์ ํธ์งํ ์ ์์ต๋๋ค. json ํ์ผ์ด ๋ฉ๋๋ค.
ํ๋ฅญํฉ๋๋ค. ์ถ์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค. ์ข์ ์ผ๊ณผ ๊ฐ์ฌํฉ๋๋ค.
@Smanar ์ค๋ ๋ฉ์ผ์์ ์ด ์ ํํ ์ค์์น๋ฅผ ๋ฐ์๊ณ ์๋ํ์ง ์์ ๋ ์ด ์ค๋ ๋๋ฅผ ์ฐ์ฐํ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทํ์ ๋ถ๊ธฐ๋ฅผ ๋ณต์ ํ๊ณ libde_rest_plugin.so ๋ฐ button_maps.json ํ์ผ์ ์ปดํ์ผํ๊ณ ๋ณต์ฌํ์ต๋๋ค. ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํ์ง ์์๋ค. ๋ฒํผ์ ๋๋ฅผ ๋ ์ฌ์ ํ ๋ค์์ด ๊ธฐ๋ก๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
# Short
[INFO] - No button map for: WB01 endpoint: 0x01 cluster: 0x0006 command: 0x02 payload[0]: 000
# Double
[INFO] - No button map for: WB01 endpoint: 0x01 cluster: 0x0006 command: 0x01 payload[0]: 000
# Long
[INFO] - No button map for: WB01 endpoint: 0x01 cluster: 0x0006 command: 0x00 payload[0]: 000
์ฝค๋น์ ํจ๊ป ์ด๋ค ์ฅ์น๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ๋ฒํผ ๋งต json์ ์ ๋ฐ์ดํธํด์ผ ํ ์๋ ์์ต๋๋ค.
ConBee 2๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ฒํผ ๋งต ํ์ผ์ Smanar์ ๋ธ๋์น์์ ~/.local/share/dresden-elektronik/deCONZ/button_maps.json
๋ณต์ฌํ์ต๋๋ค. ๊ทธ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ์์น์ธ์ง ํ์คํ์ง ์์ง๋ง zll.db ํ์ผ๊ณผ ๋์ผํ ๋๋ ํ ๋ฆฌ์
๋๋ค.
์ฝค๋น๋ ์ด๋ค ์ฅ์น์ ์ฐ๊ฒฐ๋์ด ์์ต๋๊น? ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด?
์ ์ฃ์กํฉ๋๋ค. Deconz๋ ์ฐ๋ถํฌ 18.04๋ฅผ ์คํํ๋ LXD ์ปจํ ์ด๋์ ์ค์น๋ฉ๋๋ค. ConBee USB ์คํฑ์ ๋์ปค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ปจํ ์ด๋๋ก ์ ๋ฌ๋ฉ๋๋ค.
zll.db๊ฐ ์๋ devices๋ผ๋ ํด๋๋ฅผ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์ json ํ์ผ์ ๋ณต์ฌํด ๋ณด์ธ์.
@SwoopX ์, ์ฐจ์ด๋ฅผ ๋ง๋ค์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ ๋ฒ ๋๋ฅด๊ธฐ์ ๊ธธ๊ฒ ๋๋ฅด๊ธฐ๊ฐ ํผ๋๋ ์ ์์ต๋๋ค.
# Short
[INFO] - Button 1002 short
# Double
[INFO] - Button 1003 Long
# Long
Button 1004 double
button_maps.json์ ํธ์งํ์ฌ ์ด์ ๊ฐ์ด ๋์ ์ ํํ๋ฉด ๋ก๊ทธ ์ถ๋ ฅ์ด ์์๋๋ก ๋ฉ๋๋ค.
"sonoffOnOffMap": [
[1, "0x01", "ONOFF", "ON", "0", "S_BUTTON_1", "S_BUTTON_ACTION_LONG_RELEASED", "double"],
[1, "0x01", "ONOFF", "OFF", "0", "S_BUTTON_1", "S_BUTTON_ACTION_DOUBLE_PRESS", "Long"],
[1, "0x01", "ONOFF", "TOGGLE", "0", "S_BUTTON_1", "S_BUTTON_ACTION_SHORT_RELEASED", "short"]
]
Thx, ๋ด ์ชฝ์์ ์์ ํ์ต๋๋ค.
์ด์ ๋ด ์์ ๋ ๋ง์ ์์ ์ ํค๋ณด๋๊ฐ ์์ต๋๋ค ;)
Manu๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ๊ณ ๋ถ๋ช ํ ์ธ๊ธํ๋ ๊ฒ์ ์์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ์ด์ ์ค์ค๋ก ์์๋ค. ๊ฒฝ๋ก๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
~/.local/share/dresden-elektronik/deCONZ/devices/button_maps.json
@jdonofrio728 ๋คํ
๋ก๊ทธ ๋ฉ์์ง๊ฐ ๋ ์ข์ ๋ณด์ด์ง๋ง ์ฌ์ ํ ์๋ชป๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ ์ด์์คํดํธ(์ฌ๊ธฐ์๋ ๋ฒ์ ์ธ)๋ ์ด ์ค์์น๋ฅผ "์ค์์น"๋ก ๋ณด์ง ์๊ณ ๋ฐฐํฐ๋ฆฌ ์๋๋ง ๊ฐ์งํฉ๋๋ค. Deconz๋ ๊ฐ์ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
์ผ์ง/๊บผ์ง ๋๋ ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํ ์ ์๋ ํด๋ฌ์คํฐ ๊ฐ์ฒด๋ฅผ ์์ํ์ต๋๋ค. ๋ด๊ฐ ๋ญ๊ฐ ์คํดํ๊ณ ์๋ ๊ฑด ์๋๊น?
ZHASwitch ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ต๋๊น?
ํ ์ด์์คํดํธ๊ฐ ์ฐพ์ ์ ์ผํ ๊ฐ์ฒด๋ ๋ฐฐํฐ๋ฆฌ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. deconz ํตํฉ ๋ฌธ์๋ฅผ ๋ค์ ์ฝ๊ณ ์ด๊ฒ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ๋ฒํผ์ ๋ด๊ฐ ์์ ํ ์บก์ฒํ ์ ์๋ ํ์ฌ ์ด๋ฒคํธ๋ง ํธ์ํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์์๋๋ก ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฏธ์ํฉ๋๋ค!
์ข์ ์๋ก์ด ๋ฒํผ ๋งต์ผ๋ก ์ง๊ธ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ์์์ ๋ฃ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค.
v2.05.84 ๋ฐ ์ต์ FW์ ๋ํ ํ์ฌ ์ํ๋ ๋ฌด์์ ๋๊น?
์ฌ์ ํ ์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๊น? ๋๋ฅผ ์ํด ์ค์์น๋ ์ ์์ ์ธ ๋ฐฉ๋ฒ์ ํตํด ์ ํ ์๋ํ์ง ์์ต๋๋ค. phoscon์์ ๋ณผ ์ ์์ง๋ง ๊ฐ๋ฐ์ ์์ ํญ์ ๋ฑ๋ก ๋ฐ ์ด๋ฒคํธ๊ฐ ์์ต๋๋ค.
84์์๋ ์๋ํ์ง ์์ต๋๋ค.
์ด์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก 1002 ๋ ๋ฐฐ, ๊ธด 1003 ์ด๋ฒคํธ์ ๋๋ค.
์ด์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก 1002 ๋ ๋ฐฐ, ๊ธด 1003 ์ด๋ฒคํธ์ ๋๋ค.
deconz_events๋ฅผ ์์ ํ ๋ HA์์ ์ด๋ฒคํธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค./
์ฒ์์๋ ๋จ์ผ ํด๋ฆญ ์ด๋ฒคํธ๋ง ์์๊ธฐ ๋๋ฌธ์ ์ฅ์น๋ฅผ ๋ค์ ์ฐ๊ฒฐํด ๋ณด์ญ์์ค. ๋๋ธ ํด๋ฆญ๊ณผ ๊ธด ํด๋ฆญ์ด ์๋ํด์ผ ํฉ๋๋ค.
์ฒ์์๋ ๋จ์ผ ํด๋ฆญ ์ด๋ฒคํธ๋ง ์์๊ธฐ ๋๋ฌธ์ ์ฅ์น๋ฅผ ๋ค์ ์ฐ๊ฒฐํด ๋ณด์ญ์์ค. ๋๋ธ ํด๋ฆญ๊ณผ ๊ธด ํด๋ฆญ์ด ์๋ํด์ผ ํฉ๋๋ค.
๋๋ ์ฐจ์ด์์ด 3 ๋ฒ ์ ๊ฑฐํ๊ณ ์ถ๊ฐํ์ต๋๋ค. ๋ด๊ฐ ๋ญ ์๋ชปํ๊ณ ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
์ด์ํ๊ฒ๋, ๋น์ ์ด ๊ฐ์ง๊ณ ์๋ ๋ง๋๊ธฐ๋ ๋ฌด์์ ๋๊น?
์ด์ํ๊ฒ๋, ๋น์ ์ด ๊ฐ์ง๊ณ ์๋ ๋ง๋๊ธฐ๋ ๋ฌด์์ ๋๊น?
Conbee II, RPi 4, ๋์ปค
@SwoopX @Smanar ์ฌ๋ฌ๋ถ, ์ด ์ฅ์น๋ก ์ด ์ํฉ์ ๋ช ํํ ํด ์ฃผ์๊ฒ ์ต๋๊น? ๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@SAOPP @Jimmy-SafeCash ๋ด๊ฐ ๋ณผ ์์๋ ํ ์ ๋๋ก ์ถ๊ฐ๋์์ต๋๋ค. Swoop์ ํ๊ทธ๋ฅผ ์ง์ ํ๋ ๊ฒ์ ๋์์ด ๋์ง ์์ต๋๋ค. ๊ทธ๋ ํตํฉํ์ง ์์์ต๋๋ค.
๋ฒ์ 2.05.84์ ์ต์ HA deconz ์ ๋์จ์ผ๋ก ํ์ธํ์ต๋๋ค. ์งง์ ๋ฒํผ ๋๋ฆ์ ์ฌ์ ํ โโ์ธ์๋์ง ์์ต๋๋ค.
๋ฒํผ ๋งต ํ์ผ์ ์ฌ์ฉํ๋ฉด ๋ฒํผ ๋งต์ ์ ๋ฐ์ดํธํ๊ณ ๋ค์ ์๋ํ ์ ์์ต๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ .85์ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ์ ์๋ฌด๋ ๋ฆด๋ฆฌ์ค ๋ ธํธ๋ฅผ ์ฝ์ง ์๋์ง, ๊ฑฐ๊ธฐ์ ์ธ๊ธ๋์ง ์์์ต๋๋ค.
๊ณ ๋ง์ ์น๊ตฌ, ๋๋ ๊ทธ๊ฒ์ ์ฝ๊ณ ์์ง ๋ชปํ์ต๋๋ค. ๋๋ ์ด ์์ ์ฌํญ์ด 83 ๋๋ 84์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ 10์ 15์ผ์ ๊ธฐ๋ค๋ฆฌ์ญ์์ค. :)
๊ณ ๋ง์ ์น๊ตฌ, ๋๋ ๊ทธ๊ฒ์ ์ฝ๊ณ ์์ง ๋ชปํ์ต๋๋ค. ๋๋ ์ด ์์ ์ฌํญ์ด 83 ๋๋ 84์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ 10์ 15์ผ์ ๊ธฐ๋ค๋ฆฌ์ญ์์ค. :)
์ด์ 85๋ก ์ ๋ฐ์ดํธํ๊ณ ์ค์์น๋ฅผ ๋ค์ ์ถ๊ฐํ์ต๋๋ค. ์ฌ์ ํ ๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค. deconz_events๋ฅผ ์์ ํ๋ฉด ๋ด ์ผ์์ ๋ํด ์๋ฌด ๊ฒ๋ ํ์๋์ง ์์ต๋๋ค(๊ทธ๋ฌ๋ ์ฌ์ ํ ์๋ํจ). ์ค์์น๊ฐ ์๋ํ์ง ์๋ ์ด์ ๊ฐ ๋ฌด์์ ๋๊น? ๊ทธ๊ฒ์ ๋ ๋ฒ ๋๋ฅด๊ธฐ์ ๊ธธ๊ฒ ๋๋ฅด๊ธฐ(๋จ์ผ ์๋)์์ ์๋ํ์ง๋ง ์ง๊ธ์ ์ ํ ์๋ํ์ง ์์ต๋๋ค. ์ด๋ฒคํธ์์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ์ต๋๋ค.
๋ค๋ฅธ ๋ชจ๋ sonoff ์ผ์๊ฐ ์ ๋๋ก ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ์๋ํ์ง ์์์ผํ๋ ๋ช ๋ฐฑํ ์ด์ ๋ฅผ ๋ณด์ง ๋ชปํฉ๋๋ค. ๋ฒํผ ๋๋ฆ์ด ํฌํจ๋ ์ผ๋ถ deconz ๋ก๊ทธ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น?
๋๋ ๊ทธ๊ฒ์ด ์๋ํ์ง ์์์ผํ๋ ๋ช ๋ฐฑํ ์ด์ ๋ฅผ ๋ณด์ง ๋ชปํฉ๋๋ค. ๋ฒํผ ๋๋ฆ์ด ํฌํจ๋ ์ผ๋ถ deconz ๋ก๊ทธ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น?
์ ์ํ ๋ต๋ณ์ ์ํด @SwoopX ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋ด ๋ก๊ทธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
23:50:01:032 GW firmware version: 0x26660700
23:50:01:032 GW firmware version is up to date: 0x26660700
23:50:08:837 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0406 command: 0x0A payload[0]: 000
23:50:08:837 ZCL attribute report 0x0017880106F4F8F9 for cluster: 0x0406, ep: 0x02, frame control: 0x08, mfcode: 0x0000
23:50:25:112 New websocket 192.168.2.40:51170 (state: 3)
23:50:54:971 Current channel 15
23:50:54:979 Device TTL 836 s flags: 0x7
23:51:26:761 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0406 command: 0x0A payload[0]: 000
23:51:26:761 ZCL attribute report 0x0017880106F4E208 for cluster: 0x0406, ep: 0x02, frame control: 0x08, mfcode: 0x0000
23:51:26:845 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0400 command: 0x0A payload[0]: 000
23:51:26:845 ZCL attribute report 0x0017880106F4E208 for cluster: 0x0400, ep: 0x02, frame control: 0x08, mfcode: 0x0000
23:51:30:306 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0402 command: 0x0A payload[0]: 000
23:51:30:306 ZCL attribute report 0x0017880106F4F8F9 for cluster: 0x0402, ep: 0x02, frame control: 0x08, mfcode: 0x0000
23:51:54:967 Current channel 15
23:51:54:975 Device TTL 776 s flags: 0x7
23:52:36:484 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0402 command: 0x0A payload[0]: 000
23:52:36:484 ZCL attribute report 0x0017880106F4E208 for cluster: 0x0402, ep: 0x02, frame control: 0x08, mfcode: 0x0000
23:52:39:063 [INFO] - No button handler for: RWL021 endpoint: 0x02 cluster: 0x0001 command: 0x0A payload[0]: 021
23:52:39:064 ZCL attribute report 0x0017880104F32359 for cluster: 0x0001, ep: 0x02, frame control: 0x08, mfcode: 0x0000
23:52:54:959 Current channel 15
23:52:54:967 Device TTL 716 s flags: 0x7
23:53:12:460 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0406 command: 0x0A payload[0]: 000
23:53:12:460 ZCL attribute report 0x0017880106F4D4F9 for cluster: 0x0406, ep: 0x02, frame control: 0x08, mfcode: 0x0000
23:53:12:555 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0400 command: 0x0A payload[0]: 000
23:53:12:555 ZCL attribute report 0x0017880106F4D4F9 for cluster: 0x0400, ep: 0x02, frame control: 0x08, mfcode: 0x0000
์ฅ์น๋ phoscon์ ํตํด ์ถ๊ฐ๋๊ณ ํญ์ ๊ทธ๋ฌ๋ ๊ฒ์ฒ๋ผ ํ์๋ฉ๋๋ค. /devices ํด๋์ button_maps.json์ ์ถ๊ฐํ์ต๋๋ค.
์ ๋ฐ์ดํธ: ์ค์์น๊ฐ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋์์ต๋๋ค. ๋ฒํผ์ ๋๋ฅด๋ฉด VNC ๋งต์ ํ๋์๊ณผ ๋ น์์ผ๋ก ๊น๋ฐ์ด๋ ์ค์์น๊ฐ ํ์๋ฉ๋๋ค.
HA์ deconz_events๋ ์๋ฌด ๊ฒ๋ ํ์ํ์ง ์์ผ๋ฉฐ ๊ฒฐ์ฝ ํ์ํ์ง ์์ต๋๋ค(์ด๋ค ์ผ์๋ฅผ ํ์ฑํํ๋ ์๊ด์์).
์คํธ ๋ฐ์ก ๋ฒํผ์ ๋๋ ์ ๋ ์ต์ ๋ก๊ทธ:
22:29:32:390 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0402 command: 0x0A payload[0]: 000
22:29:32:390 ZCL attribute report 0x0017880106F4F8F9 for cluster: 0x0402, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:29:33:961 Current channel 15
22:29:33:969 Device TTL 5639 s flags: 0x7
22:29:39:220 [INFO] - Button 1002 short
22:29:42:004 [INFO] - Button 1002 short
22:29:45:960 [INFO] - No button handler for: TH01 endpoint: 0x01 cluster: 0x0402 command: 0x0A payload[0]: 000
22:29:45:960 ZCL attribute report 0x00124B002228CA84 for cluster: 0x0402, ep: 0x01, frame control: 0x18, mfcode: 0x0000
22:29:46:151 [INFO] - Button 1003 long
22:29:53:344 sensor 2 (SML001): disable presence
22:29:53:548 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0406 command: 0x0A payload[0]: 000
22:29:53:548 ZCL attribute report 0x0017880106F4ECA3 for cluster: 0x0406, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:30:13:926 [INFO] - Button 1002 short
22:30:15:927 [INFO] - Button 1004 double
22:30:16:941 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0406 command: 0x0A payload[0]: 000
22:30:16:941 ZCL attribute report 0x0017880106F4D4F9 for cluster: 0x0406, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:30:17:031 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0400 command: 0x0A payload[0]: 000
22:30:17:031 ZCL attribute report 0x0017880106F4D4F9 for cluster: 0x0400, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:30:18:366 [INFO] - Button 1002 short
22:30:18:530 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0400 command: 0x0A payload[0]: 000
22:30:18:530 ZCL attribute report 0x0017880106F4D4F9 for cluster: 0x0400, ep: 0x02, frame control: 0x18, mfcode: 0x0000
22:30:19:225 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0400 command: 0x0A payload[0]: 000
22:30:19:225 ZCL attribute report 0x0017880106F4F8F9 for cluster: 0x0400, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:30:20:792 [INFO] - Button 1004 double
22:30:24:050 [INFO] - Button 1002 short
22:30:27:196 [INFO] - Button 1002 short
22:30:31:694 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0402 command: 0x0A payload[0]: 000
22:30:31:694 ZCL attribute report 0x0017880106F4E208 for cluster: 0x0402, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:30:33:958 Current channel 15
22:30:33:966 Device TTL 5579 s flags: 0x7
22:31:20:908 [INFO] - No button handler for: RWL021 endpoint: 0x02 cluster: 0x0001 command: 0x0A payload[0]: 021
22:31:20:908 ZCL attribute report 0x0017880104F32359 for cluster: 0x0001, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:31:25:859 [INFO] - No button handler for: TH01 endpoint: 0x01 cluster: 0x0405 command: 0x0A payload[0]: 000
22:31:25:859 ZCL attribute report 0x00124B002228CA84 for cluster: 0x0405, ep: 0x01, frame control: 0x18, mfcode: 0x0000
22:31:33:968 Current channel 15
22:31:33:976 Device TTL 5519 s flags: 0x7
22:31:47:732 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0402 command: 0x0A payload[0]: 000
22:31:47:732 ZCL attribute report 0x0017880106F4D4F9 for cluster: 0x0402, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:31:53:383 [INFO] - Button 1002 short
22:32:33:960 Current channel 15
22:32:33:969 Device TTL 5458 s flags: 0x7
22:32:40:047 dev /dev/ttyAMA0
22:32:40:047 GW firmware version: 0x26660700
22:32:40:047 GW firmware version is up to date: 0x26660700
22:33:05:271 [INFO] - No button handler for: RWL021 endpoint: 0x02 cluster: 0x0001 command: 0x0A payload[0]: 021
22:33:05:271 ZCL attribute report 0x0017880106A7F62F for cluster: 0x0001, ep: 0x02, frame control: 0x08, mfcode: 0x0000
22:33:17:495 [INFO] - No button handler for: SML001 endpoint: 0x02 cluster: 0x0402 command: 0x0A payload[0]: 000
22:33:17:495 ZCL attribute report 0x0017880106F4ECA3 for cluster: 0x0402, ep: 0x02, frame control: 0x08, mfcode: 0x0000
๊ฒฐ์ ๋! ์ด๋ค ์ด์ ๋ก ์ค์์น๋ฅผ ์ถ๊ฐํ์ ๋ ๋์ผํ ์ค์์น ID๋ฅผ ๊ฐ์ง ์กฐ๋ช ๊ทธ๋ฃน์ด ์์ฑ๋์์ต๋๊น? ๋ผ์ดํธ ๊ทธ๋ฃน์ ์ญ์ ํ๊ณ ํตํฉ ๋ฐ ๋น๊ณ ๋ฅผ ๋ค์ ๋ก๋ํ๋๋ฐ ์๋ํ์ต๋๋ค.
์๋ค์ 86๋ฒ์งธ ๋ฒ์ , ์ด๋ค ์ด๋ฒคํธ๋ ์ ๋ฌผํ์ง โโ์๋๋ค :(
์๋
์๋ค์
๋๋ win10 PC๋ฅผ ์ฌ์ฉํ๋ ์๊ฐ์ phoscon ์ฑ์ผ๋ก ์์
ํ๋ ค๊ณ ์๋ํ๋ SNZB-01์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
deCONZ์ ๊ฒฝ์ฐ ์ ๋ฒ์ 86 ์ดํ๋ก ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ ๋ณด์
๋๋ค. Debugview์์ ์ด๋ฒคํธ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ธ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
[1248] 19:37:50:010 [์ ๋ณด] - ๋ฒํผ 1002 ์
[1248] 19:37:52:487 [์ ๋ณด] - ๋ฒํผ 1004 ๋๋ธ
[1248] 19:38:00:549 [INFO] - ๋ฒํผ 1003 ๋กฑ
Phoscon์์ ์ค์์น๊ฐ ๊ฐ์ง๋์์ง๋ง ๊ทธ๋ฃน์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ค์์น๊ฐ deCONZ์ ๋ํด์๋ง ์์ ํ ์ง์๋๊ณ Phoscon์ ๋ํด์๋ ์ง์๋์ง ์๋์ง ์๋ ์ฌ๋์ด ์์ต๋๊น?
์ง๋ฌธ์ ๋ํ Phoscon ๋ฒ ํ ์ ์ฅ์๋ฅผ ํ์ธํ์ญ์์ค. Phoscon์ ๋ ๋ค๋ฅธ REST API ํด๋ผ์ด์ธํธ์ด๋ฉฐ ์ค์์น ์์ฒด๊ฐ ์์ ํ ์ง์๋ฉ๋๋ค.
์ด ์ฅ์น๋ ๊ทธ๋ฃน ๊ธฐ๋ฅ์ด ์์ต๋๋ค. phoscon์์ ๊ทธ๋ฃน์ ๋ง๋ค ์ ์์ต๋๊น?
๋๋ ์์ง ๊ทธ๊ฒ์ ๋ํด ํ์คํ ๋ด๊ธฐ๋ฅผ ๊ฑธ์ง ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ๋ฐ ๊ธฐ๊ธฐ๊ฐ ์์ด์ ํ์ธํ ์๊ฐ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ์ค์์น์ ๋งค์ฐ ๊ด์ฌ์ด ์์ต๋๋ค.