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 버튼을 눌러서 설치합니다.2 InfluxDB add-on 설정하기
configuration 초기값
auth: true reporting: true ssl: true certfile: fullchain.pem keyfile: privkey.pem envvars: []
configuration 설정 예
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 버튼 누르기
Log 확인하기
4 InfluxDB 연결하기
InfluxDB Admin에서 Create Database하기
왼쪽사이드 바에서 을 클릭하면 InfuxDB Admin 화면이 나옵니다.
InfuxDB Admin 화면에서 + Create Database를 눌러서 homeassistant라는 이름을 입력하고 를 누릅니다.다음의 InfuxDB Admin 화면에 새로운 데이타베이스인 homeassistant가 나타납니다.
InfluxDB Admin에서 Create User 하기
왼쪽사이드 바에서 을 클릭하여 InfuxDB Admin 화면이 나오면 Users탭을 누릅니다.
InfuxDB Admin의 Users 탭에서 + Create User 버튼을 누릅니다. homeassistant라는 이름과 비밀번호를 입력하고 를 누릅니다. InfuxDB Admin 화면에 새로운 User인 homeassistant가 나타납니다. Permissions에 커서를 대면 드롭다운 리스트가 나타나는데 All을 선택하고 Aplly 버튼을 누릅니다.configuration.yaml에서 InfluxDB 설정하기
위쪽 왼쪽 모서리의 을 클릭하여 config/configuration.yaml 파일을 선택한 후 편집 모드로 만듭니다.
편집창의 아랫 부문에 다음 내용을 추가하고 을 눌러서 파일을 보관합니다. 여기서 password는 본인의 것으로 바꾸어야 합니다.
influxdb: host: a0d7b954-influxdb port: 8086 database: homeassistant username: homeassistant password: homeassistant max_retries: 3 default_measurement: state
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)와 패스워드를 앞에서 설정해 둔대로 입력합니다.
3 influxDB out 노드 설정하기
influxDB out노드를 설정합니다. Server와 Database는 앞에서 지정한 정보를 사용합니다. Measurement는 데이터가 보관되는 장소를 말하는데 SQL DB의 테이블에 해당합니다. 임의로 지정하면 됩니다.InfluxDB의 대시보드에서 확인하기
앞의 Node-RED 플로우에서 입력한 데이터는 InfluxDB의 대시보드에서 확인이 가능합니다. 대시보드의 Explorer 기능을 이용합니다.