본문 바로가기

지이노/ReView & Using

Hass.io에 Configurator 설치하기


SAMBA를 사용하지 한고 YAML 파일을 수정 할 때 사용하는 것은 Putty 이다.


Putty를 사용할 때 마다 느끼는 건데


나는 리눅스랑 안 맞다.


윈도우에 절여져 있는 내 눈에는 텍스트만 있는 Putty의 환경은 답답하기만 하다.


항상 무언가 잘못 누르고, 한참 수정하다가 실수로 뒤로 가버려서 


모든 수정 내용을 날려먹기도 했다.


마우스로 클릭해서 원하는 부분만 수정하고


드래그해서 필요없는 부분은 싹 날려버리고 싶은데


Putty에서 그게 어렵더라...


이런 사람들을 위해 존재하는 빛과 같은 기능은 없는걸까?


..


..


..


있다.


Hass.io의 에드온 중에는 내부의 파일을 웹브라우저 형식으로 읽어올 수도, 


웹브라우저에서 수정해서 저장 할 수도 있다.


아주 빛과 같은 에드온이라고 할 수 있는데 그 이름은 바로,






1. Configurator


내가 봤을 때 나 같은 사람은 무조건 추가해서 사용해야 하는 에드온이다.


이 에드온을 사용하면 Hass.io에 브라우저 기반 파일 편집기를 추가할 수 있다.


대표적인 기능으로는 


    • Web-based editor to modify your files with syntax highlighting and YAML linting.
    • Upload and download files.
    • Stage, stash and commit changes in Git repositories, create and switch between branches, push to remotes, view diffs.
    • Lists with available entities, triggers, events, conditions and services.
    • Restart Home Assistant directly with the click of a button. Reloading groups, automations, etc. can be done as well. An API password is required.
    • SSL/TLS support.
    • Optional authentication and IP filtering for added security.
    • Direct links to Home Assistant documentation and icons.
    • Execute shell commands within the add-on container.
    • Editor settings are saved in your browser.
    • And much more…


하나하나 해석을 달아 놓고는 싶지만 다른사람이 보기에 이건 그 뜻이 아닌데? 라는 이야기가 나올까봐


원문 그대로 옮겨둔다.


대충 YAML파일을 수정할 수 있고 파일을 업로드/다운로드 가능하며 사용가능한 명령어가 포함되어 인식가능하다.


그 외에도 HA에 간단한 명령을 내릴 수 있고 기타 등등의 기능이 있다.






2. Configurator 설치하기


물론 설치방식은 다른 에드온과 동일하다


[설치] Hass.io에 SSH Server 설치하기


[설치] Hass.io에 SAMBA 설치하기


에드온 스토어에서 Configurator 페이지로 이동하도록 한다.



이번에도 설치방법은 어렵지 않다.


'INSTALL' 버튼을 눌러주면 시간이 지나고 자동으로 설치를 완료한다.


Configurator를 간략히 설명하자면 


Configurator의 보안등급은 5등급이다.


5점이면 가장 높은 점수 바로 다음이다.


그래서인지 DDNS로 접속이 안된다...


나만 그런건가?


API 액세스는 기본이다.


일반적인 액세스 권한만을 가지고 있다.


참고로 SSH Server는 Manager급 이다.


앱아머는 역시 기본이다.


About을 살펴봤다.


???


글이 늘어날 수록 어바웃에 쓸만한 글이 없다.






3. Config / Network


SSH Server와 흡사하다 접속시 보안을 위한 유저이름, 암호, 접속에 사용될 포트번호를 설정한다.


그 외에도 설정할 것이 더 있으나 간략한 설명으로 대체한다.


참고로 나는 기본값을 사용했다.



Config의 내용은 아래와 같다.


{

  "username": "admin",

  "password": null,

  "ssl": false,

  "certfile": "fullchain.pem",

  "keyfile": "privkey.pem",

  "allowed_networks": [

    "192.168.0.0/16",

    "172.30.0.0/16"

  ],

  "banned_ips": [

    "8.8.8.8"

  ],

  "banlimit": 0,

  "ignore_pattern": [

    "__pycache__"

  ],

  "dirsfirst": false,

  "enforce_basepath": false,

  "notify_service": "persistent_notification.create"

}


여기서 password를 제외하곤 전부 그냥 사용해도 보안상 문제가 있을 뿐 별로 특별한 문제는 없다.


username

(문자열) (필수)    접속에 사용될 사용자 이름을 설정한다.


passowrd

(문자열) (필수)    접속에 사용될 사용자의 암호를 설정한다.


ssl

(디지털) (필수)    편집기에서 SSL / TLS의 사용여부를 설정한다.

기본값 : false


cerfile

(문자열) (필수)    ssl 옵션이 true로 설정된 경우 SSL 인증서를 설정한다.


keyfile

(문자열) (필수)    ssl 옵션이 treu로 설정된 경우 SSL 개인키를 설정한다.


allowed_networks

(문자열) (필수)    사용자가 허용할 IP 주소를 설정한다.

기본상태로 두면 동일한 로컬 네트워크 상에서는 모두 접속이 가능하다.


banned_ips

(문자열) (필수)    접속을 금지할 IP 주소를 설정한다.


banlimit

(문자열) (필수)    로그인 시도 제한 횟수를 설정한다. 0으로 설정할 경우 비활성화 된다.

기본값 : 0


ignore_pattern

(문자열) (필수)    UI에서 무시할 파일 및 폴더의 정규식을 설정한다.

설정된 파일 및 폴더는 Configurator에서 보이지 않는다.


dirsfirst

(문자열) (필수)    브라우저의 파일 앞에 디렉토리를 나열한다.

기본값 : false


enforce_basepath

(문자열) (필수)    이 설정을 true로 설정하면 액세스는 /config 디렉토리 내의 파일로 제한된다.

기본값 : false


notify_service

(문자열) (필수)    알람을 푸시하는데 사용할 사용자 정의 알림 서비스를 설정한다.


loglevel

(문자열) (옵션)    Confugurator가 실행해야 하는 로그 수준이다.

유효한 값은 debug, info, warning, error, critical 이다.

기본값 : info


sesame

(문자열) (옵션)    요청이 시작된 IP의 액세스를 동적으로 허용하는 비밀 토큰이다.

allowed_networks가 []로 설정되어 있고 IP가 허용 목록에 포함되면

북마크 https://hassio.yourdomain.com:8123/somesecretnobodycanguess 를 연다.

네트워크 상태 메뉴를 사용하여 액세스 권한이 부여 된 IP 주소를 취소할 수 있다.

여전히 정기적인 인증이 필요하다.


sesami_totp_secret

(문자열) (옵션)    sesame 옵션과 비슷하지만 대신 Base32로 인코딩 된 보안문자열을 제공해야 한다.

그런 다음 문자열을 Google OTP와 같은 TOTP 앱에 추가 할 수 있다.

이 경우 30초 마다 6자리 sesame가 생성된다.


자신에게 맞게 필수/옵션을 설정하고 SAVE 버튼으로 저장하면 된다.



Config를 설정 완료 했다면 Network를 설정하면 된다.


Network는 접속에 사용될 포트번호를 설정한다.


기본 설정으로 되어 있는 포트번호는 8128 이므로 참고.


마찬가지로 설정을 완료했다면 SAVE 버튼을 눌러준다.




모든 설정이 끝났다.


페이지를 위로 올려 START 버튼을 눌러서 에드온을 시작하자.






4. 사용


Configurator에 접속하는 방법은 몇가지가 있다.


첫번째로 에드온 페이지에서 'OPEN WEP UI' 버튼을 클릭하는 것이다.



이 버튼을 누르는 것으로 간단하게 Configurator의 Web UI로 접속할 수 있다.


그 다음으로 IP를 입력해서 직접 접속하는 방법이다.


http://192.168.xx.xx:3218/


자신의 HA 아이피 다음에 포트번호를 3218로 입력하면 HA 페이지를 건너뛰고 바로 Configurator 화면으로 접속하게 되어 있다.


접속하는 방법이 매우 간단하다.



처음 접속하게 되면 로그인을 요구한다.


앞서 설정 한대로 사용자 이름과 비밀번호를 입력하고 로그인한다.



로그인하게 되면 위와 같은 페이지에 접속하게 된다.


우선 붉은 화살표로 표시한 곳을 눌러본다.



내 Hass.io의 config/ 디렉토리에 존재하는 모든 파일들이 보인다.


이 리스트에서 내가 수정하고 싶은 파일을 선택하면 해당 파일을 열고 수정할 수 있게 된다.



수정을 완료하고 위의 저장버튼을 클릭하면 내 디렉토리내의 YAML 파일이 수정한 그대로 저장된다.


처음 파일을 열고 수정하기 전에는 저장버튼이 보이지 않으므로 찾을 필요는 없다.


수정을 시작하면 바로 표시된다.



수정을 완료하면 오른쪽 상단에 붉은 화살표로 표시한 부분을 눌러서 HA에 명령을 내릴 수 있다.


Configuration.yaml을 수정했으므로 HA를 재시작해야한다.


아래쪽에 잘 보면 Restart HASS가 있으므로 클릭한다.


HA가 재기동하고 수정된 부분이 적용된다.






5. 완료


Configurator를 설치하고 사용해보았다.


편리하다.


이녀석이 있으면 굳이 Notepad++ 같은 편집기를 사용하지 않아도 무방하다.


거의 동일한 기능을 할 수 있기 때문에 웹에서 진행해도 무방하기 때문이다.


이전과 마찬가지로 설치가 완료되었기 때문에 데시보드에서 확인이 가능하다.



개인적으로 Hass.io를 사용하는데 있어 편리한점이 이만저만이 아닌 것 같다.


HA의 Configurator 페이지를 확인해보면 일반 HA에 독립실행 버전은 Github에서 다운 받을 수 있다는 것을 보니


Hass.io가 아니어도 설치는 가능한 듯 하다.


하지만 Hassbian을 삭제했으므로 테스트는 해보지 못했다.


Configurator 만족이다.