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 |
Get inverter device alarms
get_alarm(device_ip, model = "APSystems")
get_alarm(device_ip, model = "APSystems")
device_ip |
list or vector of devices IP address |
model |
the inverter device model. Currently only "APSystems" is supported. |
a dataframe with one row of device information per 'device_id' answering the query.
## Not run: get_alarm(c("192.168.0.12", "192.168.0.230")) ## End(Not run)
## Not run: get_alarm(c("192.168.0.12", "192.168.0.230")) ## End(Not run)
Get inverter device information
get_device_info(device_ip, model = "APSystems")
get_device_info(device_ip, model = "APSystems")
device_ip |
list or vector of devices IP address |
model |
the inverter device model. Currently only "APSystems" is supported. |
a data-frame with one row of device information per 'device_id' answering the query.
## Not run: get_device_info(c("192.168.0.12", "192.168.0.230")) ## End(Not run)
## Not run: get_device_info(c("192.168.0.12", "192.168.0.230")) ## End(Not run)
Get inverter output data
get_output_data(device_ip, model = "APSystems", ...)
get_output_data(device_ip, model = "APSystems", ...)
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. |
a dataframe with one row of device output power and energy per 'device_id' / 'inverter' combination.
## Not run: get_output_data(c("192.168.0.12", "192.168.0.230")) ## End(Not run)
## Not run: get_output_data(c("192.168.0.12", "192.168.0.230")) ## End(Not run)
AP System single device query
query_ap_device(device_ip, query)
query_ap_device(device_ip, query)
device_ip |
IP address or name of the device |
query |
the API query string |
a data-frame with a 'device_id' column and the '$data' turned into as many columns as expected
Other device queries:
query_ap_devices()
,
query_enphaseenergy_device()
,
query_enphaseenvoy_device()
,
query_fronius_device()
,
query_fronius_devices()
## Not run: query_ap_device(device_ip = "192.168.0.234", query = "getDeviceInfo") ## End(Not run)
## Not run: query_ap_device(device_ip = "192.168.0.234", query = "getDeviceInfo") ## End(Not run)
AP System multi-device query
query_ap_devices(device_ip, query)
query_ap_devices(device_ip, query)
device_ip |
list or vector of each device IP address or name |
query |
the API query string |
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
Other device queries:
query_ap_device()
,
query_enphaseenergy_device()
,
query_enphaseenvoy_device()
,
query_fronius_device()
,
query_fronius_devices()
## Not run: query_ap_devices(device_ip = c("192.168.0.234", "192.168.0.235"), query = "getDeviceInfo" ) ## End(Not run)
## Not run: query_ap_devices(device_ip = c("192.168.0.234", "192.168.0.235"), query = "getDeviceInfo" ) ## End(Not run)
as a port of https://github.com/sarnau/EnphaseEnergy/blob/main/enphaseStreamMeter.py
query_enphaseenergy_device( device_ip = "enphase.local", query, username = Sys.getenv("ENPHASE_USERNAME"), password = Sys.getenv("ENPHASE_PASSWORD") )
query_enphaseenergy_device( device_ip = "enphase.local", query, username = Sys.getenv("ENPHASE_USERNAME"), password = Sys.getenv("ENPHASE_PASSWORD") )
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. |
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
Other device queries:
query_ap_device()
,
query_ap_devices()
,
query_enphaseenvoy_device()
,
query_fronius_device()
,
query_fronius_devices()
## Not run: query_enphaseenergy_device(query = "stream/meter") ## End(Not run)
## Not run: query_enphaseenergy_device(query = "stream/meter") ## End(Not run)
as a port of https://github.com/Matthew1471/Enphase-API/blob/main/Documentation/IQ Gateway API/IVP/Meters/Reports/Production.adoc
query_enphaseenvoy_device( device_ip = "enphase.local", query, username = Sys.getenv("ENPHASE_USERNAME"), password = Sys.getenv("ENPHASE_PASSWORD") )
query_enphaseenvoy_device( device_ip = "enphase.local", query, username = Sys.getenv("ENPHASE_USERNAME"), password = Sys.getenv("ENPHASE_PASSWORD") )
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. |
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
Other device queries:
query_ap_device()
,
query_ap_devices()
,
query_enphaseenergy_device()
,
query_fronius_device()
,
query_fronius_devices()
## Not run: query_enphaseenvoy_device(query = "reports/production") ## End(Not run)
## Not run: query_enphaseenvoy_device(query = "reports/production") ## End(Not run)
as a port of https://github.com/friissoren/pyfronius
query_fronius_device( device_ip = "fronius.local", query, username = Sys.getenv("FRONIUS_USERNAME"), password = Sys.getenv("FRONIUS_PASSWORD") )
query_fronius_device( device_ip = "fronius.local", query, username = Sys.getenv("FRONIUS_USERNAME"), password = Sys.getenv("FRONIUS_PASSWORD") )
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. |
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
Other device queries:
query_ap_device()
,
query_ap_devices()
,
query_enphaseenergy_device()
,
query_enphaseenvoy_device()
,
query_fronius_devices()
## Not run: query_fronius_device(query = "GetInverterRealtimeData.cgi?Scope=System") ## End(Not run)
## Not run: query_fronius_device(query = "GetInverterRealtimeData.cgi?Scope=System") ## End(Not run)
as a port of https://github.com/friissoren/pyfronius
query_fronius_devices( device_ip = c("fronius.local"), query, username = Sys.getenv("FRONIUS_USERNAME"), password = Sys.getenv("FRONIUS_PASSWORD") )
query_fronius_devices( device_ip = c("fronius.local"), query, username = Sys.getenv("FRONIUS_USERNAME"), password = Sys.getenv("FRONIUS_PASSWORD") )
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. |
a data-frame with a 'device_id' column and the '$Body$Data' turned into as many columns as expected
Other device queries:
query_ap_device()
,
query_ap_devices()
,
query_enphaseenergy_device()
,
query_enphaseenvoy_device()
,
query_fronius_device()
## Not run: query_fronius_device(query = "GetInverterRealtimeData.cgi?Scope=System") ## End(Not run)
## Not run: query_fronius_device(query = "GetInverterRealtimeData.cgi?Scope=System") ## End(Not run)