adjust time zone and labels

This commit is contained in:
Ben Varick 2023-11-06 18:15:11 -06:00
parent 65d952eb6b
commit 181568487a
Signed by: ben
SSH Key Fingerprint: SHA256:jWnpFDAcacYM5aPFpYRqlsamlDyKNpSj3jj+k4ojtUo

View File

@ -19,13 +19,17 @@ entities <- data.frame(name = c("washing machine", "dryer"), entity_id = c("lamp
update_data <- function(){ 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 <- bind_rows(values)
values <- values %>% values <- values %>%
rename(value = "_value") rename(value = "_value",
time = "_time")
values <- values %>% values <- values %>%
mutate(status = ifelse(value > 1, "on", "off"), mutate(
end_time = c(values$time + minutes(1))) time = as.POSIXct(time, tz = "America/Chicago"),
status = ifelse(value > 1, "on", "off")) %>%
mutate(end_time = time + minutes(1))
# ---- generate html # ---- generate html
@ -52,7 +56,7 @@ update_data <- function(){
ymax = ifelse(entity_id == "lamp_a_power", 0, 2) + 1.5, ymax = ifelse(entity_id == "lamp_a_power", 0, 2) + 1.5,
fill = status)) + fill = status)) +
scale_y_continuous() + 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)) + theme(axis.text.x = element_text(angle = 30, vjust = 0.5)) +
labs(title = "Last 24 hours") labs(title = "Last 24 hours")