| Type: | Package | 
| Title: | Collect your Microinverter Data | 
| Version: | 0.4.0 | 
| Description: | Collect and normalize local microinverter energy and power production data through off-cloud API requests. Currently supports 'APSystems', 'Enphase', and 'Fronius' microinverters. | 
| License: | MIT + file LICENSE | 
| BugReports: | https://github.com/CamembR/microinverterdata/issues | 
| URL: | https://camembr.github.io/microinverterdata/, https://github.com/CamembR/microinverterdata | 
| Encoding: | UTF-8 | 
| Depends: | R (≥ 4.1.0) | 
| Imports: | cli, dplyr, glue, httr2 (≥ 1.0.0), purrr, rlang, tidyr, units | 
| RoxygenNote: | 7.3.2 | 
| Suggests: | httptest2, knitr, lubridate, pins, rmarkdown, tibble, tsibble, imputeTS, testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2025-05-22 10:38:51 UTC; creg | 
| Author: | Christophe Regouby [aut, cre, cph] | 
| Maintainer: | Christophe Regouby <christophe.regouby@free.fr> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-05-22 10:50:02 UTC | 
Get inverter device alarms
Description
Get inverter device alarms
Usage
get_alarm(device_ip, model = "APSystems")
Arguments
| device_ip | list or vector of devices IP address | 
| model | the inverter device model. Currently only "APSystems" is supported. | 
Value
a dataframe with one row of device information per 'device_id' answering the query.
Examples
## Not run: 
get_alarm(c("192.168.0.12", "192.168.0.230"))
## End(Not run)
Get inverter device information
Description
Get inverter device information
Usage
get_device_info(device_ip, model = "APSystems")
Arguments
| device_ip | list or vector of devices IP address | 
| model | the inverter device model. Currently only "APSystems" is supported. | 
Value
a data-frame with one row of device information per 'device_id' answering the query.
Examples
## Not run: 
get_device_info(c("192.168.0.12", "192.168.0.230"))
## End(Not run)
Get inverter output data
Description
Get inverter output data
Usage
get_output_data(device_ip, model = "APSystems", ...)
Arguments
| device_ip | list or vector of devices IP address | 
| model | the inverter device model. Currently only "APSystems" "Enphase-Envoy", "Enphase-Energy" and "Fronius" are supported. | 
| ... | additional parameters passed to the inverter if needed. | 
Value
a dataframe with one row of device output power and energy per 'device_id' / 'inverter' combination.
Examples
## Not run: 
get_output_data(c("192.168.0.12", "192.168.0.230"))
## End(Not run)
AP System single device query
Description
AP System single device query
Usage
query_ap_device(device_ip, query)
Arguments
| device_ip | IP address or name of the device | 
| query | the API query string | 
Value
a data-frame with a 'device_id' column and the '$data' turned into as many columns as expected
See Also
Other device queries: 
query_ap_devices(),
query_enphaseenergy_device(),
query_enphaseenvoy_device(),
query_fronius_device(),
query_fronius_devices()
Examples
## Not run: 
query_ap_device(device_ip = "192.168.0.234", query = "getDeviceInfo")
## End(Not run)
AP System multi-device query
Description
AP System multi-device query
Usage
query_ap_devices(device_ip, query)
Arguments
| device_ip | list or vector of each device IP address or name | 
| query | the API query string | 
Value
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
See Also
Other device queries: 
query_ap_device(),
query_enphaseenergy_device(),
query_enphaseenvoy_device(),
query_fronius_device(),
query_fronius_devices()
Examples
## Not run: 
query_ap_devices(device_ip = c("192.168.0.234", "192.168.0.235"),
                 query = "getDeviceInfo"
                 )
## End(Not run)
Enphase Energy single device query
Description
as a port of https://github.com/sarnau/EnphaseEnergy/blob/main/enphaseStreamMeter.py
Usage
query_enphaseenergy_device(
  device_ip = "enphase.local",
  query,
  username = Sys.getenv("ENPHASE_USERNAME"),
  password = Sys.getenv("ENPHASE_PASSWORD")
)
Arguments
| device_ip | IP address or name of the device | 
| query | the API query string | 
| username | the username needed to authenticate to the inverter. Defaults to the 'ENPHASE_USERNAME' environment variable. | 
| password | the password needed to authenticate to the inverter. Defaults to the 'ENPHASE_PASSWORD' environment variable. | 
Value
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
See Also
Other device queries: 
query_ap_device(),
query_ap_devices(),
query_enphaseenvoy_device(),
query_fronius_device(),
query_fronius_devices()
Examples
## Not run: 
query_enphaseenergy_device(query = "stream/meter")
## End(Not run)
Enphase Envoy single device query
Description
as a port of https://github.com/Matthew1471/Enphase-API/blob/main/Documentation/IQ Gateway API/IVP/Meters/Reports/Production.adoc
Usage
query_enphaseenvoy_device(
  device_ip = "enphase.local",
  query,
  username = Sys.getenv("ENPHASE_USERNAME"),
  password = Sys.getenv("ENPHASE_PASSWORD")
)
Arguments
| device_ip | IP address or name of the device | 
| query | the API query string | 
| username | the username needed to authenticate to the inverter. Defaults to the 'ENPHASE_USERNAME' environment variable. | 
| password | the password needed to authenticate to the inverter. Defaults to the 'ENPHASE_PASSWORD' environment variable. | 
Value
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
See Also
Other device queries: 
query_ap_device(),
query_ap_devices(),
query_enphaseenergy_device(),
query_fronius_device(),
query_fronius_devices()
Examples
## Not run: 
query_enphaseenvoy_device(query = "reports/production")
## End(Not run)
Fronius single device query
Description
as a port of https://github.com/friissoren/pyfronius
Usage
query_fronius_device(
  device_ip = "fronius.local",
  query,
  username = Sys.getenv("FRONIUS_USERNAME"),
  password = Sys.getenv("FRONIUS_PASSWORD")
)
Arguments
| device_ip | IP address or name of the device | 
| query | the API query string | 
| username | the username needed to authenticate to the inverter. Defaults to the 'FRONIUS_USERNAME' environment variable. | 
| password | the password needed to authenticate to the inverter. Defaults to the 'FRONIUS_PASSWORD' environment variable. | 
Value
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
See Also
Other device queries: 
query_ap_device(),
query_ap_devices(),
query_enphaseenergy_device(),
query_enphaseenvoy_device(),
query_fronius_devices()
Examples
## Not run: 
query_fronius_device(query = "GetInverterRealtimeData.cgi?Scope=System")
## End(Not run)
Fronius multi-device query
Description
as a port of https://github.com/friissoren/pyfronius
Usage
query_fronius_devices(
  device_ip = c("fronius.local"),
  query,
  username = Sys.getenv("FRONIUS_USERNAME"),
  password = Sys.getenv("FRONIUS_PASSWORD")
)
Arguments
| device_ip | list or vector of each device IP address or name | 
| query | the API query string | 
| username | the username needed to authenticate to the inverter. Defaults to the 'FRONIUS_USERNAME' environment variable. | 
| password | the password needed to authenticate to the inverter. Defaults to the 'FRONIUS_PASSWORD' environment variable. | 
Value
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
See Also
Other device queries: 
query_ap_device(),
query_ap_devices(),
query_enphaseenergy_device(),
query_enphaseenvoy_device(),
query_fronius_device()
Examples
## Not run: 
query_fronius_device(query = "GetInverterRealtimeData.cgi?Scope=System")
## End(Not run)