• Skip to primary navigation
  • Skip to main content

IoTmaker

사물인터넷에 대한 모든 것 여기서 해결하셔요!

  • 홈
  • 책:마이크로파이썬을 활용한 사물인터넷
  • 책:따라 하면서 배우는 사물인터넷
  • 온라인 교육 코스
  • 새로운 소식
  • 의견보내기
  • 내 수강정보
  • 로그인
  • 회원가입

Home Assistant에 InfluxDB add-on 설치하기

책에서 사용하는 부품 구입하기 [안내]본문의 텍스트 박스 내용 복사하는 방법 Home Assistant에 Node-RED add-on을 설치하는 방법을 안내합니다.

 0  사전 작업

라즈베리파이에 Home Assistant가 설치되고 File Editor add-on를 사용할 수 있어야 합니다. 준비가 되어 있지 않으면 다음 링크에 따라 관련 부분을 설치합니다.

라즈베리파이에 Home Assistant와 IoT용 서버 설치하기

 1  InfluxDB add-on 선택하기

사이드 바의 Supervisor 항목 사용

왼쪽 사이드 바에서 Supervisor ▶ Add-on Store ▶ InfluxDB를 따라 선택합니다. Add-on Strore의 Home Assistant Community Add-ons 영역에 Node-RED add-on이 있습니다.

INSTALL 버튼을 눌러서 설치합니다.

InfluxDB add-on 화면

 2 InfluxDB add-on 설정하기

configuration 초기값
Supervisor ▶ Add-on Store ▶ InfluxDB에서 Configuration 탭을 선택하면 나타나는 기본 값입니다.

auth: true
reporting: true
ssl: true
certfile: fullchain.pem
keyfile: privkey.pem
envvars: []
configuration 설정 예
Supervisor ▶ Add-on Store ▶ InfluxDB에서 Configuration 탭을 선택하고 다음 내용대로 입력합니다. 편집창 아래의 SAVE를 누르면 내용이 저장됩니다.

auth: true
reporting: true
ssl: true
certfile: fullchain.pem
keyfile: privkey.pem
envvars:
  - name: INFLUXDB_HTTP_LOG_ENABLED
    value: 'true'
log_level: info
Network 설정

Network는 기본값 그대로 둡니다.

 3  InfluxDB 시작하기

START 버튼 누르기
Supervisor ▶ Add-on Store ▶ InfluxDB에서 Info 탭을 선택하고 아래의 START 버튼을 누릅니다.

실행된 InfluxDB add-on 화면
InfluxDB를 START 또는 RESTART하고 일정 시간 기다립니다. 다음에 오는 연결작업을 하면 Home Assistant와 연동되어 작동합니다.

Log 확인하기
Supervisor ▶ Add-on Store ▶ InfluxDB에서 Log 탭을 눌러서 add-on의 작동 상태를 볼 수 있습니다. REFLESH 버튼을 누를 때마다 최신 내용이 나타납니다.

InfluxDB add-on의 Log 화면

 4  InfluxDB 연결하기

InfluxDB Admin에서 Create Database하기
Supervisor ▶ Add-on Store ▶ InfluxDB에서 INFO 탭을 선택하고 아래의 OPEN WEB UI 버튼을 누릅니다. 그러면 InfluxDB 대시보드가 나타납니다.

왼쪽사이드 바에서 을 클릭하면 InfuxDB Admin 화면이 나옵니다.

InfluxDB Admin 화면
InfuxDB Admin 화면에서 + Create Database를 눌러서 homeassistant라는 이름을 입력하고 를 누릅니다.

Create Database 화면

다음의 InfuxDB Admin 화면에 새로운 데이타베이스인 homeassistant가 나타납니다.

생성된 homeassistant 데이타베이스 화면
InfluxDB Admin에서 Create User 하기
Supervisor ▶ Add-on Store ▶ InfluxDB에서 INFO 탭을 선택하고 아래의 OPEN WEB UI 버튼을 누릅니다. 그러면 InfluxDB 대시보드가 나타납니다.

왼쪽사이드 바에서 을 클릭하여 InfuxDB Admin 화면이 나오면 Users탭을 누릅니다.

InfluxDB Admin의 Users 화면
InfuxDB Admin의 Users 탭에서 + Create User 버튼을 누릅니다. homeassistant라는 이름과 비밀번호를 입력하고 를 누릅니다.

Create User 화면
InfuxDB Admin 화면에 새로운 User인 homeassistant가 나타납니다. Permissions에 커서를 대면 드롭다운 리스트가 나타나는데 All을 선택하고 Aplly 버튼을 누릅니다.

Permissions 설정 화면
User인 homeassistant가 등록 완료된 화면
configuration.yaml에서 InfluxDB 설정하기
InfluxDB를 설치하고 설정 작업만 한다고 해서 사용할 수는 없습니다. InfluxDB와 Home Assistant를 연결 하는 절차가 필요합니다. configuration.yaml이라는 파일에 InfluxDB정보를 추가하면 됩니다.

Supervisor ▶ Add-on Store ▶ File Editor에서 INFO 탭을 선택하고 아래의 OPEN WEB UI 버튼을 누릅니다. 그러면 File Editor 화면이 나타납니다.

위쪽 왼쪽 모서리의 을 클릭하여 config/configuration.yaml 파일을 선택한 후 편집 모드로 만듭니다.

File Editor의 편집창에 나타난 config/configuration.yaml 파일

편집창의 아랫 부문에 다음 내용을 추가하고 을 눌러서 파일을 보관합니다. 여기서 password는 본인의 것으로 바꾸어야 합니다.

influxdb:
  host: a0d7b954-influxdb
  port: 8086
  database: homeassistant
  username: homeassistant
  password: homeassistant
  max_retries: 3
  default_measurement: state
수정된 configuration.yaml 파일
Home Assistant 다시 시작하기

Home Assistant를 다시 시작해야 InfuxDB가 연동되어 작동합니다.

설정 ▶ 서버 제어 ▶ 재시작을 선택합니다.

서버 재시작 화면

 5  InfluxDB 사용하기

Node-RED에서 InfluxDB 에 데이터 입력하기

 1  플로우 만들기

inject 노드의 버튼을 누르 때마다 Random 노드에서 20~30 사이의 숫자를 InfluxDB에 입력하는 Node-RED 플로우입니다.

[플로우의 소스]
[{"id":"185ffad7.39bc15","type":"tab","label":"sensros","disabled":false,"info":""},{"id":"65946139.4abee","type":"inject","z":"185ffad7.39bc15","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":80,"wires":[["f6227aa.8e1c388"]]},{"id":"1f800bb1.2905f4","type":"influxdb out","z":"185ffad7.39bc15","influxdb":"ac680073.6593b","name":"sensors","measurement":"sensors","precision":"","retentionPolicy":"","database":"homeassistant","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":460,"y":80,"wires":[]},{"id":"f6227aa.8e1c388","type":"random","z":"185ffad7.39bc15","name":"20~30","low":"20","high":"30","inte":"true","property":"payload","x":290,"y":80,"wires":[["1f800bb1.2905f4"]]},{"id":"ac680073.6593b","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"database","name":"homeassistant","usetls":false,"tls":"","influxdbVersion":"1.8-flux","url":"http://localhost:8086","rejectUnauthorized":true}]

 2  influxDB 설정하기

먼저 InfluxDB를 설정합니다. 유저(사용자 ID)와 패스워드를 앞에서 설정해 둔대로 입력합니다.

InfluxDB의 설정 노드 추가하기 화면

 3  influxDB out 노드 설정하기

influxDB out노드를 설정합니다. Server와 Database는 앞에서 지정한 정보를 사용합니다. Measurement는 데이터가 보관되는 장소를 말하는데 SQL DB의 테이블에 해당합니다. 임의로 지정하면 됩니다.

influxDB out의 노드 수정 화면
InfluxDB의 대시보드에서 확인하기

앞의 Node-RED 플로우에서 입력한 데이터는 InfluxDB의 대시보드에서 확인이 가능합니다. 대시보드의 Explorer 기능을 이용합니다.

InfluxDB의 대시보드에서 Explorer 기능 사용하기

Copyright © 2025 ·로그인