chpro / fronius-grafana-dashboard

Setting up and visualizing data from your Fronius Symo GEN24 10.0 inverter and Smart Meter TS 65A-3 using InfluxDB and Grafana.
MIT License
34 stars 2 forks source link
dashboard fronius fronius-grafana fronius-grafana-dashboard fronius-solar-api grafana influxdb photovoltaic telegraf

Data Visualization for Fronius

This README provides information on setting up and visualizing data from your Fronius Symo GEN24 10.0 inverter and Smart Meter TS 65A-3 using InfluxDB and Grafana.

Fronius Setup

NOTE: All Grafana configurations related to minimum and maximum values align with this setup.

Telegraf, Influx and Grafana Installation

To set up the TIG (Telegraf, InfluxDB, and Grafana) stack, please follow any how-to guide you find, such as this search.

Influx

The following buckets have been created in InfluxDB:

Data Import

Telegraf is utilized for importing data from the Fronius JSON API and forecast data from forecast.solar. The full configuration can be found in telegraf.conf.

Energy Data

Please adapt the configuration for InfluxDB output to your needs:

[[outputs.influxdb_v2]]
    urls = ["http://127.0.0.1:8086"]
    token = "change_me"
    organization = "default"

NOTE: The IP Address of the Symo GEN24 10.0 is in my network resolved by hostname inverter. Either you configure your network the same way or change the IP address in the configuration.

Forecast

Additionally, please make sure to adapt the links to the api.forecast.solar in the configuration file as there are currently only placeholders. In the dashboard, the only displayed metric is Watt hours per day, presented as Expected yield.

For more information about using the API, you can refer to the following documentation:

These links should provide you with the necessary details to configure and utilize the forecast data effectively in your setup.

Energy Prices

Energy prices need to be available to calculate savings. Please note that the accuracy of prices in queries is limited to daily updates. Prices are imported via CSV using the InfluxDB load data feature. The CSV file content should adhere to the specified format:

#group,false,false,true,true,false,false,true,true,true
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string
#default,mean,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,unit
,,0,2023-04-01T00:00:00+02:00,2023-04-01T00:00:00+02:00,2023-04-01T00:00:00+02:00,14.457,sell,electricity,Cent/kWh
,,0,2023-07-01T00:00:00+02:00,2023-07-01T00:00:00+02:00,2023-07-01T00:00:00+02:00,13.691,sell,electricity,Cent/kWh
,,0,2021-10-02T00:00:00+02:00,2021-10-02T00:00:00+02:00,2021-10-02T00:00:00+02:00,21.211,buy,electricity,Cent/kWh

Grafana

Plugins

The following Grafana plugins need to be installed:

Data Sources

The following data sources need to be configured:

InfluxDB

NOTE: The Query Language needs to be set to InfluxQL

Datasource example settings

NOTE: To authorize access, use the Authorization header with the value Token YOUR_TOKEN. Replace YOUR_TOKEN with the token generated for InfluxDB access (InfluxDB v2 API documentation).

NOTE: After configuring connections, you might come across a 'database not found' error in Grafana. To resolve this, you can map InfluxDB v2 buckets to InfluxDB v1 databases by following the instructions provided in Setting up InfluxDB v2 (Flux) with InfluxQL in Grafana. To obtain the bucket IDs, use the command influx bucket list. More details can also be found on official Influx DB website Query data with InfluxQL

Other

NOTE: The IP Address of the Symo GEN24 10.0 is in my network resolved by hostname inverter. Either you configure your network the same way or change the IP address in the JSON API datasource accordingly.

Dashboard

After the basic configuration is done, the dashboard can be imported from the dashboard.json file.

To import the dashboard, download the file and follow these steps:

  1. Go to Grafana.
  2. Navigate to Dashboards > New > Import.
  3. Upload the downloaded file.

By default, the dashboard shows the current day and is refreshed every 5 seconds. The short refresh time was selected because the Power flow panel uses JSON API to show the most recent values and is not restricted to a time interval of data in InfluxDB.

Screenshots

Here are some screenshots of the dashboard:

Live Monitoring

Live monitoring

Energy Meters

Energy meters

Estimated Savings

Estimated savings

Autonomy

Autonomy

Detailed Analyses

Detailed analyses Detailed analyses

Smart Meter

Smart meter Smart meter

Credits

Grafana

Based on Work Of

Telegraf and Influx

Based on Work Of

Readme Improvements

Readme improved by ChatGPT: I've cleaned up the formatting and made sure headings, lists, code blocks, and links are properly formatted for clarity.