Hubitat의 시스템 정보를 포함한 각 디바이스의 온습도 정보 등을 그래프로 한눈에 볼 수 있는 방법을 소개시켜드립니다.

제가 사용한 방법은 Hubitat 자체 서비스를 이용하기 보다는 외부 서비스를 이용하는 방법입니다.

먼저 2가지의 도커 컨테이너가 필요합니다.

첫번째로 모니터링 화면을 뿌려주는 Grafana.

두번째로 Hubitat 정보를 저장할 Influxdb. (influxdb는 v2가 아닌 v1.8.10으로 설치해주셔야 합니다.)

각 도커 컨테이너 docker-compose.yml 파일의 내용은 아래를 참고하시면 됩니다.

[grafana]

version: '3.6'

services:

grafana:

image: grafana/grafana:latest

container_name: grafana

ports:

- 3000:3000

environment:

- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource

volumes:

- /docker/grafana/var_lib_grafana:/var/lib/grafana

- /docker/grafana/etc_grafana/grafana.ini:/etc/grafana/grafana.ini:ro

restart: always

[influxdb]

version: '3.6'

services:

influxdb:

image: influxdb:1.8.10

container_name: influxdb

ports:

- 8086:8086

restart: always

volumes:

- influxdb_data:/bitnami/influxdb

volumes:

influxdb_data:

infuxdb 도커 컨테이너를 생성하였다면 해당 도커 컨테이너의 터미널 환경으로 접속하여 influxdb에 접속해서 database를 생성해줍니다.

명령어는 아래 스크린샷을 참고하시면 됩니다.

터미널에서 influx를 입력해서 db에 접속한 후 database를 생성해주면 됩니다.

database 생성하는 명령어는 "create database 사용할 DB 이름" 입니다.

drop 은 삭제하는 명령어 show databases는 현재 database 목록을 보는 명령어 입니다.

2024.03.31 Update

※ DB를 따로 관리가 필요없으신 분들이나 watchtower를 이용해서 도커 컨테이너 자동 업데이트를 사용하시는 분들은 Database를 따로 만들 필요 없이 기본 database를 사용하시면 됩니다.

Database Name : _internal

도커 컨테이너를 생성하였다면 Hubitat Hub로 돌아와서 influxdb-logger App을 설치해줍니다.

HPM에서 influxdb-logger로 검색해서 설치하시면 됩니다.

Add User App으로 Influxdb logger app 생성 후 InfluxDB Settings에서 InfluxDB connection 항목을 설정해줍니다.

Host에는 influxdb IP, Port는 influxdb port (기본값 8086)

버전은 v1.x를 선택하시고 Database Name은 위에서 생성한 DB 이름을 입력해줍니다.

2024.03.31 Update

※ DB를 따로 관리가 필요없으신 분들이나 watchtower를 이용해서 도커 컨테이너 자동 업데이트를 사용하시는 분들은 Database를 따로 만들 필요 없이 기본 database를 사용하시면 됩니다.

Database Name : _internal

DB Logging 인터벌 시간을 설정해주고 logging 값을 저장할 디바이스를 선택해줍니다.

디아비스 선택에 앞서서 디바이스의 일부 속성값만 선택을 위해 Advanced attribute selection을 활성화 해줍니다.

그 밑에 선택한 디바이스 목록에서 필요한 속성 값을 선택해줍니다.

이제 Hubitat에서의 설정은 끝났습니다.

Grafana 설정을 위해서 Grafana에 로그인을 합니다. (Default 계정 : admin / admin)

로그인 및 비밀번호 변경 후 Grafana -> Configuration -> Data sources로 이동합니다.

Add new data source를 눌러서 InfluxDB를 선택합니다.

필요한 부분을 입력해줍니다.

Name 항목은 이름

HTTP URL 항목은 Influxdb 정보

Database는 생성해둔 database 이름

HTTP Method는 GET으로 설정합니다.

설정 값 입력 완료 후 저장해주면 아래와 같이 Data Source가 하나 생성이 되었습니다.

항목의 옆에 Explore를 눌러서 Influxdb에 저장된 데이터를 살펴보겠습니다.

Influxdb에서 가져온 값을 쿼리할 수 있는 메뉴가 나옵니다.

hubitat에서 설정한 logging 값은 바로 가져오지 않고 Hubitat influx-logging App에서 설정한 시간만큼 지난 후 값을 가져오게 됩니다.

Hubitat의 logging 값을 가져왔다면 아래와 같이 설정한 디바이스 속성 같에 대한 데이터를 쿼리할 수 있습니다.

필요하다면 쿼리를 추가해서 2개, 3개의 값을 동시에 그래프로 표시할 수 있습니다.

쿼리한 결과 값은 시간을 조정해서 좀 더 많은 그래프를 볼 수 있습니다.

완료된 쿼리 값은 Add to dashboard를 눌러서 대시보드에 추가할 수 있습니다.

대시보드에 추가된 그래프는 저장을 눌러서 해당 대시보드를 저장해줍니다.

그래프 속성을 변경은 이름을 눌러서 변경할 수 있습니다.

그래프가 점이 아닌 항상 선으로 표시하고 싶으면 편집 속성 우측의 아랫 부분에 Connection null values를 Always로 설정합니다.

그래프의 이름은 편집 속성 우측 제일 상단에서 변경할 수 있습니다.

이와 같은 방법으로 온도, 습도 값을 그래프로 대시보드로 설정할 수 있습니다. ^^

지금까지의 내용은 아래의 링크 글을 참고하였습니다.

https://community.hubitat.com/t/hubitat-influxdb-grafana-howto-ubuntu-linux/97798

Posted by 땡깡둥이