data-raw/solar_data.R

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)
mcanigueral/testapp documentation built on June 30, 2020, 2:55 p.m.