R로 HomeAssistant의 InfluxDB에 접속하기

R-Blogger · 블로그·해설 · 2025-11-04

R-Blogger블로그·해설한국어2025-11-04

R로 HomeAssistant의 InfluxDB에 접속하기

Home Assistant와 InfluxDB 연동 문제 해결 저는 가정에서 Home Assistant 인스턴스를 운영하고 있습니다. InfluxDB에 데이터를 저장하도록 설정한 뒤, 이후 분석을 위해 과거 데이터를 가져오려 했습니다. 기본 모드에서는 Home Assistant가 저장 공간을 줄이기 위해 과거 데이터를 집계합니다. 따라서 InfluxDB를 R에서 직접 사용하여 커스텀 분석을 수행하고자 합니다. 현재 Home Assistant는 InfluxDB 1.x 버전을 사용하고 있습니다. InfluxDB에 연결하기 위해 influxdbr 패키지를 시도했지만, 이 패키지가 오래되어 오류가 발생했습니다. 아래는 데이터를 가져오려 할 때 발생한 결과입니다. library(influxdbr) library(tidyverse) influx_con % as.data.frame(stringsAsFactors = FALSE) data_raw_df %% head(10) ## V1 V2 V3 ## 1 2025-11-11T13:20:31.171165Z Temp_5 25.875 ## 2 2025-11-11T13:20:43.741052Z Temp_11 30.625 ## 3 2025-11-11T13:20:43.741159Z Temp_10 48.75 ## 4 2025-11-11T13:20:44.552422Z Temp_8 28.25 ## 5 2025-11-11T13:20:44.552522Z Temp_9 28.25 ## 6 2025-11-11T13:20:50.225514Z Temp_2 19.8 ## 7 2025-11-11T13:21:07.615940Z Temp_15 26.5625 ## 8 2025-11-11T13:21:07.616039Z Temp_14 22.9375 ## 9 2025-11-11T13:21:10.101543Z Temp_13 26.75 ##10 2025-11-11T13:21:10.911298Z Temp_12 23.5 이제 컬럼 이름을 바꾸고(data_raw %% pluck("results", "series", 1, "columns", 1)), time 컬럼을 POSIXct 형식으로 변환했습니다. data_raw_df %% set_names(data_raw %% pluck("results", "series", 1, "columns", 1)) %% mutate( time = as.POSIXct(time, format = "%Y-%m-%dT%H:%M:%OSZ", tz = "UTC"), value = as.numeric(value) ) %% str() 결과는 다음과 같습니다. 'data.frame': 44176 obs. of 3 variables: ## $ time : POSIXct, format: "2025-11-11 13:20:31" "2025-11-11 13:20:43" ... ## $ entity_id: chr "Temp_5" "Temp_11" "Temp_10" "Temp_8" ... ## $ value : num 25.9 30.6 48.8 28.2 28.2 ... 이처럼 influxdbr 패키지를 사용할 때 발생하는 문제를 해결하려면 최신 패키지를 활용하는 것이 좋습니다. 예를 들어 influxdb2 또는 influxdb 패키지를 사용하면 InfluxDB 1.x와의 호환성도 개선됩니다. 필요에 따라 패키지를 설치하고 연결 예시를 참고해 보시길 바랍니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2025-11-04