The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

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)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.