๋๋ ์น ์ฑ์์ ์๋ํ๋ ์จ๋ ๋ฐ ์ต๋ ์ผ์๋ฅผ ์กฐ์กํ๊ฒ ์ป์ ์ ์์์ต๋๋ค.
์ง๋ฌธ, Bootstrap 3๋ก ์ด๋ํ ์์ ์
๋๊น? (์์ด์ฝ์๋ ์จ๋ ์์ด์ฝ์ด ์๊ณ ๊ธ๋ฆฌํ ์์ด์ฝ์ด ์๋ชป๋ ํด๋์ ์์ต๋๋ค. /img/๊ฐ ์๋ /bootstrap/img/์ ์์ด์ผ ํฉ๋๋ค.
์ด๊ฒ์ ์ฅ์น ํ์ด์ง์ ์จ๋/์ต๋ ์ผ์๋ฅผ ํ์ํ๊ธฐ ์ํด ์ํํ ์์ ์ ๋๋ค. (devices.js๋ก ๋ณ๊ฒฝ)
463ํธ์ ์ฃผ๋ณ:
// sensor already exists. Add endpoint.
for (d in devices) {
if (devices[d].uniqueid.indexOf(uid[0]) === 0) {
devices[d].ep = devices[d].ep + "," + device.id + "-" + uid[1];
if (device.state.humidity) devices[d].state['humidity'] = device.state.humidity;
if (device.state.temperature) devices[d].state['temperature'] = device.state.humidity;
break;
}
}
์ด๊ฒ์ xiaomi ์ผ์๊ฐ 2๊ฐ์ ์ฅ์น๋ก ํ์๋์ง๋ง ์ฝ๋๊ฐ ์ฒซ ๋ฒ์งธ ์ผ์๋ง ๊ฐ์งํ๊ธฐ ๋๋ฌธ์ ํ์ํ์ต๋๋ค. ์ด๊ฒ์ ์ฅ์น์ ๋ ๋ฒ์งธ ์ผ์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด๋ฆ์ ์ฒซ ๋ฒ์งธ ์ผ์๋ง ํ์ํ์ง๋ง ์ต์ํ ์ด๋ ์ด์ ์ถ๊ฐํฉ๋๋ค.
510ํธ์ ์ฃผ๋ณ:
} else if (device.type === "ZHATemperature" || device.type === "ZHAHumidity") {
// Temperature/Humidity Sensor
deviceIcon = "<span class=\"icon-home icon-white\">";
rowtxt += '<tr class="light_item" style=""><td style="width:12%">' + deviceIcon + '</td><td style="width:10px;"></td>';
rowtxt += '<td>' + device.name;
if (device.state.temperature) rowtxt += ' Temp: '+ (parseInt(device.state.temperature/100) * 9 / 5 +32).toFixed(2).toString() + "°F";
if (device.state.humidity) rowtxt += ' Humidity: '+ (parseInt(device.state.humidity/100)).toFixed(2).toString()+"%";
rowtxt += '</td>';
rowtxt += "<tr><td colspan=\"4\"> </td></tr>";
}
์ด๊ฒ์ ์ฅ์น ํ์ด์ง์ ์ถ๊ฐํ๊ณ ์ญ์จ์์ ํ์จ๋ก, ์ต๋๋ฅผ ๋ฐฑ๋ถ์จ๋ก ๋ณํํฉ๋๋ค.
๋๋ git๊ณผ "์๋"๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ถํ์ง๋ง ์์ ํ ๊นจ๋จ๋ฆฌ์ง ์๊ณ ๋ GIT๋ฅผ ํ์ ํ ์ ์์ต๋๋ค. devices.js ํ์ผ๋ ์ฒจ๋ถํ์ต๋๋ค.
์ง๋ฌธ, Bootstrap 3๋ก ์ด๋ํ ์์ ์ ๋๊น? (์์ด์ฝ์๋ ์จ๋ ์์ด์ฝ์ด ์๊ณ ๊ธ๋ฆฌํ ์์ด์ฝ์ด ์๋ชป๋ ํด๋์ ์์ต๋๋ค. /img/๊ฐ ์๋ /bootstrap/img/์ ์์ด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ :) ์๋ก์ด ๋ฒ์ ์ ์ฑ์ด ๋ฉฐ์น ์์ ๋น๊ณต๊ฐ ๋ฒ ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ก ์ ๊ณต๋ ๊ฒ์ ๋๋ค. Bootstrap์ Glyphicons๋ฅผ ์์ฃผ ๋๋ฌผ๊ฒ ์ฌ์ฉํ์ง๋ง ๋์ SVG์ ๊ฐ์ ์๋ก์ด ์ ์ฉ ์์ด์ฝ์ด ์์ต๋๋ค.
๋ค์์ Philips Hue Motion Sensor ์ ๊ฒฐํฉ๋ ์ผ์ ๋ณด๊ธฐ ํ๋ฉด์ ๋๋ค. Xiaomi ์ผ์์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ์ผ์ ๋ณด๊ธฐ๋ ์น ์์ผ์ ์ด๋ฒคํธ๋ก ์ธํด ์ค์๊ฐ์ผ๋ก ์๋ก ๊ณ ์ณ์ง๋๋ค.
์๋ฒฝํ!
2017๋
7์ 28์ผ ๊ธ์์ผ ์ค์ 2์ 18๋ถ, Manuel Pietschmann <
[email protected]>์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์ง๋ฌธ, Bootstrap 3๋ก ์ด๋ํ ์์ ์ ๋๊น? (์์ด์ฝ์๋
์จ๋ ์์ด์ฝ๊ณผ ๊ธ๋ฆฌํ ์์ด์ฝ์ด ์๋ชป๋ ํด๋์ ์์ผ๋ฉด
/img/๊ฐ ์๋ /bootstrap/img/์ ์์ด์ผ ํฉ๋๋ค.์ฐ๋ฆฌ๋ :) ์ฑ์ ์ ๋ฒ์ ์ ๋น๊ณต๊ฐ ๋ฒ ํ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฉฐ์น ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ. Bootstrap์ Glyphicons๋ฅผ ์์ฃผ ๋๋ฌผ๊ฒ ์ฌ์ฉํฉ๋๋ค.
๋์ SVG์ ๊ฐ์ ์๋ก์ด ์ ์ฉ ์์ด์ฝ์ด ์์ต๋๋ค.๋ค์์ ํ๋ฆฝ์ค ์์กฐ ๋ชจ์ ์ผ์ ์ ํตํฉ ์ผ์ ๋ณด๊ธฐ ํ๋ฉด์ ๋๋ค.
Xiaomi ์ผ์์ ๋งค์ฐ ์ ์ฌํด ๋ณด์ ๋๋ค. ์ผ์ ๋ณด๊ธฐ๊ฐ ์๋ก ๊ณ ์ณ์ง๋๋ค.
์น ์์ผ์ ์ด๋ฒคํธ๋ก ์ธํ ์ค์๊ฐ.[์ด๋ฏธ์ง: ph_motion_sensor]
https://user-images.githubusercontent.com/383386/28704646-0ca80ffa-736c-11e7-80bd-4d2d2e2f7c3f.pngโ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/62#issuecomment-318570272 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AFl6AJukNXi3jotP_qzMXapjAhFaKu7eks5sSX0zgaJpZM4Ol_0q
.
์ถ์ ๊ธฐ๋ฅผ ์ ๋ฆฌํ๊ณ ์ต์ ๋ฌธ์ ๋ฅผ ๋ณต์ ํ๊ธฐ ์ํด ๊ฐ์ฅ ์ค๋๋ ๋ฌธ์ ๋ฅผ ๋ซ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฐ๋ฆฌ๋ :) ์๋ก์ด ๋ฒ์ ์ ์ฑ์ด ๋ฉฐ์น ์์ ๋น๊ณต๊ฐ ๋ฒ ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ก ์ ๊ณต๋ ๊ฒ์ ๋๋ค. Bootstrap์ Glyphicons๋ฅผ ์์ฃผ ๋๋ฌผ๊ฒ ์ฌ์ฉํ์ง๋ง ๋์ SVG์ ๊ฐ์ ์๋ก์ด ์ ์ฉ ์์ด์ฝ์ด ์์ต๋๋ค.
๋ค์์ Philips Hue Motion Sensor ์ ๊ฒฐํฉ๋ ์ผ์ ๋ณด๊ธฐ ํ๋ฉด์ ๋๋ค. Xiaomi ์ผ์์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ์ผ์ ๋ณด๊ธฐ๋ ์น ์์ผ์ ์ด๋ฒคํธ๋ก ์ธํด ์ค์๊ฐ์ผ๋ก ์๋ก ๊ณ ์ณ์ง๋๋ค.