For inverters that do not collect historical data, you may want to do this collection with R.
Here are some ideas to achieve it.
pins
storagelibrary(pins)
board <- board_local()
if (!"inverter_data" %in% pin_list(board)) {
initial_data <- tibble::tibble(
date = lubridate::now(), get_output_data(c("192.168.0.175"))
)
board |> pin_write(initial_data, name = "inverter_data", versioned = TRUE)
}
new_data <- tibble::tibble(
date = lubridate::now(), get_output_data(c("192.168.0.175"))
)
board |> pin_write(rbind(history, new_data), name = "inverter_data", versioned = TRUE)
Now that we know the dynamic behavior, we can move that to a R script and run it on a regular basis with system tools
and you can use and edit the following file as a baseline
and setup (or remove) the environment variables required for the script to run, and finally save the modified script in an accessible folder.
The system tool crontab
is the tool of choice for job
scheduling on linux :
Last step here is to configure the crontab to run it every 30 min
like in the following crontab
entry
# m h dom mon dow command
0,30 * * * * R CMD BATCH /path/of/modified/inverter_data.R
Depending of your version, last step here is to configure the task
scheduler or the powershell PSScheduledJob
to run it.