library(dplyr)
library(lubridate)
library(readr)
library(tidyr)
parse_pvportal_data_1kWp <- function(raw_df, name, tzone, year) {
raw_df[c(1, 5)] %>%
rename(datetime = colnames(.)[1], W = colnames(.)[2]) %>%
mutate(
kW = W/1080, # The original peak power is 1080 W
datetime = with_tz(datetime, tzone), # PV Portal data is in UTC timezone
datetime = floor_date(datetime, unit = "hours", week_start = 1), # PV Portal timeseries is 00:30, 01:30, ...
datetime = datetime + years(year - 2000) # PVPortal data is from 2000
) %>%
select(datetime, kW) %>%
rename(!!sym(name) := kW)
}
solar_data <- tibble(datetime = seq_2018) %>%
left_join(read_csv("data-raw/solar/heerhugowaard_1kWp_roof_E.csv") %>%
parse_pvportal_data_1kWp("Roof_E", get_config("server")$timezone, 2018), by = "datetime") %>%
left_join(read_csv("data-raw/solar//heerhugowaard_1kWp_roof_S.csv") %>%
parse_pvportal_data_1kWp("Roof_S", get_config("server")$timezone, 2018), by = "datetime") %>%
left_join(read_csv("data-raw/solar/heerhugowaard_1kWp_roof_W.csv") %>%
parse_pvportal_data_1kWp("Roof_W", get_config("server")$timezone, 2018), by = "datetime") %>%
left_join(read_csv("data-raw/solar/heerhugowaard_1kWp_façade_E.csv") %>%
parse_pvportal_data_1kWp("Facade_E", get_config("server")$timezone, 2018), by = "datetime") %>%
left_join(read_csv("data-raw/solar/heerhugowaard_1kWp_façade_S.csv") %>%
parse_pvportal_data_1kWp("Facade_S", get_config("server")$timezone, 2018), by = "datetime") %>%
left_join(read_csv("data-raw/solar/heerhugowaard_1kWp_façade_W.csv") %>%
parse_pvportal_data_1kWp("Facade_W", get_config("server")$timezone, 2018), by = "datetime") %>%
fill(-datetime, .direction = "up")
# Insert data to package
usethis::use_data(solar_data, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.