Fork me on GitHub

pimatic-fronius-solar by Marcus Wittig | github | npm

pimatic-fronius-solar

npm version

Pimatic Plugin to access PV live logs using the Fronius Solar API. This plugin is based on node-fronius-solar.

Configuration

You can load the plugin by editing your config.json to include the following in the plugins section. The property interval specifies the time interval in seconds for updating the data set. For debugging purposes you may set property debug to true. This will write additional debug messages to the pimatic log. The values properties interval and debug represent the the default values.

{
      "plugin": "fronius-solar",
      "interval": 60,
      "debug": false
},

Then you need to add a device in the devices section. Currently, the following device types are supported:

  • FroniusInverterRealtimeData: This type is to obtain the measurements data for an inverter device using the GetInverterRealtimeData service call of the Solar API V0/V1
  • FroniusComponentsData: This type is to obtain the measurements data for an PV system using an undocumented API service provided by the Fronius Data Manager provided with Symo inverters. In contrast to the regular Solar API Calls which do not require authentication, you may need to provide username and password properties to the options dictionary (if authentication has been enabled
  • FroniusPowerFlowRealtimeData: This type is to obtain the measurements data for an PV system using the GetInverterRealtimeData service call of the Solar API V1 which should work with Fronius Data Manager v3.4.2-1 (and higher)

As part of the FroniusInverterRealtimeData device definition you need to provide the deviceId which is the number of the inverter devices according to your PV system setup. You also need to provide host of the device providing Solar API, which is either your inverter (Fronius Galvo and Fronius Symo inverter models) or a Fronius Datamanager device.

For FroniusComponentsData and FroniusPowerFlowRealtimeData device configuration you can choose which attributes should be exposed by the device. See device-config-schema for details.

If you've configured your Fronius inverter to use power save mode, enter the threshold in watts at which power saving is activated. This helps to omit the nightly errors of the unreachable server.

{
      "id": "fronius1",
      "class": "FroniusInverterRealtimeData",
      "name": "Fronius Inverter",
      "host": "fronius.fritz.box",
      "deviceId": 1
      "threshold": 50
},
{
      "id": "fronius2",
      "class": "FroniusComponentsData",
      "name": "Fronius Inverter 2",
      "host": "fronius.fritz.box",
      "username": "admin",
      "password": "admin",
      "attributes": [
        "powerGenerate", 
        "powerLoad", 
        "powerGrid", 
        "powerAkkuSum", 
        "powerPvSum", 
        "relativeSelfConsumption", 
        "relativeAutonomy", 
        "powerSelfConsumption"
      ]
    },
    {
      "id": "fronius3",
      "class": "FroniusPowerFlowRealtimeData",
      "name": "Fronius Inverter 3",
      "host": "fronius.fritz.box",
      "attributes": [
        "mode",
        "powerGrid",
        "powerLoad",
        "powerAkku",
        "powerGenerate",
        "energyDay",
        "energyYear",
        "energyTotal"
      ]
    },

Contributions and Donations

Contributions to the project are welcome. You can simply fork the project and create a pull request with your contribution to start with. If you wish to support my work with a donation I'll highly appreciate this. Please also consider ★ starring the project on github.

PayPal donate button

Release History

See Release History.

License

Copyright (c) 2016-2019, Marcus Wittig and contributors. All rights reserved.

AGPL-3.0 License.

Plugin Config Options

pimatic-fronius-solar plugin config options
OptionDescriptionDefault
interval
number
Polling interval for switch state in seconds
60
debug
boolean
Debug mode. Writes debug message to the pimatic log
false

Device Config Options

pimatic-websolarlog device config schemas

FroniusInverterRealtimeData

Fronius Realtime Data Device
OptionDescriptionDefault
deviceId
number
The id of the Inverter Device
host
string
IP address or hostname of the device providing the Solar REST Service
apiVersion
The API Version supported by the data logger device
1
port
number
Port of the device providing the Solar REST Service
80
username
string
Username used to obtain access. Omitted, if authentication has been disabled.
password
string
Password used to obtain access. Omitted, if authentication has been disabled.
interval
number
Polling interval in seconds, value range [10-86400]
60
threshold
number
Threshold for PowerSaveMode of Inverter Device
0

FroniusComponentsData

Fronius GetComponentsData Device (using an undocumented API call of the PV data logger)
OptionDescriptionDefault
attributes
array of strings
[
  "powerGenerate",
  "powerLoad",
  "powerGrid",
  "powerAkkuSum",
  "powerPvSum",
  "relativeSelfConsumption",
  "relativeAutonomy",
  "powerSelfConsumption"
]
host
string
IP address or hostname of the device providing the Solar REST Service
port
number
Port of the device providing the Solar REST Service
80
username
string
Username used to obtain access. Omitted, if authentication has been disabled.
password
string
Password used to obtain access. Omitted, if authentication has been disabled.
interval
number
Polling interval in seconds, value range [10-86400]
60
threshold
number
Threshold for PowerSaveMode of Inverter Device
0

FroniusPowerFlowRealtimeData

Fronius GetPowerFlowRealtimeData Device
OptionDescriptionDefault
attributes
array of strings
[
  "mode",
  "powerGrid",
  "powerLoad",
  "powerAkku",
  "powerGenerate",
  "energyDay",
  "energyYear",
  "energyTotal"
]
host
string
IP address or hostname of the device providing the Solar REST Service
port
number
Port of the device providing the Solar REST Service
80
username
string
Username used to obtain access. Omitted, if authentication has been disabled.
password
string
Password used to obtain access. Omitted, if authentication has been disabled.
interval
number
Polling interval in seconds, value range [10-86400]
60
threshold
number
Threshold for PowerSaveMode of Inverter Device
0
pimatic-fronius-solar is written by Marcus Wittig