Package 'microinverterdata'

Title: Collect your Microinverter Data
Description: Collect and normalize local microinverter energy and power production data through off-cloud API requests. Currently supports 'APSystems', 'Enphase', and 'Fronius' microinverters.
Authors: Christophe Regouby [aut, cre, cph]
Maintainer: Christophe Regouby <[email protected]>
License: MIT + file LICENSE
Version: 0.2.0
Built: 2024-10-25 05:30:48 UTC
Source: CRAN

Help Index


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)