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.
- Inverter: Symo GEN24 10.0
- Fronius JSON API (v1) enabled. For more details, refer to the Fronius Solar API documentation.
- Smart Meter: TS 65A-3
- Meter Location: 0 - Grid Interconnection Point (Primary Meter)
- Storage: BYD HVS 5.1
NOTE: All Grafana configurations related to minimum and maximum values align with this setup.
To set up the TIG (Telegraf, InfluxDB, and Grafana) stack, please follow any how-to guide you find, such as this search.
The following buckets have been created in InfluxDB:
- inverter
- pvforecast
- energyprices
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.
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.
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 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
The following Grafana plugins need to be installed:
The following data sources need to be configured:
- InfluxDB to the
energyprices
bucket - InfluxDB to the
inverter
bucket - InfluxDB to the
pvforecast
bucket
NOTE: The Query Language needs to be set to
InfluxQL
NOTE: To authorize access, use the
Authorization
header with the valueToken YOUR_TOKEN
. ReplaceYOUR_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
- JSON API to your inverter with the endpoint /status/powerflow
- Sun and Moon for your latitude and longitude
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.
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:
- Go to Grafana.
- Navigate to Dashboards > New > Import.
- 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.
Here are some screenshots of the dashboard:
- Fronius-to-Influx by szymi-
- Solar Panel Monitoring with Telegraf
- How I Created a Telegraf Plugin to Monitor Solar Panels
Readme improved by ChatGPT: I've cleaned up the formatting and made sure headings, lists, code blocks, and links are properly formatted for clarity.