IoT
HomeAssistant Core docker 설치 및 재설치 (+ HACS / Yeelightbt)
ㅋㅋ잠자
2021. 3. 8. 19:32
반응형
안녕하세요? 오늘은 HA Core 를 Docker 에 설치했을 경우, 업데이트 하는 방법을 알아보겠습니다.
1. 컨테이너 삭제
하기 명령으로 컨테이너를 삭제합니다.
root@debian:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
007b4c9c31bf koenkk/zigbee2mqtt "docker-entrypoint.s…" 8 weeks ago Up 6 weeks z2m
8cba3407dd3c homeassistant/home-assistant:latest "/init" 8 weeks ago Up 9 days hass
root@debian:~# docker stop hass
hass
root@debian:~# docker rm hass
hass
2. 이미지 업데이트
하기 명령으로 이미지를 업데이트 합니다.
root@debian:~# docker pull homeassistant/home-assistant:latest
latest: Pulling from homeassistant/home-assistant
801bfaa63ef2: Already exists
6ab2fca6d540: Pull complete
1f40989841bf: Download complete
6ecc14977d05: Download complete
754f9402f284: Download complete
bb189d51dda5: Downloading 42.58MB/49.9MB
d75c09442f39: Download complete
c2d70974cc2a: Download complete
e0532a0712ea: Download complete
10556f40181a: Waiting
2ece47ab7513: Waiting
ab43563f33ec: Waiting
d1862a2c28ec: Waiting
18fd307a599f: Waiting
c27e42f532e7: Waiting
cd8d37c8075e: Waiting
0465ae924726: Waiting
23a88f52941a: Waiting
a2e14cd7ceee: Waiting
0e6d4703614a: Waiting
a1b1c84af5d8: Waiting
3. 컨테이너 재실행
하기 명령으로 재실행합니다.
root@debian:~# docker run -d --name hass --restart=always -v /etc/localtime:/etc/localtime:ro -v /opt/hass/config:/config -v /media:/media:ro --privileged --network host homeassistant/home-assistant:latest
e0b416b5b2b054f0cf5cbee417b4f73125df8217ad64751fa70d54df9565ee42
root@debian:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e0b416b5b2b0 homeassistant/home-assistant:latest "/init" 7 seconds ago Up 6 seconds hass
007b4c9c31bf koenkk/zigbee2mqtt "docker-entrypoint.s…" 8 weeks ago Up 6 weeks z2m
4. yeelightbt 설치
저는 yeelight 무드등의 블루투스 버전을 사용하고 있습니다. 따라서 파이썬 모듈을 설치해야합니다.
하기 명령으로 컨테이너 쉘에 진입하여 설치를 진행하면 make 관련과 c 라이브러리가 없어서 빌드에 실패할 것입니다.
root@debian:~# docker exec -it hass /bin/bash
bash-5.0# pip install git+https://github.com/rytilahti/python-yeelightbt/
Collecting git+https://github.com/rytilahti/python-yeelightbt/
Cloning https://github.com/rytilahti/python-yeelightbt/ to /tmp/pip-req-build-yyhh8att
Collecting bluepy
Downloading bluepy-1.3.0.tar.gz (217 kB)
|████████████████████████████████| 217 kB 1.3 MB/s
Requirement already satisfied: construct in /usr/local/lib/python3.8/site-packages (from python-yeelightbt==0.0.4) (2.9.45)
Requirement already satisfied: click in /usr/local/lib/python3.8/site-packages (from python-yeelightbt==0.0.4) (7.1.2)
Building wheels for collected packages: python-yeelightbt, bluepy
Building wheel for python-yeelightbt (setup.py) ... done
Created wheel for python-yeelightbt: filename=python_yeelightbt-0.0.4-py3-none-any.whl size=11665 sha256=dcd1fa96f58babd4e1761742332a5eac65462d32c922b0c3195bfff451364d5b
Stored in directory: /tmp/pip-ephem-wheel-cache-cq0zuhjz/wheels/a9/2e/1a/9d766b73af29410a2ff79dc367717751536ce3d1f1b2a48470
Building wheel for bluepy (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-u7kz1o59/bluepy/setup.py'"'"'; __file__='"'"'/tmp/pip-install-u7kz1o59/bluepy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-gr5fqtqc
cwd: /tmp/pip-install-u7kz1o59/bluepy/
Complete output (6 lines):
running bdist_wheel
running build
running build_py
Working dir is /tmp/pip-install-u7kz1o59/bluepy
execute make -C ./bluepy clean
error: [Errno 2] No such file or directory: 'make'
----------------------------------------
ERROR: Failed building wheel for bluepy
따라서 하기 패키지를 추가하고 빌드를 파이썬 모듈 설치를 진행합니다.
bash-5.0# apk add build-base glib-dev
(1/13) Installing binutils (2.34-r1)
(2/13) Installing libmagic (5.38-r0)
(3/13) Installing file (5.38-r0)
(4/13) Installing isl (0.18-r0)
(5/13) Installing libatomic (9.3.0-r2)
(6/13) Installing libgphobos (9.3.0-r2)
(7/13) Installing gcc (9.3.0-r2)
(8/13) Installing musl-dev (1.1.24-r10)
(9/13) Installing libc-dev (0.7.2-r3)
(10/13) Installing g++ (9.3.0-r2)
(11/13) Installing fortify-headers (1.1-r0)
(12/13) Installing patch (2.7.6-r6)
(13/13) Installing build-base (0.5-r2)
Executing busybox-1.31.1-r19.trigger
OK: 343 MiB in 181 packages
그러면 하기와 같이 빌드가 정상적으로 진행됩니다.
bash-5.0# pip install git+https://github.com/rytilahti/python-yeelightbt/
Collecting git+https://github.com/rytilahti/python-yeelightbt/
Cloning https://github.com/rytilahti/python-yeelightbt/ to /tmp/pip-req-build-8h9prziv
Collecting bluepy
Using cached bluepy-1.3.0.tar.gz (217 kB)
Requirement already satisfied: construct in /usr/local/lib/python3.8/site-packages (from python-yeelightbt==0.0.4) (2.9.45)
Requirement already satisfied: click in /usr/local/lib/python3.8/site-packages (from python-yeelightbt==0.0.4) (7.1.2)
Building wheels for collected packages: python-yeelightbt, bluepy
Building wheel for python-yeelightbt (setup.py) ... done
Created wheel for python-yeelightbt: filename=python_yeelightbt-0.0.4-py3-none-any.whl size=11665 sha256=6ac6def840be3f490209caaf61fbf6dc2aaaf11e023711b19393e3931a060935
Stored in directory: /tmp/pip-ephem-wheel-cache-h_wg6q1v/wheels/a9/2e/1a/9d766b73af29410a2ff79dc367717751536ce3d1f1b2a48470
Building wheel for bluepy (setup.py) ... done
Created wheel for bluepy: filename=bluepy-1.3.0-cp38-cp38-linux_x86_64.whl size=601511 sha256=c91824e1648552e45e4152003eb64f164f27cd90cb393174d6157997359680a3
Stored in directory: /root/.cache/pip/wheels/ae/52/54/2b125a9bf67f82c81b99fa31f198d14a67b78304522c0a9ece
Successfully built python-yeelightbt bluepy
Installing collected packages: bluepy, python-yeelightbt
Successfully installed bluepy-1.3.0 python-yeelightbt-0.0.4
WARNING: You are using pip version 20.2.4; however, version 21.0.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
5. HACS
저는 Core 버전에서는 HACS를 사용하지 못하는것으로 알았는데 가능하다고 하여 한번 시도해 보았습니다.
bash-5.0# wget -q -O - https://hacs.xyz/install | bash -
INFO: Trying to find the correct directory...
INFO: Found Home Assistant configuration directory at '/config'
INFO: Changing to the custom_components directory...
INFO: Downloading HACS
Connecting to github.com (15.164.81.167:443)
Connecting to github.com (52.78.231.108:443)
Connecting to github-releases.githubusercontent.com (185.199.108.154:443)
saving to 'hacs.zip'
hacs.zip 100% |*******************************************************| 77300 0:00:00 ETA
'hacs.zip' saved
INFO: Creating HACS directory...
INFO: Unpacking HACS...
INFO: Removing HACS zip file...
INFO: Installation complete.
INFO: Remember to restart Home Assistant before you configure it
상기와 같이 설치를 하고 재시작을 해보겠습니다.
먼저 진입한 컨테이너 환경에서 밖으로 나옵니다.
bash-5.0# exit
exit
root@debian:~# docker restart hass
hass
재시작 하고 브라우저로 접속 한 다음, CTRL F5 를 통해 브라우저 캐쉬를 초기화 해줍니다. 이걸 하지 않으면 메뉴에 보이지 않을 수 있다고 하네요.
그리고 통합구성요소로 이동한 다음, 통합 구성요소 추가를 누릅니다.
깃 허브에 로그인을 하라고 나오네요. 코드로 로그인 해줍니다.
하기와 같이 추가가 되었습니다.
이때까지 파일을 넣고 빼고 불편하게 했던 방법들이 쉽게 처리가 될 수 있을것 같습니다.
감사합니다.
반응형