Home Assistant์ฉ ํ์ตํ ๋ฐ๋ฅ๋๋ฐฉ Climate ์ปค์คํ ํตํฉ์ ๋๋ค. HEAT/AUTO ์ด์ , ์ฌ์คยท์ธ์ถ ํ๋ฆฌ์ , ๊ธฐ๋ณธ ํ์คํ ๋ฆฌ์์ค ์ ์ด, ์ด ๋ฐ์ ๊ด์ธก๊ณผ ํ์ต ๊ธฐ๋ฐ ์์ธก ON/OFF๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋จ๋ ๋ฐ ๋ฐฉ๋ณ Climate, ์ฌ๋ฌ ๋ฐฉ์ ํ๋๋ก ์ ์ดํ๋ ํตํฉ Climate๋ฅผ ์ง์ํฉ๋๋ค.
- ํ์ฌ ์์
๋ธ๋์น:
dev - ํตํฉ ๋๋ฉ์ธ:
adaptive_floor_heating - ํตํฉ manifest ๋ฒ์ :
0.1.0 - ์ค์น ๊ฒฝ๋ก:
custom_components/adaptive_floor_heating/ - ์ค์ ๋ฐฉ์: ๊ฐ๋ณ ์ ์ด ๋๋ ๋ฉํฐ๋ฃธ(ํตํฉ) ์ ํ
- ๊ฐ๋ณ ์ ์ด: ํํฐ ์ค์์น 1๊ฐ + ํด๋น ๊ณต๊ฐ ์ค๋ด ์จ๋ ์ผ์ 1๊ฐ. ๋ฐฉ๋ณ ์ ์ด๋ ์ด ์ค์ ์ ๋ฐฉ๋ง๋ค ์ถ๊ฐ
- ๋ฉํฐ๋ฃธ(ํตํฉ): ๋ฐฉ ์(2~32), ๊ณต์ฉ ์ค๋ด ์จ๋ ์ผ์ 1๊ฐ, ๋ฐฉ๋ณ ํํฐ ์ค์์น ์ ํ
- ๊ฐ์ ์ค์์น์ ๋ฐฉ ๊ฐยทํตํฉ ๊ฐ ์ค๋ณต ๋ฑ๋ก ๋ฐฉ์ง(์งํ ์ค์ธ ์ค์ ํฌํจ)
ํตํฉ์ ๋ก๋ํ๋ฉด Home Assistant ์ฌ์ด๋๋ฐ์ ๋ฐ๋ฅ๋๋ฐฉ ๋ฉ๋ด๊ฐ ์๋ ๋ฑ๋ก๋ฉ๋๋ค. HA ๋ด๋ถ ์น ์๋ฒ์์ ํ๋ฉด์ ์ ๊ณตํ๋ฉฐ ๋ณ๋ ์๋ฒ ์ค์น๋ YAML ์ค์ ์ ํ์ํ์ง ์์ต๋๋ค. ์๋จ์๋ ๋์๋ณด๋ยท์ด์ ์ ์ดยทํ์ต ๋ถ์ยท์ด์ ๊ธฐ๋ก ๋ฉ๋ด๊ฐ ์๊ณ , ๋์๋ณด๋๋ ์ด์ ์ค์ฌ ๋ ์ด์์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋ฐฉ/ํตํฉ์ ์ ํํ๋ฉด ํ์ฌยท๋ชฉํ ์จ๋, OFF/HEAT/AUTO, ์ฌ์ค/์ธ์ถ, ํ์ต ๋ชจ๋ธ, ํํฐ ํ์ธ ์ํ, ON/OFF ๋ช ๋ น ํ์ธ ๋๊ธฐ, ์ ์ด ์ํ์ ์ค๋ฅ๋ฅผ ํ์ํฉ๋๋ค. HA ์ํฐํฐ ๋ ์ง์คํธ๋ฆฌ์์ ์ด ํตํฉ์ ํ์ฑยทํ์ ๊ฐ๋ฅํ Climate๋ฅผ ์๋ณํ๊ณ , HA๊ฐ ์ ๋ฌํ๋ ์ํ ๋ณ๊ฒฝ์ ํ๋ฉด์ ๋ฐ์ํฉ๋๋ค. ์ด๋ฆ๊ณผ ์ํฐํฐ ID๊ฐ ๋ฐ๋์ด๋ ๊ณ ์ ID๋ก ์ ํ ํญ๋ชฉ์ ์ ์งํฉ๋๋ค. ์จ๋ ๋จ์๋ HA ์ค์ ์ ๋ฐ๋ฅด๋ฉฐ ์ฐ๊ฒฐ ๋๊นยทunavailableยท์ ํจํ์ง ์์ ์จ๋๋ ์ค์ ์จ๋๋ก ํ์ํ์ง ์์ต๋๋ค.
๋์๋ณด๋์ ์ด์ ์ ์ด ํญ์๋ HA Climate ์์ธ ๋ณด๊ธฐ ์คํ์ผ์ ์จ๋ ์ํฌ์ ์ํ ํธ๋ค์ด ์์ต๋๋ค. ์ํฌ๋ฅผ ๋๋ฅด๊ฑฐ๋ ๋๋๊ทธํ ๋ค ๋์ผ๋ฉด ๋ชฉํ์จ๋๋ฅผ ํ ๋ฒ ์ ์ฉํฉ๋๋ค. ์กฐ์ ์ทจ์๋ ์ด์์ ๋ณต๊ตฌํ๋ฉฐ, ๋ฐฉยท์ฐ๊ฒฐยท๋จ์ ๋ณ๊ฒฝ์ด๋ ์ฌ์ฉ ๋ถ๊ฐ ์ํ์์๋ ์ด์ ์กฐ์์ ์ ์กํ์ง ์์ต๋๋ค. ๋ชฉํ์จ๋๋ ์ฝ๊ธฐ ์ ์ฉ ์ซ์๋ก ํ์ํ๋ฉฐ +/โ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์ฆ์ ์ ์ฉํฉ๋๋ค. ์ ๋ ฅ์ฐฝ๊ณผ ์ ์ฉ ๋ฒํผ์ ์ ๊ณตํ์ง ์์ต๋๋ค. OFF/HEAT/AUTO ๋ฐ ์ฌ์ค/์ธ์ถ ๋ฒํผ์ ์ ํํ Climate์ ๊ธฐ์กด HA ์๋น์ค๋ฅผ ํธ์ถํฉ๋๋ค. ์ ๋ ฅ ๋ฒ์ยท๋จ์ยท์ฆ๋ถ์ ํด๋น Climate ์์ฑ๊ณผ HA ์ค์ ์ ๋ฐ๋ฅด๋ฉฐ, ์์ฒญ ์ฒ๋ฆฌ ์ค์๋ ์ค๋ณต ์์ฒญ๊ณผ ๋ฐฉ ์ ํ์ ์ ๊ธ๋๋ค. ์ฌ์ฉํ ์ ์๋ ํญ๋ชฉ์ ์ ์ดํ ์ ์์ต๋๋ค. ์๋น์ค ์ฑ๊ณต์ ์ค์ ํํฐ ์ ํ์ ์๋ฏธํ์ง ์์ผ๋ฉฐ, ํ์๊ฐ๊ณผ ์ ํ ์ํ๋ HA ๋ณด๊ณ ๊ฐ์ ์ ์งํฉ๋๋ค. ์คํจ๋ 15์ด ์๋ต ํ์ธ ์๊ฐ ์ด๊ณผ ์ ์๋ดํ๋ฉฐ ์๋ ์ฌ์ ์กํ์ง ์์ต๋๋ค. ํ์ตยท์์ธก ์ค์ ์ ์นด๋ ํ๋จ์์ ํผ์น๊ฑฐ๋ ์ ์ ์ ์์ต๋๋ค.
๋ ํญ์ AUTO ํ์ต ๋ชจ๋ธ๊ณผ ์์ธก ์ด์ ์ ํ์ ๊ฐ์ ์ค์ ํญ๋ชฉ์ ๊ธฐ์กด Select ์ํฐํฐ์ select.select_option์ ํธ์ถํฉ๋๋ค. ์ค์ ํญ๋ชฉ IDยทํตํฉ ์์ ๊ถยท๊ณ ์ ID๋ก ๋์์ ์ฐพ์ผ๋ฏ๋ก ์ํฐํฐ ID ๋ณ๊ฒฝ์๋ ๋์ํฉ๋๋ค. ๊ธฐ๋ณธ ํ์ต/5๋ถ ์ปค๋ธ ๋ฐ eco/balanced/comfort ์ค ํด๋น ์ํฐํฐ๊ฐ ์ง์ํ๋ ๊ฐ๋ง ์ ํํ ์ ์์ต๋๋ค. ๋๋ฝยท์จ๊นยท๋นํ์ฑยท์ฌ์ฉ ๋ถ๊ฐ ์ํฐํฐ๋ ์ ํํ ์ ์์ผ๋ฉฐ ์ฑ๊ณต ์ดํ์๋ HA๊ฐ ๋ณด๊ณ ํ ์ ํ๊ฐ์ ์ ์งํฉ๋๋ค. ์ ํ์ AUTO์ ์ ์ฉ๋๊ณ ๊ธฐ์กด ๋ชจ๋ธ์ ํ์ตยท๋ณต์ยท๋์ฒด ๋์์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ๋ชจ๋ธ์ด๋ ์์ธก ์ด์ ๋ณ๊ฒฝ์ผ๋ก ์์ฑ ์ค์ธ ๋ชฉํ์จ๋ ์
๋ ฅ์ ์ง์ฐ์ง ์์ต๋๋ค.
๋์๋ณด๋์ ์ด์ ๊ธฐ๋ก ํญ์์ ์ต๊ทผ 6์๊ฐยท24์๊ฐ์ ์ค๋ด ์จ๋, ๋ชฉํ์จ๋์ ํํฐ ON ํ์ธ ๊ตฌ๊ฐ์ ํ์ํฉ๋๋ค. HA HistoryยทRecorder์ ํด๋น Climate์ ์ํยท์์ฑ์ด ๊ธฐ๋ก๋์ด ์์ด์ผ ํฉ๋๋ค. ํ์ฑ ๊ทธ๋ํ ํ๋ฉด์ 60์ด๋ง๋ค ์กฐํํ๊ณ ์๋ก๊ณ ์นจ ๋ฒํผ๋ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ํ๋ฅผ ๊ฐ๋ฆฌํค๊ฑฐ๋ ํฐ์นํ๋ฉด ํด๋น ์๊ฐ์ ๊ฐ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ง์ง๋ง ๊ธฐ๋ก๊ฐ์ ๋ค์ ๋ณด๊ณ ๊น์ง ์ ์งํด ํ์ํ๋ฉฐ unknown/unavailable ๊ตฌ๊ฐ์ ์จ๋ ์ ์ ๋์ต๋๋ค. ํํฐ ํ์ธ ์ํ๋ ์ค์ ์ด๊ณต๊ธ ์ธก์ ๊ฐ์ด ์๋๋๋ค. ํ์ ์๊ฐ๋์ ๋จ์๋ HA ์ค์ ์ ๋ฐ๋ฅด๋ฉฐ ๊ณผ๊ฑฐ ๊ธฐ๋ก ์ค ์จ๋ ๋จ์๋ฅผ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ ์ ์ฅ๋ Climate ๊ฐ์ ๋จ์๋ฅผ ๋ฐ๋ก ๋ณต๊ตฌํ์ง ์์ต๋๋ค. ์ํฐํฐ ID ๋ณ๊ฒฝ ์ด์ ์ ๋ค๋ฅธ ID์ ์ ์ฅ๋ ๊ธฐ๋ก์ ์ด๋ฒ ์กฐํ์ ํฌํจํ์ง ์์ต๋๋ค.
์ต๊ทผ ์๋ฃ ์ฌ์ดํด์๋ ์ค์ ์ต๊ณ ์จ๋, ๋๋ฐฉ OFFยท์ค์ ์ต๊ณ ์ ยท๊ด์ธก ์๋ฃ ์๊ฐ, ๊ธฐ์กด/5๋ถ ์ปค๋ธ ๋ชจ๋ธ์ ์์ธก ์ต๊ณ ์จ๋์ ์ค์ฐจ๋ฅผ ํ์ํฉ๋๋ค. ์ค์ฐจ๋ ์์ธก โ ์ค์ ์ด๋ฉฐ, ์์ธก์ด ์์๋ ๋ชจ๋ธ์ โ๋ก ํ์ํฉ๋๋ค. ์๋ฃ ๊ฒฐ๊ณผ ์์ฒด์ ์ ์ฅ๋ ์์ธกยท์ค์ฐจ๋ง ์ฌ์ฉํ๊ณ , ์ ๋ขฐ๋๋ ์ต๊ทผ OFF ๊ธฐ๋ก๊ณผ ์๋ฃ ๊ฒฐ๊ณผ์ OFF ์๊ฐ์ด ๊ฐ์ ๋๋ง ํ์ํฉ๋๋ค. ์ OFF ๊ธฐ๋ก๊ณผ ์ด์ ์๋ฃ ๊ฒฐ๊ณผ๋ฅผ ์์ง ์์ต๋๋ค. ์๊ฐ ์ ๋ณด๊ฐ ์๋ ๊ตฌํ ์๋ฃ ๊ฒฐ๊ณผ๋ ์จ๋ ๋น๊ต๋ ํ์ํ๋ฉฐ, ํญ๋ชฉ์ด unavailable์ด๋ฉด ๊ณผ๊ฑฐ ์๋ฃ ๊ฒฐ๊ณผ๋ผ๋ ์๋ด๋ฅผ ๋ถ์
๋๋ค. ๋ด๋ถ ์ง๋จ ์จ๋๋ ์ญ์จ์ด๋ฏ๋ก ํ์จ ์ค์ ์์๋ ์ ๋์จ๋์ ์ค์ฐจ๋ฅผ ๊ฐ๊ฐ ๋ณํํฉ๋๋ค.
๋์๋ณด๋์ ํ์ต ๋ถ์ ํญ์์ ColdยทWarmยทPredictive WarmยทCooling ์ข ๋ฅ๋ฅผ ์ ํํด CurrentยทLong-term ์ปค๋ธ๋ฅผ ๋น๊ตํ ์ ์์ต๋๋ค. ๊ทธ๋ํ๋ ๋์ ์จ๋๋ OFF ์๋ต ์์ธก ๊ถค์ ์ด ์๋๋ผ ๊ฐ 5๋ถ ๊ตฌ๊ฐ์ ํ์ต๋ ์จ๋ ๋ณํ๋์ ๋๋ค. Heating ์ข ๋ฅ๋ ๋๋ฐฉ ON ์์ ๋ถํฐ, Cooling์ ์ต๊ณ ์ ๋ถํฐ ๊ฒฝ๊ณผ์๊ฐ์ ํ์ํฉ๋๋ค. 0 ๋ณํ๋๋ ๋ณด์กดํ๊ณ ๋๋ฝ ๋ฒํท์ ์ฐ๊ฒฐํ์ง ์์ต๋๋ค. ์น์ธ/์ ์ธ ์ฌ์ดํด ์, ๋ ๊ณ์ธต์ ์ ๋ขฐ๋, ํฌ์ธํฐยทํฐ์น ์ ๋ฒํท๋ณ ์ฆ๊ฑฐ ์์ ์น๊ฒฉ ํ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. Long-term ์ฆ๊ฑฐ ์๋ ์น๊ฒฉ๋ Current์ ์ฆ๊ฑฐ๋ฅผ ์ด์ด๋ฐ์ผ๋ฉฐ ์น๊ฒฉ ํ์๊ฐ ๋ ๋ฆฝ ์ฌ์ดํด ์๋ ์๋๋๋ค.
์ปค๋ธ๋ HA ๋ก๊ทธ์ธ ์ธ์ ์ ์ฝ๊ธฐ ๊ถํ์ ๊ฒ์ฌํ๋ ์ ์ฉ WebSocket API๋ก ๋ฉ๋ชจ๋ฆฌ์ ํ์ต ์ ์ฅ ๊ฒฐ๊ณผ๋ฅผ ์กฐํํฉ๋๋ค. ์กฐํ๋ ๋ชจ๋ธ ํ์ตยท์์ธกยทํํฐ ์ ์ด๋ SQLite ์ฐ๊ธฐ๋ฅผ ์ํํ์ง ์์ต๋๋ค. 60์ด ๊ฐฑ์ ๊ณผ ์๋ก๊ณ ์นจ์ ์ง์ํ๋ฉฐ, ์ ์ฅ์ ์ฌ์ฉ ๋ถ๊ฐยทํ์ต ๋ฒํท ์์ยท์กฐํ ์คํจ๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ํ์จ ์ค์ ์์๋ ์จ๋์ฐจ์ ๋ฐฐ์จ๋ง ์ ์ฉํฉ๋๋ค.
ํ์ต ๋ถ์ ํญ์ ์ฌ์ดํด ์ค์ฌ ํ๋ฉด์ ๋๋ค. ์๋จ์์ 4์ข ์ปค๋ธ์ ๋์ ์น์ธ/์ ์ธ์ CurrentยทLong-term ์ ๋ขฐ๋๋ฅผ ํ์ธํ๊ณ , ์ข ๋ฅยท์น์ธ/์ ์ธ ํํฐ๋ก ์ต๊ทผ 30๊ฑด ๋๋ 100๊ฑด์ ์กฐํํฉ๋๋ค. ๊ด์ธก ์ข ๋ฃ ์ต์ ์ ๋ชฉ๋ก์์ ๊ธฐ๋ก์ ์ ํํ๋ฉด ONยทOFFยท์ค์ ์ต๊ณ ์ ยท๊ด์ธก ์ข ๋ฃ ์๊ฐ, ์์/์ ์ง/์ข ๋ฃ ์ฌ์ ์ ์ต์ข ํ์ง ํ์ ์ ํ์ํฉ๋๋ค. Heating๊ณผ Cooling์ ๊ฐ์ ์ด์ ์์๋ ๋ณ๋ ๊ธฐ๋ก์ด๋ฉฐ ์งํ ์ค์ธ ์ฌ์ดํด์ ์ข ๋ฃ ํ ํ์๋ฉ๋๋ค. ๋์๋ณด๋์ ์ต๊ทผ ์๋ฃ ์ฌ์ดํด ๋น๊ต๋ ์ด ์ ์ธ ๊ธฐ๋ก ๋ชฉ๋ก๊ณผ ๋ณ๋์ ๋๋ค.
์๋ก ์ ์ฅ๋๋ ๊ธฐ๋ก์๋ ์์/OFF/์ต๊ณ ์จ๋, OFF ์ ๋ณํ์จ, ๋๋ฐฉ ์ง์์๊ฐ, ์ต๊ณ ์ ์ง์ฐ, ์์ด ์์น๋๊ณผ ๋ฒํท ์๋ฅผ ๋ณด์กดํฉ๋๋ค. ํ์ง ๊ฒ์ฌ ํ๋ ์ค์ ์ธก์ ๊ฐ๊ณผ ๋น์ ํ์ฉ ๊ธฐ์ค์ ํจ๊ป ๋ณด์ฌ์ฃผ๋ฉฐ, ์น์ธ๋ ๊ธฐ๋ก์ Current ๋ฒํท ๋ฐ์ ์ ํยท์ฆ๊ฑฐ ์ยท์ ์ฅ ์์ ์ ์ ๋ขฐ๋ ๋ณํยทLong-term ์น๊ฒฉ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์๋ณธ 5๋ถ ๋ฒํท์ ๊ทธ๋ํ์ ํผ์นจ ํ๋ก ํ์ํ๊ณ ๊ธฐ์กด ํ์ต ์ปค๋ธ ๋น๊ต๋ ํ๋จ์ ๋ฐฐ์นํฉ๋๋ค. ์ ๋ขฐ๋์ ์น์ธ/์ ์ธ ํ์ง ํ์ ์ ๋ณ๊ฐ์ ๋๋ค. ์ต๊ณ ์ ํ์ ์กฐ๊ฑด์๋ ๋น์ ์ฒซ ํ๋ฝยท๋ค์ ๋ณด๊ณ ์ ์ถ๊ฐ ํ๋ฝ ๊ธฐ์ค๊ณผ ํ์ธ๊ฐ, ๊ด์ธก ์ํ์ ํ์ํ๋ฉฐ ๊ณผ๊ฑฐ ๊ธฐ๋ก์ ์ ๊ธฐ์ค์ ๋ฎ์ด์ฐ์ง ์์ต๋๋ค.
SQLite ์ปค๋ธ ์ ์ฅ์๋ schema 5๋ก ์๋ ์ด์ ํ๋ฉฐ ๊ธฐ์กด ์น์ธยท์ ์ธ ์ฌ์ ๋ฅผ ๋ณด์กดํฉ๋๋ค. ๊ณผ๊ฑฐ ๊ธฐ๋ก์ ๋๋ฝ๋ ์ธก์ ๊ฐยทํ์ ๊ธฐ์คยทํ์ต ๋ฐ์ ์ ํ๋ ์ถ์ ํ์ง ์๊ณ ๊ธฐ๋ก ์์์ผ๋ก ํ์ํฉ๋๋ค. ์๋ณธ ๋ฒํท์ 7์ผ ๋ค ์ ๋ฆฌ๋์ง๋ง ์ฌ์ดํด metadata์ ์ ๋ถ์ ์ ๋ณด๋ ์ ์ง๋ฉ๋๋ค. ํ์ธ๋ ๋ณด์กด๊ธฐ๊ฐ ๋ง๋ฃ์ ๊ตฌํ ๊ธฐ๋ก์ ์๋ณธ ์์์ ๊ตฌ๋ถํฉ๋๋ค. adaptive_floor_heating/curve_cycles๋ ์ํฐํฐ ์ฝ๊ธฐ ๊ถํ์ ๊ฒ์ฌํ๊ณ ์ฝ๊ธฐ ์ ์ฉ SQLite ์กฐํ๋ง ์ํํ๋ฉฐ, ํ๋ฉด์ 60์ด ๊ฐฑ์ ยท์๋ก๊ณ ์นจยท๋ฐฉ/ํํฐ ๋ณ๊ฒฝ ์ ๋ฆ์ ์๋ต ๋ฌด์๋ฅผ ์ง์ํฉ๋๋ค. ์์ถ๋ HA ์ด๋ ฅ์์ ์๋ต๋ ์ํยท์์ฑ๋ ์ด์ ๊ฐ์ ์ ์งํด ํํฐ ON ํ์ธ ๊ตฌ๊ฐ์ ๋๋ฝ์ ๋ฐฉ์งํฉ๋๋ค.
ํจ๋์ HA์์ ํตํฉ์ด ๋ก๋๋ ๋์ ์ ์ง๋๋ฉฐ, ๋ง์ง๋ง ์ค์ ํญ๋ชฉ์ ์ญ์ ํด๋ ์ฌ์์ ์ ๊น์ง ํ์๋ ์ ์์ต๋๋ค. Windows์์ 203๊ฐ Python ํ ์คํธ์ ๋ค ๊ฐ Edge ๊ฒ์ฆ ํ๋ก๊ทธ๋จ์ผ๋ก ์ํยท์ ์ดยท์ด๋ ฅยท์๋ฃ ์ฌ์ดํดยทํ์ต ์ปค๋ธ๋ฅผ ๊ฒ์ฌํ์ต๋๋ค. ์ปค๋ธ ๊ฒ์ฆ์๋ ์ฝ๊ธฐ ๊ถํยท์์ ํตํฉ ํ์ธ, ์กฐํ ๋น๋ณ๊ฒฝ์ฑ, 4์ข ์ปค๋ธยท0/๋๋ฝ ๋ฒํทยทLong-term๋ง ์๋ ๊ฒฝ์ฐ, ๊ณ์ธต๋ณ ์ ๋ขฐ๋, ์จ๋์ฐจ ๋จ์ ๋ณํ, ๋ฐฉ ๋ณ๊ฒฝ ์ ๋ฆ์ ์๋ต ๋ฌด์์ ๋ชจ๋ฐ์ผ ๋ฐฐ์น๋ฅผ ํฌํจํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฒ์ฆ์ HA ์ธํฐํ์ด์ค ๋์ญ์ ์ฌ์ฉํ๋ฉฐ ์ค์ HA APIยทRecorderยท์ฌ์ด๋๋ฐยท๋๋ฐฉ ์ ์ด ๊ฒ์ฆ์ ๋จ์ ์์ต๋๋ค.
์์ธก๊ณผ ์ด์ ์นด๋์๋ ํด๋น ๋ฐฉ์ ์ง๋จ ์ผ์ ๊ฐ(์จ๋ ๋ณํ์จ, ํ์ต ๋ฐ์ยท์ต๊ณ ์ ์ง์ฐ, ์์ด ์์น๋, ๋ ๋ชจ๋ธ์ ์์ ์ต๊ณ ์จ๋, ์์ธก ์ ๋ขฐ๋)์ ํ์ํฉ๋๋ค. ์ผ์๊ฐ ๋นํ์ฑยท์จ๊นยท์ฌ์ฉ ๋ถ๊ฐ์ด๊ฑฐ๋ ํ์ต๊ฐ์ด ์์ผ๋ฉด โ์
๋๋ค. ์ผ์ ์์ฒด์ HA ๋ณด๊ณ ๋จ์๋ฅผ ์ฌ์ฉํ๋ฉฐ ํ์ฌ Climate ์จ๋ ๋จ์๋ก ์์ ๋ณํํ์ง ์์ต๋๋ค. ํ๋จ์ ์ง๋จ ์ผ์ ์ด๋ ฅ์ ์
๋ ํฐ๋ก ์ผ์๋ฅผ ์ ํํ๊ณ ์ต๊ทผ 6์๊ฐ/24์๊ฐ์ ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ์ ์ค์ ํญ๋ชฉ์ ํ์ฑ ์ซ์ํ ์ผ์ ์ค ์ ํ ๊ธฐ๊ฐ์ ์ ํจํ ์ซ์ ์ด๋ ฅ์ด ์๋ ์ผ์๋ง ๋ชฉ๋ก์ ํ์ํฉ๋๋ค. ๋ฌธ์ํ ์ํ ์ผ์์ ์ด๋ ฅ ์๋ ์ผ์๋ ์ ์ธํฉ๋๋ค. Recorder ๊ธฐ๋ก์ด ํ์ํ๋ฉฐ, ๋ณด๊ณ ๊ฐ์ ๋ค์ ๋ณด๊ณ ๊น์ง ์ ์งํ๊ณ unknown/unavailableยท๋จ์ ๋ณ๊ฒฝ ๊ตฌ๊ฐ์ ๋์ต๋๋ค. 60์ด ๊ฐฑ์ ยท์๋ก๊ณ ์นจยทํฌ์ธํฐ/ํฐ์น ๊ฐ ํ์ธ์ ์ง์ํฉ๋๋ค.
์จ๋์ ๋๋ฐฉ ์ด์ ๊ทธ๋ํ์๋ ์ค์ ํํฐ ON ํ์ธยท์ค์ ์์ธก ๋ชจ๋ธ์ ์ ํจ ํ์ต ์ฌ์ดํด 1๊ฐ ์ด์ยท์ ํจํ ์ต์ ์์ธก ๊ถค์ ์ด ๋ชจ๋ ์์ ๋ ์ง๊ธ OFF ์ ์์ด ์์ธก ์ ์ ์ ํ์ํฉ๋๋ค. ๋ชจ๋ธ์ด ๊ณ์ฐํ ์๊ฐ๋ณ ์๋ ์จ๋ ๊ถค์ ์ ์์ธก ์์ฑ ์๊ฐยท์ค๋ด ์จ๋์ ์ฐ๊ฒฐํ๋ฉฐ, ์์ ์ต๊ณ ์จ๋์ ์ ๋ขฐ๋๋ฅผ ํจ๊ป ํ์ํฉ๋๋ค. ์ด๋ ๋๋ฐฉ์ ๊ณ์ ์ผฐ์ ๋์ ์์ธก์ด ์๋๋๋ค. ๊ธฐ๋ณธ ๋ชจ๋ธ๊ณผ ์ปค๋ธ ๋์ฒด ๋ชจ๋ธ๋ ์ค์ ์ฌ์ฉํ ๋ชจ๋ธ ๊ธฐ์ค์ผ๋ก ํ์ํฉ๋๋ค. OFFยท์ฌ์ฉ ๋ถ๊ฐยท์์ธก ์์ยท์์ฑ ํ 15๋ถ ์ด๊ณผ ์ ์จ๊ธฐ๋ฉฐ, ์ต์ ON ์๊ฐ์ด๋ ํ์ต ํ์ง ์กฐ๊ฑด ๋๋ฌธ์ ์์ ์งํ์๋ ํ์๋์ง ์์ ์ ์์ต๋๋ค. ์ค์ธก ์ ์ ์กฐํ ์ข ๋ฃ ์๊ฐ๊น์ง๋ง ํ์ํ๊ณ ์ดํ ๊ตฌ๊ฐ์๋ ์์ธก๋ง ํ์ํฉ๋๋ค.
์น UI ๋ชจ๋ URL์๋ ํ์ผ ๋ด์ฉ ๊ธฐ๋ฐ ์บ์ ๋ฒ์ ์ด ์๋์ผ๋ก ๋ถ์ต๋๋ค. UI ํ์ผ ๊ฐฑ์ ํ HA๋ฅผ ์ฌ์์ํ๊ณ ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํ๋ฉด ๋ณ๊ฒฝ๋ URL๋ก ์ต์ ๋ชจ๋์ ๋ถ๋ฌ์ต๋๋ค. ํตํฉ์ ์ธ๋ถ ๋ฒ์ ๊ณผ ๋ณ๋๋ก ๊ด๋ฆฌ๋๋ฏ๋ก UI ๋ณ๊ฒฝ ๋ ์๋์ผ๋ก ์บ์ ๋ฒ์ ์ ์ฌ๋ฆด ํ์๊ฐ ์์ต๋๋ค.
์จ๋ยทํ์ต ์ปค๋ธยท์ง๋จ ์ผ์ ๊ทธ๋ํ๋ ์ฃผ๊ธฐ์ ์กฐํ ์ค ๊ธฐ์กด ๊ทธ๋ํ๋ฅผ ์ ์งํ๋ฉฐ ์๋ต ํ ๊ฐฑ์ ํฉ๋๋ค. ํ์ ๋ฐ์ดํฐ์ ๊ทธ๋ํ ํฌ๊ธฐ๊ฐ ๊ฐ์ผ๋ฉด ๊ธฐ์กด ๊ทธ๋ํ ์์๋ฅผ ์ฌ์ฌ์ฉํ์ฌ ๊ด๋ จ ์๋ HA ์ํ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ๊น๋นก์์ ์ค์ ๋๋ค. ๋ฐฉยท์กฐํ ๊ธฐ๊ฐ ๋ณ๊ฒฝ, ์ฐ๊ฒฐ ๋๊น๊ณผ ์กฐํ ์คํจ ์์๋ ๊ธฐ์กด ์ ๋ฆฌ ๋์์ ์ ์งํฉ๋๋ค.
Home Assistant์์ ํตํฉ ์ถ๊ฐ โ Adaptive Floor Heating Climate โ ์ ์ด ๋ฐฉ์์ ์ ํํฉ๋๋ค. ๊ฐ๋ณ ์ ์ด ํญ๋ชฉ์ ๋ฐฉ๋ง๋ค ์ถ๊ฐํ๋ฉด ๊ฐ ๋ฐฉ๋ง๋ค Climate์ ํ์ต ๋ฐ์ดํฐ๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ์์ฑ๋ฉ๋๋ค. ๋ฉํฐ๋ฃธ(ํตํฉ)์ ๋ฐฉ ์, ๊ณต์ฉ ์ค๋ด ์จ๋ ์ผ์, ๋ฐฉ๋ณ ์ค์์น๋ฅผ ๋จผ์ ์ ํํฉ๋๋ค. ์ดํ ๋ ๋ฐฉ์ ๋ชจ๋ ๋๋ฐฉ ์ค์ โ ์ฌ์ค/์ธ์ถ ํ๋ฆฌ์
์จ๋ โ ์ถ๊ฐ ์จ๋ ์ผ์ โ ์ค์ ํ์ธ ์์๋ก ์งํํ๊ณ , ๋ง์ง๋ง ํ์ธ์ ๋๋ ์ ๋ ์ ์ฅํฉ๋๋ค. ์ทจ์ํ ์ค์ ์ ์ ์ฅํ์ง ์์ต๋๋ค. ๊ธฐ์กด ํญ๋ชฉ์ ์ต์
ํธ์ง๋ ๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
Config Flow ์์ฒด๋ ์ฅ์น๋ฅผ ์ผ๊ฑฐ๋ ๋์ง ์์ต๋๋ค. ์ค์ ์ ์ ์ฅํ๋ฉด Climate, ์์ธก ์ด์ ์ ๋ ํฐ์ ์ง๋จ ์ผ์๊ฐ ์์ฑ๋๊ณ ๊ธฐ๋ณธ ์ด์ ๋ชจ๋๋ OFF์ ๋๋ค. ๋ฉํฐ๋ฃธ(ํตํฉ)์ ํ๋์ Climate์ ํ์ต ๋ชจ๋ธ๋ก ๋ชจ๋ ๋ฐฉ ์ค์์น๋ฅผ ํจ๊ป ์ ์ดํฉ๋๋ค. ์ค์์น๊ฐ ๋ชจ๋ ON ๋๋ ๋ชจ๋ OFF๋ก ํ์ธ๋์ด์ผ ๊ทธ๋ฃน ์ํ๋ฅผ ํ์ ํฉ๋๋ค. ํผํฉยท๋ถ๋ช ์ํ์์๋ ์์ ์ ๊ธ ํ ์ ์ฒด OFF๋ฅผ ์์ฒญํฉ๋๋ค.
๊ธฐ์กด์ ์ ์ฅํ ๊ตฌํ multi_zone ํญ๋ชฉ์ ์๋ ๋ณํํ์ง ์์ต๋๋ค. ๊ตฌํ ์ค์ ์๋ ๋ฐฉ๋ณ ์ผ์๊ฐ ๋ค์ด ์์ด ๊ณต์ฉ ์ผ์๋ฅผ ์์๋ก ์ ํํ ์ ์์ผ๋ฏ๋ก, ์ ๋ฉํฐ๋ฃธ(ํตํฉ) ์ค์ ์ ๋ง๋ค๊ณ ๊ธฐ์กด ํญ๋ชฉ์ ์ ๋ฆฌํ์ธ์.
๊ธฐ์กด ๋จ๋ ์ค์ ์ ์ญ์ ํ ํ์ ์์ด ํตํฉ ํ์ผ์ ๊ฐฑ์ ํ๊ณ Home Assistant๋ฅผ ์ฌ์์ํ๋ฉด Climate๊ฐ ์์ฑ๋ฉ๋๋ค. ์ค์ โ ๊ธฐ๊ธฐ ๋ฐ ์๋น์ค โ ํด๋น ํตํฉ์ ์ํฐํฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
๋จ๋
์จ๋์กฐ์ ๊ธฐ๋ ์๋น์คํ ๊ธฐ๊ธฐ๋ก ๋ฑ๋ก๋๋ฉฐ, Climate๋ ํด๋น ๊ธฐ๊ธฐ์ ์ฃผ ์ํฐํฐ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. ์ค์ โ ๊ธฐ๊ธฐ ๋ฐ ์๋น์ค โ ๊ธฐ๊ธฐ์์๋ ํ์ธํ ์ ์์ต๋๋ค. ๊ธฐ์กด Climate์ ๊ณ ์ ์๋ณ์๋ ์ ์งํฉ๋๋ค. ์ฐ๊ฒฐํ ํํฐ์ ์จ๋ ์ผ์๋ ์๋ ํตํฉ ์์์ ์ ์งํฉ๋๋ค. ๊ธฐ๊ธฐ ๋ฑ๋ก์ ๊ณต์ Device Registry ๋ฌธ์์ DeviceInfo ๋ฐฉ์์ ๋ฐ๋ฆ
๋๋ค.
์๋ก ์์ฑ๋๋ ์ํฐํฐ ID๋ ์ค์ ํญ๋ชฉ์ด ํ๋์ผ ๋ climate.adaptive_heating_climate, sensor.adaptive_heating_climate_temperature_slope์ฒ๋ผ ์งง๊ฒ ๊ตฌ์ฑ๋ฉ๋๋ค. ์ค์ ํญ๋ชฉ์ด ๋ ์ด์์ด๋ฉด ์ค์ ์์๋๋ก room_1, room_2๋ฅผ ๋ถ์ฌ climate.adaptive_heating_climate_room_1, sensor.adaptive_heating_climate_room_2_temperature_slope ํ์์ ์ฌ์ฉํฉ๋๋ค. ์
๋ ํฐ๋ ๊ฐ์ ๊ท์น์ ๋ฐ๋ฆ
๋๋ค. ์ค์ ์ ๋ชฉ์๋ ํํฐ ์ค์์น ์ํฐํฐ ID๋ฅผ ๋ฃ์ง ์์ต๋๋ค. ์๋ํ์์ ๊ธฐ์กด ์ํฐํฐ ID๋ฅผ ์ฐธ์กฐํ๋ค๋ฉด ๋ณ๊ฒฝ ํ ํ์ธํ์ธ์.
- Climate ์ด์ ๋ชจ๋๋ OFF, HEAT, AUTO์ ๋๋ค. HEAT๋ ๊ธฐ๋ณธ ํ์คํ ๋ฆฌ์์ค ์ ์ด, AUTO๋ ํ์ต ๊ธฐ๋ฐ ์์ธก ์ ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. OFF์์๋ ์๋ ์ ์ด๋ฅผ ํ์ง ์๊ณ ์ธ๋ถ ํํฐ ๋์์ ๊ด์ธกยทํ์ตํฉ๋๋ค.
- ๋ณ๋
์์ธก ์ด์ ๋ชจ๋์ ๋ ํฐ๋ AUTO์ ์์ธก ON ๊ฐ๋๋ฅผ ๊ณ ๋ฆ ๋๋ค. eco๋ ์์ธก ON์ ์ฌ์ฉํ์ง ์๊ณ , balanced๋ ํ์ต๋ ๋ฐ์ ์ง์ฐ์ ์ ๋ฐ๋ง ๋ฐ์ํ๋ฉฐ, comfort๋ ์ ์ฒด๋ฅผ ๋ฐ์ํฉ๋๋ค. ์ธ ๋จ๊ณ ๋ชจ๋ ๋๋ฐฉ ์ค ์์ด ๊ธฐ๋ฐ ์์ธก OFF๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ balanced์ด๋ฉฐ ์ ํ๊ฐ์ ์ฌ์์ ํ ๋ณต์ํฉ๋๋ค. ์ด๋ฏธ ์ ์ฅ๋ ์ ํ๊ฐ์ ์ ์งํฉ๋๋ค. HEAT/OFF ์ด์ ์๋ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. AUTO ํ์ต ๋ชจ๋ธ์ ๋ ํฐ๋ ๊ธฐ๋ณธ ํ์ต๊ณผ 5๋ถ ์ปค๋ธ ํ์ต ์ค AUTO๊ฐ ์ฌ์ฉํ ๋ชจ๋ธ์ ๊ณ ๋ฆ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ธฐ๋ณธ ํ์ต์ด๋ฉฐ ์ ํ๊ฐ์ ์ฌ์์ ํ ๋ณต์ํฉ๋๋ค. ์ปค๋ธ ํ๋ณธ์ด ๋ถ์กฑํ๊ฑฐ๋ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉด ๊ธฐ๋ณธ ํ์ต์ผ๋ก ๋์ฒดํฉ๋๋ค. ๋ชจ๋ธ ๋ณ๊ฒฝ์ ์งํ ์ค์ธ ๋๋ฐฉ์ ๊ฐ์ ๋ก ์ค๋จํ์ง ์์ต๋๋ค.- HOME/AWAY ํ๋ฆฌ์ ์ ๊ฐ๊ฐ ๊ธฐ๋ณธ 23ยฐC/18ยฐC์ด๋ฉฐ, ํตํฉ ์ต์ ์์ 18~30ยฐC ๋ฒ์๋ก ์กฐ์ ํ ์ ์์ต๋๋ค. ํ๋ฆฌ์ ์ ์ ํํ๋ฉด ๊ทธ ์จ๋๊ฐ ๋ชฉํ์จ๋์ ์ ์ฉ๋ฉ๋๋ค. ์ต์ ์์ ํ๋ฆฌ์ ์จ๋๋ฅผ ๋ฐ๊พธ๋ฉด ํด๋น ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉ ์ค์ธ ๋ชฉํ์จ๋๋ ์ฌ๋ก๋ ํ ๊ฐฑ์ ํ๋ฉฐ, Climate์์ ์ง์ ์กฐ์ ํ ๋ชฉํ์จ๋๋ ์ ์งํฉ๋๋ค.
- ์์ ํธ์ฐจ ๊ธฐ๋ณธ๊ฐ์ 0.5ยฐC์ ๋๋ค. HEAT๋ ๋ชฉํ์จ๋์ ๋๋ฌํ๋ฉด ์ ์งํ๊ณ , AUTO์ ๊ธฐ๋ณธ ์ ์ง ํธ์ฐจ๋ 0.5ยฐC์ ๋๋ค. ๋ชฉํ 23ยฐC๋ผ๋ฉด ๋ ๋ชจ๋ ๋ชจ๋ 22.5ยฐC ์ดํ์์ ์์ํ๋ฉฐ, HEAT๋ 23ยฐC, AUTO๋ 23.5ยฐC์์ ๊ธฐ๋ณธ ์ ์ง ๊ธฐ์ค์ ๋๋ฌํฉ๋๋ค. ํตํฉ ์ต์ ์์ ์์ ํธ์ฐจ์ ๋ ๋ชจ๋์ ์ ์ง ํธ์ฐจ๋ฅผ ๊ฐ๊ฐ ์กฐ์ ํ ์ ์์ต๋๋ค.
- ์ต์ ON์ 15๋ถ, ์ต์ OFF๋ 10๋ถ์ ๋๋ค. ์ฌ์ฉ์ OFF, ์ผ์ ์ค๋ฅ์ ๊ณผ์ด ์ ์ง๋ ์ต์ ON๋ณด๋ค ์ฐ์ ํฉ๋๋ค.
- ์ฌ์์ ์ ์ผ์์ ๊ธฐ์กด ์ ํจ ์จ๋๊ฐ ์์ผ๋ฉด ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ผ์๊ฐ์ด unknown/unavailable์ด๊ฑฐ๋ ์ ํจํ ์จ๋๊ฐ ์๋๋ฉด ์ ์ด๋ฅผ ๋ณด๋ฅํ๊ณ Climate๋ฅผ unavailable๋ก ํ์ํฉ๋๋ค. ํํฐ OFF ํ์ธ๊ณผ ์ต์ OFF ์๊ฐ์ ๋ณ๋๋ก ์งํต๋๋ค.
- ํตํฉ์ ๊ตฌ์ฑ/์ต์ ์์ ์จ๋ ํธ์ฐจ, ์ต์ ON/OFF ์๊ฐ, ํ์ต ๊ด์ธก ์จ๋ ๋ณด๊ณ ๊ฐ๊ฒฉ ํ๋(๊ธฐ๋ณธ 15๋ถ)๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ ์ฅ ์ ์์ ์ ์ง ํ ์ฌ๋ก๋ํฉ๋๋ค.
- ํ์ฌ ๋ชฉํ์จ๋, ์์ฒญ ๋ชจ๋, ์์ธก ์ด์ ์
๋ ํฐ ๊ฐ, ์ ํ ํ๋ฆฌ์
๊ณผ ์ค๋ฅ ์ ๊ธ์ ์ ์ฅํฉ๋๋ค. ์ฌ์์ ํ ํ์ฑ ๋ชจ๋๋ฅผ ๋ณต์ํด๋ ์ ์์ ์กฐ๊ฑด์ ๋ค์ ์ ์ฉํฉ๋๋ค. ์ด์
์๋ ์ ์ด์ค์์น ON๊ณผ HEAT ์กฐํฉ์ AUTO๋ก ์ด์ ํฉ๋๋ค.
์ ์ด ํ๊ฐ ์ HA์ ๋ฑ๋ก๋ ์ผ์์ ํ์ฌ ์ํ๋ฅผ ์ฝ์ต๋๋ค. ์ซ์ ์จ๋๊ฐ์ด ์ ํจํ๋ฉด ๋ง์ง๋ง ๋ณด๊ณ ์๊ฐ๊ณผ ๊ด๊ณ์์ด ์ฌ์ฉํ๋ฉฐ, unknown/unavailable ๋๋ ์ ํจํ์ง ์์ ๊ฐ์ผ ๋ ๋๋ฐฉ์ ์ ์งํฉ๋๋ค. ๋ณด๊ณ ๊ฐ๊ฒฉ ํ๋๋ ์ด ํ์ต ์ด๋ ฅ์ ์ฐ์์ฑ๋ง ํ๋จํ๋ฉฐ, ์ค๋ ๋ณด๊ณ ๋์ง ์์ ๊ฐ์ ์ ํ์ต ํ๋ณธ์ผ๋ก ๋ง๋ค์ง ์์ต๋๋ค. 35ยฐC ์ด์ ๊ณผ์ด, ํํฐ ํต์ ยท๋ช
๋ น ์ค๋ฅ ๋๋ ์ธ๋ถ ์ค์์น ์กฐ์์ ์ค๋ฅ ์ ๊ธ์ ์ ์งํ๋ฉฐ, ์์ธ ํด์ยทOFF ํ์ธยท์ต์ OFF ์๊ฐ ์ดํ HEAT ๋๋ AUTO๋ฅผ ๋ช
์์ ์ผ๋ก ์ ํํด ์ฌ๊ฐํฉ๋๋ค. ๊ณผ์ด ์ ๊ธ์ 34ยฐC ์ดํ์์ ํด์ ํ ์ ์์ต๋๋ค.
๊ธฐ๊ธฐ์๋ ์ง๋จ ๋ฒ์ฃผ์ ์ด ๊ด์ธกยทํ์ต ์ผ์๊ฐ ์ถ๊ฐ๋ฉ๋๋ค. ์ง์ฐ ์๊ฐ์ duration, ์์ด ์์น์ temperature delta device class๋ฅผ ์ฌ์ฉํ๊ณ , ๋์ ์ฌ์ดํดยท์ ์ธ ๊ฑด์๋ total-increasing ํต๊ณ๋ก ๊ธฐ๋กํฉ๋๋ค. ๊ฐ ์ผ์์๋ ์งํ ์๋ฏธ์ ๋ง๋ ์์ด์ฝ์ด ์ค์ ๋ฉ๋๋ค. ๋ณํ์จยท๊ฐ์ด๋ฅ ยท์ ๋ขฐ๋๋ ์๋ฏธ์ ๋ง๋ ํ์ค device class๊ฐ ์์ด ์ง์ ํ์ง ์์ต๋๋ค. ์จ๋ ๊ธฐ์ธ๊ธฐ๋ ์ต๋ 24์๊ฐ/4,096๊ฐ ๋ณด๊ณ ๋ฅผ ๋ณด๊ดํ๊ณ ๋ง์ง๋ง ๋ ๋ณด๊ณ ๊ฐ๊ฒฉ์ด 5๋ถ ์ด๋ด์ด๋ฉด ์ต๊ทผ 45๋ถ, 5๋ถ์ ์ด๊ณผํ๋ฉด ์ต๊ทผ 5๊ฐ ์ ํจ ๋ณด๊ณ ๋ก ํ๊ท ๊ณ์ฐํฉ๋๋ค. ์ค์ ๋ณด๊ณ ์๊ฐ ์ฐจ์ด๋ก ยฐC/h๋ฅผ ๊ณ์ฐํ๋ฉฐ ์ต์ 3๊ฐ ๋ณด๊ณ ์ 10๋ถ์ ์๊ฐ ๋ฒ์๊ฐ ํ์ํฉ๋๋ค. ์ด ๋ฐฉ์์ ๋ณํ์จ ์ผ์์ AUTO ์์ธก ON์ ์ ์ฉํ๋ฉฐ, ์ฌ์ดํด๋ณ ํ์ต ํ๊ท๋ ๊ธฐ์กด ์๊ฐ ๊ตฌ๊ฐ์ ์ ์งํฉ๋๋ค. ๋๋ฐฉ ๋ฐ์ยท์์ด ๊ฐ์ ํ์ธ๋ ์ค์์น ์ ํ๊ณผ ์๊ฒฐ๋ ๊ด์ธก๋ง ์ฌ์ฉํฉ๋๋ค. Phase 2 ๊ด์ธก์ ์ ์ด ๊ฒฐ์ ๊ณผ ํํฐ ๋ช ๋ น์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉฐ, ์ฌ์์ ์ ์งํ ์ค์ธ ์ด๋ ฅยท์ฌ์ดํด์ ๋ฒ๋ฆฝ๋๋ค.
์๊ฒฐ๋ ๊ด์ธก ์ฌ์ดํด์ ๋๋ฐฉ ๋ฐ์ ์ง์ฐ, ๊ฐ์ด๋ฅ , ์ ์ง ํ ์ถ๊ฐ ์์น๋, ์ต๊ณ ์ ์ง์ฐ์ ๊ฐ๊ฐ EWMA(alpha 0.2)๋ก ํ์ตํฉ๋๋ค. ๊ธฐ๋ณธ ๋ชจ๋ธ๊ณผ ์ปค๋ธ ๋ชจ๋ธ์ ์ ๋ ํฐ ์ ํ๊ณผ ๊ด๊ณ์์ด ๊ฐ๊ฐ ํ์ตํ๊ณ , AUTO ์ ์ด์๋ ์ ํํ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ๋ชจ๋ธ์ ์์ธก ON์ ์ค์ธก ๋๊ฐ ๊ธฐ์ธ๊ธฐ์ ํ์ต ๋ฐ์ ์ง์ฐ์ ์ฌ์ฉํ๋ฉฐ, OFF ์ดํ์ ์ฒ์ ๋ํ๋๋ ์์น๋ ๋ฐ์ ์ง์ฐ์ผ๋ก ๊ด์ธกํฉ๋๋ค. ์์ธก OFF๋ ์์น ์ค์๋ ๋ฑ๊ฐ ๋ฐ์ ์๊ฐ๊ณผ ํ์ฌ ์๋๋ฅผ ์ฌ์ฉํ๊ณ , ์์น ์ ์๋ ์ ์ฌํ ๊ฐ๋์๊ฐยท์์ ์จ๋ยทON ์ค ์จ๋ ๋ณํยท์์ ์ ๊ธฐ์ธ๊ธฐยท์ด์ OFF ๊ฒฝ๊ณผ์๊ฐ์ ์ค์ ์ถ๊ฐ ์์น๋์ ์ง์ ์ฌ์ฉํฉ๋๋ค. ์ ์ ์์ธก ์ ์ง๋ ์ต์ ON ์๊ฐ์ ์งํค๋ฉฐ, ๋น๊ต ๊ฐ๋ฅํ ํ์ต์ด ๋ถ์กฑํ๋ฉด ๊ธฐ๋ณธ ํ์คํ ๋ฆฌ์์ค๋ก ์ด์ ํฉ๋๋ค. Peak ํ๋จ ์ํ์ ์ค์ ์จ๋ + AUTO ์ ์ง ํธ์ฐจ์ ๋๋ค(๊ธฐ๋ณธ ์ค์ : 23ยฐC + 0.5ยฐC = 23.5ยฐC). ์ค์ ๋๋ฌ ์จ๋๋ฅผ ๋ณด์ฅํ์ง๋ ์์ต๋๋ค.
์ปค๋ธ ๋ชจ๋ธ์ ์์ธก OFF๋ ํ์ฌ ๊ฐ๋์๊ฐยท์์น ์๋์ ์ด์ํ๊ฐ ์ ์ฌํ OFF ์กฐ๊ฑด์ Current/Long-term ์จ๋ ๊ถค์ ์ ์ ํยทํผํฉํฉ๋๋ค. ์ด๊ธฐ ์ ์ฒดยท์ํญ ํ๋ฝยท๋ค๋ฆ์ ์์น๋ ๋ณด์กดํฉ๋๋ค. ๊ณผ๊ฑฐ ON ๊ตฌ๊ฐ์ ์ง๊ธ OFFํ ์ดํ์ ๋ฐ์์ผ๋ก ์ฐ์ฅํ์ง ์์ต๋๋ค. ์ ํจํ ์ค์ธก ํ๋ณธ์ด ์ต์ 3๊ฐ์ด๊ณ ์ ๋ขฐ๋๊ฐ ์ถฉ๋ถํด์ผ ์์ธก์ ์ ์ฉํ๋ฉฐ, ๋ถ์กฑํ๋ฉด ๊ธฐ๋ณธ ๋ชจ๋ธ๋ก ๋์ฒดํฉ๋๋ค. ์์น ์ ์์ธก์ ์ด์ํ ๊ธฐ๋ก์ด ํ์ํ๋ฉฐ ๋ถ๋ช
์กฐ๊ฑด๊ณผ ์ํ ์ฐจ์ด๋ ์ ๋ขฐ๋๋ฅผ ๋ฎ์ถฅ๋๋ค. ๊ธฐ๋ณธ ๋ชจ๋ธ schema 5๋ schema 14๋ฅผ, ์ปค๋ธ SQLite schema 4๋ schema 13์ ๋ณด์กดํด ์ด์ ํฉ๋๋ค. Climate ์์ฑ off_prediction์ ์์ Peak์ ์ค์ ์ฌ์ฉํ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธตยทCurrent ๋น์ค์, last_peak_comparison์ ๋ ๋ชจ๋ธ์ ์์ Peak์ ์ค์ธก ์ค์ฐจ๋ฅผ ํ์ํฉ๋๋ค.
์ปค๋ธ ์ข
๋ฅ๋ณ Current๋ ์ ์ ํจ ์ฌ์ดํด์ 20% ๋ฐ์ํ๋ฉฐ, ์ถฉ๋ถํ ํ๋ณธยท๋ฎ์ ๋ถ์ฐยท์ฐ์ ๊ตฌ๊ฐ ์กฐ๊ฑด์ ๋ง์กฑํ Current๋ง Long-term์ 2%์ฉ ๋ฐ์ํฉ๋๋ค. ๋ ๊ณ์ธต ๋ชจ๋ ์ ์ฅํ๋ฉฐ Raw 7์ผ ์ ๋ฆฌ๋ก ์ญ์ ํ์ง ์์ต๋๋ค. Current์ ์ต์ ์ฑ ๋น์ค์ ๊ฐฑ์ ํ 30์ผ์ ๊ฑธ์ณ ๊ฐ์ํ์ง๋ง Long-term์ ๋๋ฐฉ ๋น์๊ธฐ์๋ ์ ์งํฉ๋๋ค. ์ค์ ์์ธก์ Current ์ ๋ขฐ๋์ ๋ฐ๋ผ ํผํฉํ๊ณ , Current๊ฐ ๋ถ์กฑํ๊ฑฐ๋ ์ค๋๋๋ฉด Long-term์ ์ฌ์ฉํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ ๋๋ฐฉ ๋ฐ์ ์ง์ฐ, Cooling ์์ธก ON๊ณผ OFF ์๋ต์ ๋ชจ๋ ์ ์ฉ๋ฉ๋๋ค. curve_memory ์์ฑ์์ ์ปค๋ธ๋ณ ์ ๋ขฐ๋ยท์น๊ฒฉ ํ์ยท์ฅ๊ธฐ ๊ฐฑ์ ์๊ฐ์ ํ์ธํ ์ ์์ต๋๋ค.
์ปค๋ธ ํ์ต์ Cold, Warm, Predictive Warm, Cooling์ ๊ฐ๊ฐ ๋ ๋ฆฝ๋ 5๋ถ ๋ณํ๋ ํ์ค์ผ๋ก ๊ธฐ๋กํฉ๋๋ค. AWAY๊ฐ ์ฐ์ 3์๊ฐ ์ด์ ์ง์๋ ๋ค HOME์ผ๋ก ๋ณต๊ทํ๋ฉด ์ฒซ ์ ํจ ๋๋ฐฉ์ Cold๋ก ํ์ตํ๋ฉฐ, ํด๋น ์ฌ์ดํด์ด ํ์ต์ ๋ฐ์๋๊ธฐ ์ ์ค๋จ๋๋ฉด Cold ๋๊ธฐ๋ฅผ ์ ์งํฉ๋๋ค. HOME์์ ํํฐ๊ฐ ์ค๋ ๊บผ์ ธ ์๋ค๋ ์ด์ ๋ง์ผ๋ก Cold๊ฐ ๋์ง ์์ต๋๋ค. AWAY ์ฌ์ดํด์ ์ปค๋ธ ํ์ค ํ์ต์์ ์ ์ธํฉ๋๋ค. ๋ณํ๊ฐ ์๋ ์ ํจ ๊ตฌ๊ฐ๋ 0 ๋ฒํท์ผ๋ก ๋ณด์กดํ๋ฉฐ ์ ํจ ์ฌ์ดํด์ ๊ธฐ์กด ํ์ค 80%์ ์ ์ฌ์ดํด 20%๋ก ๋ฐ์ํฉ๋๋ค. ๋ ๋ชจ๋ธ์ ๋๋ฐฉ ๋ฐ์ ํ์ธ ํ ๊ด์ธก ์ต๊ณ ์จ๋์์ 0.2ยฐC ์ด์ ๋ด๋ ค๊ฐ ์ค์ ๋ณด๊ณ ๋ฅผ ํ์ธํ๊ณ , ๋ค์ ๋ณด๊ณ ๊ฐ ๊ทธ ๊ฐ๋ณด๋ค 0.1ยฐC ์ด์ ๋ ๋ด๋ ค๊ฐ๋ฉด Peak๋ฅผ ํ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ต๊ณ ์จ๋ 26.6ยฐC์์ 26.4โ26.3ยฐC์ด๋ฉด ํ์ ํ๊ณ , 26.4ยฐC๊ฐ ๋ฐ๋ณต๋๊ฑฐ๋ 0.1~0.2ยฐC๋ง ๋ฑ๋ฝํ๋ฉด ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ค์ ์ต๊ณ ์จ๋์ ๋ง์ง๋ง ๋ณด๊ณ ์๊ฐ๊ณผ ํ์ธ ์๊ฐ์ ๋ถ๋ฆฌํ๋ฉฐ ์ด๊ธฐ ํ๋ฝยทํ ๋ฒ์ ํ๋ฝยท์ค๋ณต ๋ณด๊ณ ยทํ์ด๋จธ๋ง์ผ๋ก ๋๋ด์ง ์์ต๋๋ค. Peak ๋๊ธฐ๋ OFF๋ถํฐ ์ต๋ 4์๊ฐ, ๋๊ฐ ๊ด์ธก์ Peak๋ถํฐ ์ต๋ 3์๊ฐ์ ํ๋๋ก ํ๋ฉฐ ๋ค์ ON์ด๋ ์ง์ ์์น์์๋ ์ข ๋ฃํฉ๋๋ค. OFF ์๋ต ํ์ง ํ์ ยท์ ์ฅ ๋ณต์ยท์์ธก์ ์ต๊ณ ์ ์ง์ฐ ๋ฒ์๋ 240๋ถ์ผ๋ก ๋ง์ถฅ๋๋ค. ๋ฐ์ ์์ด ์ ํ์ ๋๋ฌํ ๊ธฐ๋ก์ ์ ์ Peak๋ก ํ์ตํ์ง ์์ต๋๋ค. ์์ ๋ฒํท์ 7์ผ ๋ค ์ ๋ฆฌํ์ง๋ง ํ์ต ํ์ค๊ณผ ์ต๋ 24๊ฐ์ OFF ์๋ต์ ์ ์งํฉ๋๋ค. ์์ธก ON์๋ ์ฐ์ ๊ตฌ๊ฐ์ด ์ถฉ๋ถํ Cooling ์ปค๋ธ์ ํ์ตํ ๋๋ฐฉ ๋ฐ์ ์ง์ฐ์ ์ฌ์ฉํฉ๋๋ค. ์ผ์ ์ค๋ฅยท์๋ ๊ฐ์ ยทํฐ ์ปค๋ธ ์ดํยท์ ๋ขฐ๋์ ์ ์ด ์์ ๊ธฐ์ค์ ์ ์งํ๋ฉฐ ํ์ฅ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
Climate ์์ฑ์ control_state, faults, heater_confirmed_on, heater_command_pending์ผ๋ก ๋๊ธฐยท์ค๋ฅยท๋ช
๋ น ํ์ธ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. hvac_action์ ํ์ธ๋ ์ค์์น ์ํ๋ฅผ ๋ํ๋ด๋ ๋๋ฆฌ ์งํ๋ก, ์ค์ ๋ฒ๋ ์ ํ๋ ์ด๊ณต๊ธ ์ธก์ ๊ฐ์ ์๋๋๋ค. HA์ ์ผ์ ๋ณด๊ณ ์๊ฐ๊ณผ ๋๊ด์ ์ค์์น ์ํ๋ ๋ฌผ๋ฆฌ์ ์ฅ์น์ ์ธก์ ยท๋์์ ๋ณด์ฅํ์ง ์์ต๋๋ค.
๋๋ฐฉ ํ์ต ๋ฐ AUTO ON/OFF ์ ์ด ๋ค์ด์ด๊ทธ๋จ์ ๋ณ๋ ๋ฌธ์์์ ํ์ธํ ์ ์์ต๋๋ค. 5๋ถ ์ปค๋ธ ํ์ต ๊ตฌํ ๊ท์น์๋ ์ปค๋ธ ๊ฒฝ๊ณ, ํ์ง ํ์ , ์ ์ฅ ๋ฐ ๋ชจ๋ธ ๋์ฒด ๊ฒฝ๋ก๋ฅผ ์ ๋ฆฌํ์ต๋๋ค.
๋ชจ๋ธ๋ณ ์๋ ๋ก์ง์๋ ๊ธฐ๋ณธ/์ปค๋ธ ๋ชจ๋ธ์ ํ์ต, ON/OFF ์์ธก๊ณผ ๊ณ์ฐ ๊ธฐ์ค์ ์ ๋ฆฌํ์ต๋๋ค.
์ค์ธก ๊ทธ๋ํ์ฉ ์ผ์ ๊ตฌ์ฑ์๋ ํต์ฌยท์์ธยท์ํ ์ผ์์ ๊ถ์ฅ ๊ทธ๋ํ ๋ฐฐ์น๋ฅผ ์ ๋ฆฌํ์ต๋๋ค. ์ผ์ 42๊ฐ ์ค ์ ์ค์น์์๋ ํต์ฌ 15๊ฐ๋ฅผ ๊ธฐ๋ณธ ํ์ฑ์ผ๋ก ์ ๊ณตํฉ๋๋ค. OFF ๋น์ ๊ธฐ๋ณธ/์ปค๋ธ ์์ธก ์ต๊ณ ์จ๋, ์ค์ ์ต๊ณ ์ , ๊ฐ ๋ชจ๋ธ ์ค์ฐจ, ํด๋น ์์ธก ์ ๋ขฐ๋์ ๊ด์ธกยท์์ธก ์ํ๋ฅผ ๊ทธ๋ํ๋ก ํ์ธํ ์ ์์ต๋๋ค. ์ต๊ทผ OFF ์์ธก๊ณผ ์๊ฒฐ๋ ์ค์ ๊ฒฐ๊ณผ๋ ์๋ก ๋ค๋ฅธ ํ์ฐจ์ผ ์ ์์ผ๋ฏ๋ก off_at ์์ฑ์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค. ๊ธฐ์กด ์ํฐํฐ ID์ ํ์ฑ ์ค์ ์ ์ ์งํฉ๋๋ค.
- HA๊ฐ ๋๋ฐฉ ON ์ค์ด๊ฑฐ๋ OFF ํ ์ต๊ณ ์จ๋๋ฅผ ๊ด์ธกํ๋ ์ค์ ์ฌ์์ํ๋ฉด ํด๋น ์งํ ์ค ์ฌ์ดํด๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ์จ๋ ์ด๋ ฅ์ ๋ฒ๋ฆฝ๋๋ค. ์ฌ์์ ์ ํ์ ๊ธฐ๋ก์ ์ด์ด ๋ถ์ฌ ํ์ตํ์ง ์์ต๋๋ค. ์ฒซ ์ฌ์ดํด์ด ์๊ฒฐ๋๊ธฐ ์ ์ ์ฌ์์ํ๋ค๋ฉด ๊ทธ ์ฌ์ดํด์ ํ์ต๊ฐ์ ๋ฐ์๋์ง ์์ต๋๋ค.
- ์ฌ์์ ์ ์ ์๊ฒฐ๋์ด ์ ์ฅ๋ ํ์ต ์งํ์ ์๋ต๊ณก์ ์ ๋ณต์ํฉ๋๋ค. AUTO ๋ชจ๋์ ๋ชฉํ์จ๋๋ ๋ณต์ํ์ง๋ง, ํ์ฌ ํํฐ ์ํ๋ฅผ ๋ค์ ํ์ธํ๊ณ ํ์ํ ๊ฒฝ์ฐ OFF๋ก ์ ํํ ๋ค ์ต์ OFF ์๊ฐ์ ์ง์ผ ์ ์ด๋ฅผ ์ฌ๊ฐํฉ๋๋ค.
- ์ ์ ์ข ๋ฃยท์ฌ๋ก๋์์๋ ํ์ต ๋ชจ๋ธ์ ์ ์ฅํฉ๋๋ค. ์ ์ ์ด๋ ๊ฐ์ ์ข ๋ฃ ์ง์ ์ ์๋ฃ๋ ์ฌ์ดํด์ ์ ์ฅ ๋๊ธฐ ์ค์ด์๋ค๋ฉด ์ ์ค๋ ์ ์์ต๋๋ค. HA ๊ฐ์ ์ข ๋ฃยท์ ์ ยทํต์ ๋จ์ ์์๋ ์ํํธ์จ์ด OFF๋ ๋ณด์ฅํ ์ ์์ต๋๋ค.
์ ์ ์ฌ๋ก๋ยท์ ๊ฑฐ์์๋ OFF ํ์ธ ์คํจ ์ ๊ฐ์๋ฅผ ์ ์งํ๊ณ ํด์ ๋ฅผ ์คํจ ์ฒ๋ฆฌํฉ๋๋ค.
AUTO๋ฅผ ๋ค์ ์ ํํด๋ ์งํ ์ค ๋๋ฐฉ์ ์ค๋จํ์ง ์์ต๋๋ค. HOME/AWAY๋ฅผ ๋ค์ ์ ํํ๋ฉด ์๋์ผ๋ก ๋ณ๊ฒฝํ ๋ชฉํ์จ๋ ๋์ ํด๋น ํ๋ฆฌ์ ์ ์ค์ ์จ๋๋ฅผ ๋ค์ ์ ์ฉํฉ๋๋ค. ์์ด์ ์ํ ์ฌ๊ฐ๋ ๋๊ธฐ๋ ์ค์ ๋๋ฐฉ ์ ์ง ํ ๊ด์ธก ๊ตฌ๊ฐ์์๋ง ์ ์ฉํ๋ฉฐ, ์ ์ง ์ ์จ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ธกํ๊ณ ํ์ต๋ ์ต๊ณ ์ ๋๋ฌ ์๊ฐ์ด ์ง๋๋ฉด ํด์ ํฉ๋๋ค.
ON ๋ช ๋ น์ ๊ธฐ๋ค๋ฆฌ๋ค๊ฐ OFF๋ก ์ ํํ ๊ฒฝ์ฐ, ๊ฐ์ OFF ๊ฐ์ ์ฌ๋ณด๊ณ ๋ก ์ง์ฐ ON ๋ณดํธ๋ฅผ ํด์ ํ์ง ์์ต๋๋ค. ์ค์ ONโOFF ์ ํ์ด ํ์ธ๋๊ฑฐ๋ ์ฌ์ฉ์๊ฐ HEAT/AUTO๋ฅผ ๋ช ์์ ์ผ๋ก ์ ํํ ๋๊น์ง ๋ณดํธ๋ฅผ ์ ์งํฉ๋๋ค.
ํตํฉ Climate ํ๋๊ฐ ์ ํํ ๊ณต์ฉ ์ค๋ด ์จ๋๋ก ํ์ตํ๊ณ ๋ฐฉ๋ณ ์ค์์น ๋ชฉ๋ก์ ๋์ผํ ON/OFF ๋ช ๋ น์ ๋ณด๋ ๋๋ค. ๊ทธ๋ฃน ์ํ์ ๋๋ฐฉ ๊ด์ธก์ ๋ชจ๋ ์ค์์น๊ฐ ๊ฐ์ ์ํ๋ฅผ ๋ณด๊ณ ํ ๋๋ง ํ์ ํฉ๋๋ค. ์์ ์ ์ค์์น ์ํ๊ฐ ์๋ก ๋ค๋ฅด๊ฑฐ๋ ์ด๋ ํ๋๋ผ๋ unavailable์ด๋ฉด ์ ์ฒด OFF๋ฅผ ์์ฒญํ๊ณ ์ค๋ฅ ์ ๊ธ์ ์ ์ฉํฉ๋๋ค. ๊ฐ ์ค์์น๋ ์ด ํตํฉ ํญ๋ชฉ์ด ๋ ์ ์์ ํ๋ฉฐ ๋ค๋ฅธ ํญ๋ชฉ์์ ์ค๋ณต ์ ํํ ์ ์์ต๋๋ค.
์ค์ธ ์จ๋, ๋๋ฐฉ ๊ณต๊ธ ์จ๋, ํ์ ์จ๋ ์ผ์๋ ์ถ๊ฐ ์ค์ ํ๋ฉด์์ ์ ํํ ์ ์์ต๋๋ค. ์ค์ธ ์ผ์๋ ๋๋ฐฉ ์ข ๋ฃ ํ ์ค๋ด์ธ ์จ๋์ฐจ๋ก ์ ๊ทํํ ์ด์์ค๋ฅ (1/h) ํ์ต์ ์ฌ์ฉํฉ๋๋ค. ๊ณต๊ธยทํ์ ์ผ์๋ฅผ ์ ํํ๋ฉด ํด๋น ์จ๋๊ฐ ์ค๋ด ์จ๋ ์ดํ์ธ์ง ํ์ธํด ์์ด ์ํฅ์ ๊ฑฐ๋ฅด๋ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ค์ธ ์ผ์๊ฐ ์๊ฑฐ๋ ํ์ํ ์ผ์๊ฐ์ด ์ ํจํ์ง ์์ผ๋ฉด ์ด์์ค๋ฅ ํ๋ณธ์ ๋ง๋ค์ง ์์ต๋๋ค. ํ์ต๋ ์ด์์ค๋ฅ ์ ์ง๋จ์ฉ์ด๋ฉฐ ํ์ฌ HEAT/AUTO ์ ์ด์๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.
๊ฐ๋ฐ ์ค์ธ ํตํฉ ํด๋๋ฅผ Home Assistant ์ค์ ๋๋ ํฐ๋ฆฌ์ custom_components/adaptive_floor_heating/์ ๋ณต์ฌํ๊ฑฐ๋ ๋งํฌํ ๋ค Home Assistant๋ฅผ ์ฌ์์ํฉ๋๋ค. ๊ธฐ์กด ๋จ๋
Config Flow๋ ์ฌ์ฉ์ ํ๊ฒฝ์์ ๋์์ ํ์ธํ์ต๋๋ค. Climateยท๋๋ฐฉ ๋ฐํ์์ ์ค์ HA ๊ฒ์ฆ์ ๋จ์ ์์ต๋๋ค.
๋ฐฐ๊ด ์ํ์ฉ ์ง๋จ ์ผ์ 12๊ฐ๋ ๊ธฐ๋ณธ ๋นํ์ฑํ๋ก ์ ๊ณต๋ฉ๋๋ค. ๊ณต๊ธ/ํ์ ์จ๋, ๊ณต๊ธโํ์ยท๊ณต๊ธโ์ค๋ดยทํ์โ์ค๋ด ์จ๋์ฐจ, ๊ณต๊ธ/ํ์ ๋ณํ์จ, ์๊ฒฐ ์ฌ์ดํด์ ์ ์ง ์ ๊ณต๊ธ/ํ์ ์จ๋, ์ ์ง ํ ์ค๋ด ์ต๊ณ ์์น๋ยท์ต๊ณ ์ ์ง์ฐ, ๋ฐฐ๊ด ๊ด์ธก ์ํ์ ๋๋ค. ์ค์ ๋ณด๊ณ ๋ฅผ ๋ฐ์ ํ ๊ฐ์ด ์์ฑ๋๋ฉฐ AUTO ์ ์ด์ ๊ธฐ๋ณธ ํ์ต ๋ชจ๋ธ์๋ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. ์ ํจ ๊ธฐ๊ฐ์ ์ค์ ๋ ๋ณด๊ณ ๊ฐ๊ฒฉ ํ๋๋ฅผ ๋ฐ๋ฅด๊ณ , ๋ ์ ๋ ฅ์ ๋ณด๊ณ ์๊ฐ ์ฐจ์ด๊ฐ 5๋ถ์ ์ด๊ณผํ๋ฉด ์จ๋์ฐจ๋ฅผ ๊ณ์ฐํ์ง ์์ต๋๋ค. ์ผ์ ํ๋๋ง ์ค์ ํด๋ ๊ฐ๋ฅํ ํญ๋ชฉ์ ํ์ํฉ๋๋ค.
์ ์ง ์ ์จ๋์ ์์ด ๊ฒฐ๊ณผ ๋ค ํญ๋ชฉ์ ๊ฐ์ ์ฌ์ดํด์ด ์๊ฒฐ๋ ๋ ํจ๊ป ๊ฐฑ์ ํ์ฌ ๋ค์ ์ ํจ ๊ฒฐ๊ณผ๊น์ง ์ ์งํฉ๋๋ค. ์ฌ์์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด์ธก์ ์ด๊ธฐํํ์ง๋ง Recorder์ ๊ธฐ๋ก๋ ์ด๋ ฅ์ ๋ณ๊ฐ์
๋๋ค. ๋ฐฐ๊ด ์ํ not_configured, missing_input, heating, observing_residual, completed, waiting์ ๊ฐ๊ฐ ๋ฏธ์ค์ , ์
๋ ฅ ๋ถ์กฑ/๋ง๋ฃ, ๋๋ฐฉ ์ค, ์์ด ๊ด์ธก, ์๊ฒฐ ๊ฒฐ๊ณผ ์์, ๋๊ธฐ๋ฅผ ๋ปํฉ๋๋ค. ๋ฐฐ๊ด ์จ๋์ฐจ๋ ์ค์ ๊ณต๊ธ ์ด๋์ด๋ ๋ฐ๋ฅ ์ถ์ด๋์ ์๋ฏธํ์ง ์์ต๋๋ค.
์ํ์ฉ ์ธ๊ธฐ ๋ณด์ ์์ธก์ ์ค์ธก/์ธ๊ธฐ ๊ธฐ๋ฐ/ํผํฉ ๋๊ฐ์๋, ์ธ๊ธฐ ๋ณด์ ๋น์ค, ๊ธฐ์กด/์ธ๊ธฐ ๋ณด์ ์์ธก ์จ๋, ๊ณ์ฐ ์ํ์ ๊ฐ๋ณ ์ง๋จ ์ผ์ 7๊ฐ๋ก ์ ๊ณต๋ฉ๋๋ค. ๊ธฐ๋ณธ ๋นํ์ฑํ์ด๋ฉฐ ์ํฐํฐ ์ค์ ์์ ํ์ํ ์ผ์๋ฅผ ํ์ฑํํ๋ฉด Recorder ์ค์ ์ ๋ฐ๋ผ ์ด๋ ฅ์ ํ์ธํ ์ ์์ต๋๋ค. ์์ธก ์จ๋๋ ํ์ฌ๋ถํฐ ์ ๋ขฐ๋ ๋ณด์ ๋ ๋๋ฐฉ ๋ฐ์ ์ง์ฐ ํ์ ์จ๋์ด๋ฉฐ, ๊ธฐ์กด ๋ฐฉ์๊ณผ ๊ฐ์ ์๊ฐ ๋ฒ์๋ก ๋น๊ตํฉ๋๋ค. ์ค์ AUTO ์ ์ดยท๋ชจ๋ธ ์ ์ฅ์๋ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
์ํ์ฉ ์ธ๊ธฐ ๋น์ค์ ์ด์์ค ํ์ต ์ ๋ขฐ๋์ ๋ ๋๊ฐ์๋์ ์ผ์น๋๋ฅผ ๊ณฑํด ์ต๋ 50%๋ก ์ ํํฉ๋๋ค. ์ด๋ ๊ฒ์ฆ๋ ์์ธก ์ ํ๋๊ฐ ์๋ ์ํ์ฉ ํผํฉ ๊ท์น์
๋๋ค. ๋๋ฐฉ ์คยท์์ด ๊ด์ธก ์คยท์
๋ ฅ ๋๋ ํ์ต ๋ถ์กฑ ์ ๋ณด์ ์์ธก์ ๋น์ด ์์ต๋๋ค. ์ค๋ด ๋ณด๊ณ ์ ํจ ๊ธฐ๊ฐ์ ๋ง์ง๋ง ๊ฐ๊ฒฉ์ ๋ ๋ฐฐ(์ต์ 15๋ถ, ์ต๋ 60๋ถ)์ด๋ฉฐ, ์ค์ธ ๋ณด๊ณ ๋ ์ค์ ๋ ๋ณด๊ณ ๊ฐ๊ฒฉ ํ๋๋ฅผ ๋ฐ๋ฆ
๋๋ค. ๊ณ์ฐ ์ํ ์ฝ๋ ready๋ ๊ณ์ฐ ๊ฐ๋ฅ, observing_residual์ ์์ด ๊ด์ธก, stale_indoor๋ ์ค๋ด ๋ณด๊ณ ๋ง๋ฃ, missing_outdoor๋ ์ ํจ ์ค์ธ ์
๋ ฅ ์์, missing_heat_loss_model/missing_response_model์ ํ์ต ๋ถ์กฑ์ ๋ปํฉ๋๋ค. inactive, invalid_indoor, insufficient_reports, heater_not_off, not_cooling, insufficient_temperature_difference๋ ๊ฐ๊ฐ ๋ฐํ์ ์ค์ง, ์ค๋ด ์
๋ ฅ ์ค๋ฅ, ํ๋ณธ ๋ถ์กฑ, ํํฐ ์ ์ง ๋ฏธํ์ธ, ๋๊ฐ ๋ฏธํ์ธ, ์ค๋ด์ธ ์จ๋์ฐจ ๋ถ์กฑ์
๋๋ค.
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements-test.txt
.\.venv\Scripts\python.exe -m unittest discover -s tests/components/adaptive_floor_heating -p "test_*.py" -v2026-09-29 ๋ก์ปฌ Windows ๊ฐ๋ฐ ํ๊ฒฝ์์ 122๊ฐ ํ ์คํธ๋ฅผ ํต๊ณผํ์ต๋๋ค. ์์ ์ด ๊ด์ธกยทํ์ตยท์ ์ด ๋ก์ง, ์ค์ voluptuous, HA ์ธํฐํ์ด์ค ๋์ญ๊ณผ ์ํ์ฉ ์ค์์น๋ฅผ ์ฌ์ฉํด ์ค์ ์์ยท์ต์ข ํ์ธยท์ผ์ ์ ํยท์๊ฐ ๊ฒฝ๊ณยท๊ทธ๋ฃน ์ค์์น ๋ช ๋ นยท์คํจ ๋ณต๊ตฌยท์ ์ฅยท์ฌ๋ก๋๋ฅผ ๊ฒ์ฌํฉ๋๋ค. HA ๋ฐํ์๊ณผ ํ๋ฐํธ์๋์ ํตํฉ ๊ฒ์ฆ์ ๋์ฒดํ์ง ์์ต๋๋ค. ๊ตฌํ ์ ์ฐธ์กฐํ API ๊ธฐ์ค์ Home Assistant 2026.9.3์ด๋ฉฐ ์ง์ ์ต์ ๋ฒ์ ์ ์ค์ HA ๊ฒ์ฆ ํ ํ์ ํฉ๋๋ค. 2026-10-01์๋ ์ปค๋ธ ๋ฒํทยทSQLite ์ค๋ณต ๋ฐ์ยท7์ผ ์ ๋ฆฌยท๋ชจ๋ธ ์ ํ ๋์ฒด ๊ฒฝ๋กยทAUTO ์ ์ง ํธ์ฐจยท์ ์ฅ ์คํจ ๋์ฒด ๊ฒฝ๋ก๋ฅผ ํฌํจํ 134๊ฐ ๋ก์ปฌ ํ ์คํธ๋ฅผ ํต๊ณผํ์ต๋๋ค. ์ค์ Home Assistant์ ๋๋ฐฉ ์ฅ์น์์ ์ ์ปค๋ธ ๋ชจ๋ธ์ ๋์๊ณผ ๊ธฐ์ค ์ดํ๊ฐ์ ์์ง ๊ฒ์ฆํ์ง ์์์ต๋๋ค. 2026-10-03 ์์น ์ OFF ์ง์ฐ ๋ฐ์, ์ด์ํ ๋น๊ต, ์ง์ ํ๊ฐ Peak ํ์ธ, 0 ์์ด๊ณผ Current/Long-term ์น๊ฒฉยทํผํฉ์ ํฌํจํ 194๊ฐ Windows ๋ก์ปฌ ํ ์คํธ๋ฅผ ํต๊ณผํ์ต๋๋ค. ๋ ๋ชจ๋ธ์ 30๋ถ ์ ์ฒด ๊ฐ๋์ ๋ํ AUTO OFFยท์ฌ๊ฐ๋ ๋๊ธฐ ๋ช ๋ น ๊ฒฝ๋ก, ๋น์๊ธฐ ํ ์ฅ๊ธฐ ๊ธฐ์ต ์ฌ์ฉ, ์ฌ์์ยท์ ์ฅ ์ด์ ยท์ฅ๊ธฐ ๋ฐ์ดํฐ ์์ยทDB ์คํจ์ ์์ ๋ฐ์ดํฐ ์ ๋ฆฌ๋ ๊ฒ์ฆํ์ต๋๋ค. ๊ทธ๋ํ ์ผ์์ ์ฝ๊ธฐ ์ ์ฉ ๋์, ์์ธก ์๋ ์ค์ ์ต๊ณ ์ ์ ๊ธฐ๋ก, ๊ณผ๊ฑฐ ์์ธก๊ณผ ์ ํ์ฐจ์ ์ค์ฐจ ๋ถ๋ฆฌ, OFF ์ง๋จ ๋ณด์กด๊ณผ ์์๋ ์ ํ ์ง๋จ ๋ฐ์ดํฐ์ ๊ฒฉ๋ฆฌ๋ ํ์ธํ์ต๋๋ค. ์ค์ ๋๋ฐฉ ํ๊ฒฝ์์ ์์ธก ์ ํ๋์ ํ์ง ์๊ณ๊ฐ์ ์์ง ๊ฒ์ฆํ์ง ์์์ผ๋ฉฐ, ์ง์์ ์ธ ํ๊ฒฝ ๋ณํ์ ์ด์์น ๊ตฌ๋ถ์ ๋ณ๋ ์ฐ๊ตฌ ํญ๋ชฉ์ ๋๋ค. 2026-10-06์๋ 207๊ฐ Python ํ ์คํธ์ 6๊ฐ Edge ๋ธ๋ผ์ฐ์ ๊ฒ์ฆ์ ํต๊ณผํ์ต๋๋ค. ์ฌ์ดํด ์กฐํ ๊ถํยทํํฐยท์ฝ๊ธฐ ์ ์ฉ์ฑ, schema 4 ์ด์ , ์ ์ธ ์ธก์ ๊ฐ๊ณผ ์๊ณ๊ฐ, ์น์ธ ์ ํยท์น๊ฒฉยท์ค๋ณต ์ ์ฅ, ์๋ณธ ๋ณด์กด๊ธฐ๊ฐ ๋ง๋ฃ, ์๊ฐ๋ยทํ์จ ๋ณํยท๋ชจ๋ฐ์ผ ๋ฐฐ์นยท๋ฆ์ ์๋ตยท์ฐ๊ฒฐ ์ข ๋ฃ์ ์์ถ ์ด๋ ฅ ์์ฑ/์ํ ์ ์ง๊ฐ ํฌํจ๋ฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฒ์ฆ์ HA ์ธํฐํ์ด์ค ๋์ญ์ ์ฌ์ฉํ๋ฉฐ ์ค์ HA ์ ๋ฐ์ดํธ ํ ๊ธฐ์กด Warm ์ ์ธ ๊ธฐ๋ก์ ์ฌ์ ํ์ธ์ ๋จ์ ์์ต๋๋ค. ๊ฐ์ ๋ ์ต๊ณ ์ ์กฐ๊ฑด์ 0.3ยฐC ํ๋ฝ ํ ๋ค์ ์ค์ ๋ณด๊ณ ์ ์ถ๊ฐ 0.1ยฐC ํ๋ฝ์ผ๋ก ๋ณ๊ฒฝํ๊ณ OFF ๊ด์ธก ์ํ์ 4์๊ฐ์ผ๋ก ๋ง์ท์ต๋๋ค. 217๊ฐ Python ํ ์คํธ๋ก ํํยท๋ฏธ์ธ๋ฑ๋ฝยท๋ฐ๋ณต๊ฐยท์ค๋ณต/์ญ์ ๋ณด๊ณ ยท์ฌ์์นยท๊ฒฝ๊ณ ์์น, ๊ทธ๋ํ ๊ทผ์ฌ ์ ๋ ฅ์ ์์ชฝ ๋ชจ๋ธ ์๋ฃ, ์ฅ์๊ฐ ๋ฒํท ๋ณด์กด, 180๋ถ ์ดํ ์ต๊ณ ์ ์ ์ ์ฅ/๋ณต์/์์ธก์ ๊ฒ์ฆํ์ต๋๋ค. ๊ด๋ จ Edge ๊ฒ์ฆ์์๋ ์ ์ต๊ณ ์ ๊ทผ๊ฑฐ ํ์์ ์จ๋์ฐจ์ ํ์จ ๋ณํ์ ํ์ธํ์ต๋๋ค. ๊ณผ๊ฑฐ ์ ์ธ ๊ธฐ๋ก์ ์ฌํ์ตํ์ง ์์ผ๋ฉฐ ์ค์ ๋๋ฐฉ ํ๊ฒฝ์์ ์ ์กฐ๊ฑด์ ์ฑ๊ณตยท์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค.
์ต๊ณ ์ ์ฒซ ํ๋ฝ ๊ธฐ์ค์ ์ดํ 0.2ยฐC๋ก ์ํํ์ต๋๋ค. ์ต๊ณ ์จ๋ 26.6ยฐC์์ 26.4 โ 26.3ยฐC์ ์ฐ์ ์ค์ ๋ณด๊ณ ๋ก ํ์ ํ๋ฉฐ ์ถ๊ฐ 0.1ยฐC ํ๋ฝ๊ณผ OFF ํ 4์๊ฐ ์ ํ์ ์ ์งํฉ๋๋ค. ๊ทธ๋ํ ๊ทผ์ฌ ์
๋ ฅ์์๋ ๋ ๋ชจ๋ธ ๋ชจ๋ ๊ธฐ์กด๋ณด๋ค 10๋ถ ๋น ๋ฅด๊ฒ ํ์ ํ๊ณ , 217๊ฐ Python ํ
์คํธ์ ํ์ต๋ถ์ Edge ๊ฒ์ฆ์ ํต๊ณผํ์ต๋๋ค.
๊ณต๊ฐ ์ ์ฅ์: plplaaa2/adapted_climate
HACS์์ ์์ง ๊ธฐ๋ณธ ์ ์ฅ์๋ก ๊ฒ์๋์ง ์๋ ๋์์๋ HACS โ ํตํฉ โ ์ฐ์ธก ์๋จ ๋ฉ๋ด โ ์ฌ์ฉ์ ์ง์ ์ ์ฅ์์์ ์ ์ ์ฅ์ ์ฃผ์๋ฅผ ์ถ๊ฐํ๊ณ ์ ํ์ **ํตํฉ(Integration)**์ผ๋ก ์ ํํด ์ค์นํ ์ ์์ต๋๋ค. ์ค์น ํ Home Assistant๋ฅผ ์ฌ์์ํ๊ณ ํตํฉ์ ์ถ๊ฐํฉ๋๋ค.
์ ์ฅ์์๋ HACS์ฉ hacs.json, ํตํฉ manifest ๋ฉํ๋ฐ์ดํฐ, ๋ธ๋๋ ์์ด์ฝ์ ํฌํจํ์ต๋๋ค. ์ ์ฅ์์ HACS ๊ธฐ๋ณธ ๋ชฉ๋ก ๋ฑ๋ก ์ฌ๋ถ๋ ๋ณ๋๋ก ํ์ธํด์ผ ํฉ๋๋ค. ๋ฉํฐ๋ฃธ ํตํฉ Climate์ ์ค์ HA ๊ฒ์ฆ์ ์์ง ๋จ์ ์์ต๋๋ค.