From 181568487a314f5a9c9ff87c994897b34d283883 Mon Sep 17 00:00:00 2001 From: Ben Varick Date: Mon, 6 Nov 2023 18:15:11 -0600 Subject: [PATCH] adjust time zone and labels --- laundry_status.R | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/laundry_status.R b/laundry_status.R index 6314139..619a7ec 100644 --- a/laundry_status.R +++ b/laundry_status.R @@ -19,13 +19,17 @@ entities <- data.frame(name = c("washing machine", "dryer"), entity_id = c("lamp update_data <- function(){ - values <- home_assistant$query('from(bucket: "home_assistant") |> range(start: -7d) |> filter(fn: (r) => r["entity_id"] == "lamp_b_power" or r["entity_id"] == "lamp_a_power") |> filter(fn: (r) => r["_field"] == "value") |> filter(fn: (r) => r["_measurement"] == "W")') + values <- home_assistant$query('from(bucket: "home_assistant") |> range(start: -7d) |> filter(fn: (r) => r["entity_id"] == "lamp_b_power" or r["entity_id"] == "lamp_a_power") |> filter(fn: (r) => r["_field"] == "value") |> filter(fn: (r) => r["_measurement"] == "W")', + POSIXctCol = NULL) values <- bind_rows(values) values <- values %>% - rename(value = "_value") + rename(value = "_value", + time = "_time") values <- values %>% - mutate(status = ifelse(value > 1, "on", "off"), - end_time = c(values$time + minutes(1))) + mutate( + time = as.POSIXct(time, tz = "America/Chicago"), + status = ifelse(value > 1, "on", "off")) %>% + mutate(end_time = time + minutes(1)) # ---- generate html @@ -52,7 +56,7 @@ update_data <- function(){ ymax = ifelse(entity_id == "lamp_a_power", 0, 2) + 1.5, fill = status)) + scale_y_continuous() + - scale_x_datetime(date_breaks = "4 hours", date_labels = '%I:%M %p', date_minor_breaks = "6 hours") + + scale_x_datetime(breaks = seq(round_date(max(values$time), "4 hours") - hours(24), round_date(max(values$time), "4 hours"), by = "4 hours"), date_labels = '%I:%M %p', date_minor_breaks = "1 hours") + theme(axis.text.x = element_text(angle = 30, vjust = 0.5)) + labs(title = "Last 24 hours")