⚠️ DEPRECATED — this package is no longer maintained.
zentracloudtargets the legacy ZENTRA Cloud (zentracloud.com) API. It has been superseded by ZENTRA Cloud 2.0 (app.zentracloud.io) and the new zentraR package. New users should start with zentraR; existing users are encouraged to migrate.
- zentraR package: https://gitlab.com/meter-group-inc/pubpackages/zentraR
- zentraR documentation: https://docs.zentracloud.io/l/en/category/a9xirl3w09-r-client-zentra-r
Note for zentracloud.eu users: ZENTRA Cloud 2.0 does not yet have an EU equivalent, so zentraR cannot currently access data hosted on zentracloud.eu. If your data lives on zentracloud.eu, continue using this package for now. Most accounts (including many in the EU) are on the default zentracloud.com server, which shares data with app.zentracloud.io and is fully supported by zentraR.
zentracloud provides functions to access your data via METER’s ZENTRA
Cloud API.
As the package is hosted on a public gitlab page, all that needs to be done to install the package is:
url = "https://gitlab.com/meter-group-inc/pubpackages/zentracloud"
remotes::install_git(url = url, build_vignettes = TRUE)
The build_vignette argument is optional, but using it allows the use
of vignette("zentracloud") to show the introductory article.
# load package
library(zentracloud)
Currently, there are only a few user relevant, exported functions:
setZentracloudOptions() writes all required package settings to the
global options. These are:
If the cache settings are not provided explicitly, default values are
used. setZentracloudOptions() has to be performed once at the
beginning of a session.
getZentracloudOptions() lists all currently set options.
setZentracloudOptions(
token = Sys.getenv("ZENTRACLOUD_TOKEN")
, domain = "default"
)
getZentracloudOptions()
#> <zentracloudOptions>
#> ZENTRACLOUD_CACHE_DIR : /home/<user>/.cache/R/zentracloud
#> ZENTRACLOUD_CACHE_MAX_AGE : 7
#> ZENTRACLOUD_CACHE_MAX_SIZE: 500
#> ZENTRACLOUD_DOMAIN : zentracloud.com
#> ZENTRACLOUD_TOKEN : <-- hidden -->
getReadings() is the main function of the package. It takes the device
serial number as well as start and end date datetime in question. The
token and domain needed for the API query are read from the options,
therefore the function will fail if these info have not been set using
setZentracloudOptions().
getReadings() first checks the cache if any of the requested time
period is covered by the results of a previous query. If yes, it loads
that part and appends anything that is missing, while also writing the
new data to cache. If not, it queries the ZENTRA Cloud API and saves the
results to cache. The cache directory is also read from the options.
library(zentracloud)
setZentracloudOptions(
token = Sys.getenv("ZENTRACLOUD_TOKEN")
, domain = "default"
)
zentra_data = getReadings(
device_sn = "06-01185"
, start_time = "2022-06-01 00:00:00"
, end_time = "2022-06-14 23:59:00"
, force_api = FALSE
, ignore_cache = FALSE
)
str(zentra_data, max.level = 3, give.attr = FALSE)
#> List of 6
#> $ ATM-410003090_port6: tibble [20 × 48] (S3: tbl_df/tbl/data.frame)
#> ..$ timestamp_utc : int [1:20] 1654066800 1654067700 1654068600 1654069500 1654070400 1654071300 1654072200 1654073100 1654074000 1654074900 ...
#> ..$ tz_offset : int [1:20] -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 ...
#> ..$ datetime : chr [1:20] "2022-06-01 00:00:00-07:00" "2022-06-01 00:15:00-07:00" "2022-06-01 00:30:00-07:00" "2022-06-01 00:45:00-07:00" ...
#> ..$ rh_sensor_temp.value : num [1:20] 12 11.8 11.4 11.3 11.2 11.2 11.2 11 10.9 10.9 ...
#> ..$ rh_sensor_temp.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ rh_sensor_temp.error_description : chr [1:20] NA NA NA NA ...
#> ..$ precipitation.value : num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ precipitation.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ precipitation.error_description : chr [1:20] NA NA NA NA ...
#> ..$ solar_radiation.value : num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ solar_radiation.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ solar_radiation.error_description : chr [1:20] NA NA NA NA ...
#> ..$ x_axis_level.value : num [1:20] -0.6 -0.7 -0.7 -0.7 -0.7 -0.7 -0.7 -0.6 -0.7 -0.6 ...
#> ..$ x_axis_level.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ x_axis_level.error_description : chr [1:20] NA NA NA NA ...
#> ..$ wind_speed.value : num [1:20] 2.93 1.86 2.03 2.24 2.08 2.27 1.63 1.61 1.69 2.63 ...
#> ..$ wind_speed.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ wind_speed.error_description : chr [1:20] NA NA NA NA ...
#> ..$ lightning_distance.value : num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ lightning_distance.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ lightning_distance.error_description : chr [1:20] NA NA NA NA ...
#> ..$ wind_direction.value : num [1:20] 105 114 107 106 98 99 101 102 95 96 ...
#> ..$ wind_direction.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ wind_direction.error_description : chr [1:20] NA NA NA NA ...
#> ..$ y_axis_level.value : num [1:20] 0.8 0.8 0.8 0.8 0.8 0.9 0.9 0.8 0.8 0.8 ...
#> ..$ y_axis_level.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ y_axis_level.error_description : chr [1:20] NA NA NA NA ...
#> ..$ vpd.value : num [1:20] 0.39 0.35 0.36 0.35 0.35 0.35 0.31 0.31 0.3 0.34 ...
#> ..$ vpd.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ vpd.error_description : chr [1:20] "" "" "" "" ...
#> ..$ max_precip_rate.value : num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ max_precip_rate.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ max_precip_rate.error_description : chr [1:20] NA NA NA NA ...
#> ..$ lightning_activity.value : num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ lightning_activity.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ lightning_activity.error_description : chr [1:20] NA NA NA NA ...
#> ..$ atmospheric_pressure.value : num [1:20] 93 93 93 93 93 ...
#> ..$ atmospheric_pressure.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ atmospheric_pressure.error_description: chr [1:20] NA NA NA NA ...
#> ..$ vapor_pressure.value : num [1:20] 1.02 1.02 1 1.01 1.01 ...
#> ..$ vapor_pressure.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ vapor_pressure.error_description : chr [1:20] NA NA NA NA ...
#> ..$ air_temperature.value : num [1:20] 12.1 11.6 11.6 11.5 11.5 11.5 11.2 11.2 11.1 11.5 ...
#> ..$ air_temperature.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ air_temperature.error_description : chr [1:20] NA NA NA NA ...
#> ..$ gust_speed.value : num [1:20] 5 2.96 3.34 4 4.08 4.75 2.75 3.14 3.96 5.45 ...
#> ..$ gust_speed.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ gust_speed.error_description : chr [1:20] NA NA NA NA ...
#> $ T12-0000248_port5 : tibble [20 × 12] (S3: tbl_df/tbl/data.frame)
#> ..$ timestamp_utc : int [1:20] 1654066800 1654067700 1654068600 1654069500 1654070400 1654071300 1654072200 1654073100 1654074000 1654074900 ...
#> ..$ tz_offset : int [1:20] -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 ...
#> ..$ datetime : chr [1:20] "2022-06-01 00:00:00-07:00" "2022-06-01 00:15:00-07:00" "2022-06-01 00:30:00-07:00" "2022-06-01 00:45:00-07:00" ...
#> ..$ saturation_extract_ec.value : num [1:20] 2.1 2.09 2.1 2.1 2.1 ...
#> ..$ saturation_extract_ec.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ saturation_extract_ec.error_description: chr [1:20] NA NA NA NA ...
#> ..$ water_content.value : num [1:20] 0.361 0.361 0.361 0.361 0.361 0.361 0.361 0.361 0.361 0.361 ...
#> ..$ water_content.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ water_content.error_description : chr [1:20] NA NA NA NA ...
#> ..$ soil_temperature.value : num [1:20] 10.1 10.1 10.1 10.1 10.1 10.1 10.1 10.1 10.1 10.1 ...
#> ..$ soil_temperature.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ soil_temperature.error_description : chr [1:20] NA NA NA NA ...
#> $ T12-0000495_port4 : tibble [20 × 12] (S3: tbl_df/tbl/data.frame)
#> ..$ timestamp_utc : int [1:20] 1654066800 1654067700 1654068600 1654069500 1654070400 1654071300 1654072200 1654073100 1654074000 1654074900 ...
#> ..$ tz_offset : int [1:20] -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 ...
#> ..$ datetime : chr [1:20] "2022-06-01 00:00:00-07:00" "2022-06-01 00:15:00-07:00" "2022-06-01 00:30:00-07:00" "2022-06-01 00:45:00-07:00" ...
#> ..$ soil_temperature.value : num [1:20] 10.7 10.7 10.7 10.7 10.7 10.7 10.7 10.7 10.7 10.7 ...
#> ..$ soil_temperature.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ soil_temperature.error_description : chr [1:20] NA NA NA NA ...
#> ..$ water_content.value : num [1:20] 0.348 0.348 0.348 0.348 0.348 0.348 0.348 0.348 0.348 0.348 ...
#> ..$ water_content.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ water_content.error_description : chr [1:20] NA NA NA NA ...
#> ..$ saturation_extract_ec.value : num [1:20] 1.86 1.86 1.86 1.86 1.86 ...
#> ..$ saturation_extract_ec.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ saturation_extract_ec.error_description: chr [1:20] NA NA NA NA ...
#> $ T12-0000499_port2 : tibble [20 × 12] (S3: tbl_df/tbl/data.frame)
#> ..$ timestamp_utc : int [1:20] 1654066800 1654067700 1654068600 1654069500 1654070400 1654071300 1654072200 1654073100 1654074000 1654074900 ...
#> ..$ tz_offset : int [1:20] -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 ...
#> ..$ datetime : chr [1:20] "2022-06-01 00:00:00-07:00" "2022-06-01 00:15:00-07:00" "2022-06-01 00:30:00-07:00" "2022-06-01 00:45:00-07:00" ...
#> ..$ saturation_extract_ec.value : num [1:20] 1.47 1.47 1.47 1.47 1.47 ...
#> ..$ saturation_extract_ec.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ saturation_extract_ec.error_description: chr [1:20] NA NA NA NA ...
#> ..$ soil_temperature.value : num [1:20] 12.2 12.2 12.2 12.2 12.2 12.2 12.3 12.3 12.3 12.3 ...
#> ..$ soil_temperature.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ soil_temperature.error_description : chr [1:20] NA NA NA NA ...
#> ..$ water_content.value : num [1:20] 0.334 0.334 0.334 0.334 0.334 0.334 0.334 0.334 0.334 0.334 ...
#> ..$ water_content.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ water_content.error_description : chr [1:20] NA NA NA NA ...
#> $ T12-0000500_port1 : tibble [20 × 12] (S3: tbl_df/tbl/data.frame)
#> ..$ timestamp_utc : int [1:20] 1654066800 1654067700 1654068600 1654069500 1654070400 1654071300 1654072200 1654073100 1654074000 1654074900 ...
#> ..$ tz_offset : int [1:20] -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 ...
#> ..$ datetime : chr [1:20] "2022-06-01 00:00:00-07:00" "2022-06-01 00:15:00-07:00" "2022-06-01 00:30:00-07:00" "2022-06-01 00:45:00-07:00" ...
#> ..$ saturation_extract_ec.value : num [1:20] 0.977 0.977 0.977 0.972 0.969 0.968 0.97 0.971 0.971 0.976 ...
#> ..$ saturation_extract_ec.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ saturation_extract_ec.error_description: chr [1:20] NA NA NA NA ...
#> ..$ soil_temperature.value : num [1:20] 13.8 13.8 13.8 13.8 13.8 13.8 13.8 13.8 13.7 13.7 ...
#> ..$ soil_temperature.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ soil_temperature.error_description : chr [1:20] NA NA NA NA ...
#> ..$ water_content.value : num [1:20] 0.291 0.291 0.291 0.291 0.291 0.291 0.291 0.291 0.291 0.291 ...
#> ..$ water_content.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ water_content.error_description : chr [1:20] NA NA NA NA ...
#> $ T12-0000504_port3 : tibble [20 × 12] (S3: tbl_df/tbl/data.frame)
#> ..$ timestamp_utc : int [1:20] 1654066800 1654067700 1654068600 1654069500 1654070400 1654071300 1654072200 1654073100 1654074000 1654074900 ...
#> ..$ tz_offset : int [1:20] -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 -25200 ...
#> ..$ datetime : chr [1:20] "2022-06-01 00:00:00-07:00" "2022-06-01 00:15:00-07:00" "2022-06-01 00:30:00-07:00" "2022-06-01 00:45:00-07:00" ...
#> ..$ saturation_extract_ec.value : num [1:20] 1.18 1.19 1.19 1.19 1.19 ...
#> ..$ saturation_extract_ec.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ saturation_extract_ec.error_description: chr [1:20] NA NA NA NA ...
#> ..$ soil_temperature.value : num [1:20] 11.5 11.5 11.5 11.5 11.5 11.5 11.6 11.6 11.6 11.6 ...
#> ..$ soil_temperature.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ soil_temperature.error_description : chr [1:20] NA NA NA NA ...
#> ..$ water_content.value : num [1:20] 0.328 0.328 0.328 0.328 0.328 0.328 0.328 0.328 0.328 0.328 ...
#> ..$ water_content.error_flag : logi [1:20] FALSE FALSE FALSE FALSE FALSE FALSE ...
#> ..$ water_content.error_description : chr [1:20] NA NA NA NA ...
clearCache() allows clearing the cache of files older than the
specified file_age.
# deletes all .parquet files that are 30 days or more old
clearCache(file_age = 30L)
queryDeviceSettings() will query the API and return the contents as a
list. The list entry device will then contain sensor metadata like
measurement settings, sensor location and others.
library(listviewer)
settings = queryDeviceSettings(
device_sn = "06-01185"
)
jsonedit(settings)

setZentracloudOptions(
token = Sys.getenv("ZENTRACLOUD_TOKEN")
, domain = "default"
)
## force API call
system.time(
getReadings(
device_sn = "06-01185"
, start_time = "2022-03-20 00:00:00"
, end_time = "2022-03-26 23:59:00"
, force_api = TRUE
, ignore_cache = FALSE
)
)
#> [querying device settings]
#> [retrieving data]
#> [waiting to get next page]
#> Waiting 50s to retry ■■ Waiting 50s to retry ■■ Waiting 50s to retry ■■ Waiting 50s to retry ■■ Waiting 50s to retry ■■ Waiting 50s to retry ■■ Waiting 50s to retry ■■ Waiting 50s to retry ■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 50s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [retrieving data]
#> user system elapsed
#> 7.196 0.082 65.608
## get data from cache
system.time(
getReadings(
device_sn = "06-01185"
, start_time = "2022-03-20 00:00:00"
, end_time = "2022-03-26 23:59:00"
, force_api = FALSE
, ignore_cache = FALSE
)
)
#> [querying device settings]
#>
#> Waiting 59s to retry ■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 59s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [retrieving data]
#>
#> [waiting to get next page]
#>
#> Waiting 48s to retry ■■ Waiting 48s to retry ■■ Waiting 48s to retry ■■ Waiting 48s to retry ■■ Waiting 48s to retry ■■ Waiting 48s to retry ■■ Waiting 48s to retry ■■ Waiting 48s to retry ■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■ Waiting 48s to retry ■■■■■ Waiting 48s to retry ■■■■■ Waiting 48s to retry ■■■■■ Waiting 48s to retry ■■■■■ Waiting 48s to retry ■■■■■ Waiting 48s to retry ■■■■■ Waiting 48s to retry ■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Waiting 48s to retry ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [retrieving data]
#> user system elapsed
#> 12.266 0.159 123.948
More detailed information on the package and all the functions can be found in the Get started vignette:
vignette("zentracloud")