added weekly cumulative graph

Signed-off-by: Ben Varick <ben@dendroalsia.net>
This commit is contained in:
Ben Varick 2022-02-07 10:41:40 -08:00
parent fb5639aa31
commit edfe3bb4d4
Signed by: ben
SSH Key Fingerprint: SHA256:jWnpFDAcacYM5aPFpYRqlsamlDyKNpSj3jj+k4ojtUo

View File

@ -5,6 +5,7 @@ library(httr)
library(jsonlite) library(jsonlite)
library(plotly) library(plotly)
library(scales) library(scales)
library(readODS)
setwd("~/Documents/dataProjects/ecobee") setwd("~/Documents/dataProjects/ecobee")
@ -114,6 +115,27 @@ save(ecobee, file = 'data/ecobee.Rda')
daterange <- data.frame(start = min(ecobee$date), end = max(ecobee$date)) daterange <- data.frame(start = min(ecobee$date), end = max(ecobee$date))
# import utility data ----
utility_data <- read_ods(path = "~/Documents/1333 E 6th St/Expenses.ods", sheet = 2)
utility_data <- utility_data %>%
mutate(start_date = mdy(`start date`),
end_date = mdy(`end date`))
for(i in 1:nrow(utility_data)){
utility_data[i, "heat_pump_hours"] <- sum(ecobee %>%
filter(dateTime > utility_data$start_date[i],
dateTime <= utility_data$end_date[i]) %>%
pull(compHeat1), na.rm = TRUE)/3600
utility_data[i, "heat_aux_hours"] <- sum(ecobee %>%
filter(dateTime > utility_data$start_date[i],
dateTime <= utility_data$end_date[i]) %>%
pull(auxHeat1), na.rm = TRUE)/3600
utility_data[i, "cool_pump_hours"] <- sum(ecobee %>%
filter(dateTime > utility_data$start_date[i],
dateTime <= utility_data$end_date[i]) %>%
pull(compCool1), na.rm = TRUE)/3600
}
# color scale ---- # color scale ----
temp_types <- data.frame(column = c('zoneAveTemp', 'zoneHeatTemp', 'zoneCoolTemp', 'outdoorTemp'), temp_types <- data.frame(column = c('zoneAveTemp', 'zoneHeatTemp', 'zoneCoolTemp', 'outdoorTemp'),
@ -198,6 +220,21 @@ ggplot() +
scale_y_continuous(sec.axis = sec_axis(trans = ~ .x*5, scale_y_continuous(sec.axis = sec_axis(trans = ~ .x*5,
name = "Temperature (\u00B0F)")) name = "Temperature (\u00B0F)"))
ggplot() +
geom_col(data = ecobee %>% pivot_longer(cols = c(compHeat1, auxHeat1, compCool1), names_to = "equipment", values_to = "active_sec"),
aes(x = floor_date(dateTime, 'weeks'),
y = active_sec/60/60,
fill = equipment)) +
scale_fill_manual(labels = equipment_types$label, values = equipment_types %>% pull(color, column)) +
geom_line(data = ecobee,
aes(x = dateTime,
y = outdoorTemp/5*7,
color = 'Outdoor')) +
labs(x = 'date',
y = 'Time equipment runs (hours)') +
scale_y_continuous(sec.axis = sec_axis(trans = ~ .x*5/7,
name = "Temperature (\u00B0F)"))
ggplot(data = ecobee %>% ggplot(data = ecobee %>%
filter(date != "2021-11-13", filter(date != "2021-11-13",
date != today()) %>% date != today()) %>%