DrJohnZoidberg
Honorary Master
PVOutput.org is a free service for sharing, comparing and monitoring live solar photovoltaic (PV) and energy consumption data.
It's very useful for not only keeping stats on your solar set up but also to compare to other systems, and the more systems that are reporting the more useful the service becomes.
For example I can compare my system to a similarly sized system up the road from me and I can see how they compare which can help me understand if my system is underperforming.

They also allow you to create "Teams" which allows you to join a community, like MyBB. I've created one call "MyBroadband Community" - it's brand new so nobody is there except me for now.
Uploading your data
First you'll need to create your account on PVoutput.org, and configure the details of your system. This will give you a system ID which you can use for uploading the data.
It's relatively easy to start uploading your own data, as long as you have some way of requesting the necessary data from your inverter like Home Assistant, Solar Assistant or any first party tools that your inverter manufacturer provides. You can also check out https://forum.pvoutput.org/c/inverters/12 to find out if somebody has info on how to set it up for your inverter.
For my inverter (Sunsynk), I'm using Home Assistant (which is pulling data from Solar Assistant) and have just set up an automation to run a script every 5 minutes which grabs the data and pushes it to the pvoutput api. I used this guide to start with: https://www.bazmac.me/blog/setting-up-home-assistant-to-upload-to-pvoutput
My final set up looks like this in Home Assistant:
secrets.yaml (put your api key and site in these fields):
configuration.yaml (replace sensors with yours):
The d and t query parameters are required, and either v1 (energy) or v2 (power) are required but you can send all of them (see https://pvoutput.org/help/api_specification.html#add-status-service for the full api spec).
automations.yaml:
Hope some of you other stats nerds get onboard and join the MyBB team!
It's very useful for not only keeping stats on your solar set up but also to compare to other systems, and the more systems that are reporting the more useful the service becomes.
For example I can compare my system to a similarly sized system up the road from me and I can see how they compare which can help me understand if my system is underperforming.

They also allow you to create "Teams" which allows you to join a community, like MyBB. I've created one call "MyBroadband Community" - it's brand new so nobody is there except me for now.
Uploading your data
First you'll need to create your account on PVoutput.org, and configure the details of your system. This will give you a system ID which you can use for uploading the data.
It's relatively easy to start uploading your own data, as long as you have some way of requesting the necessary data from your inverter like Home Assistant, Solar Assistant or any first party tools that your inverter manufacturer provides. You can also check out https://forum.pvoutput.org/c/inverters/12 to find out if somebody has info on how to set it up for your inverter.
For my inverter (Sunsynk), I'm using Home Assistant (which is pulling data from Solar Assistant) and have just set up an automation to run a script every 5 minutes which grabs the data and pushes it to the pvoutput api. I used this guide to start with: https://www.bazmac.me/blog/setting-up-home-assistant-to-upload-to-pvoutput
My final set up looks like this in Home Assistant:
secrets.yaml (put your api key and site in these fields):
YAML:
# Use this file to store secrets like usernames and passwords.
# Learn more at https://www.home-assistant.io/docs/configuration/secrets/
some_password: welcome
pvoutout-api: my-api-key
pvoutput-site: my-site-id
configuration.yaml (replace sensors with yours):
The d and t query parameters are required, and either v1 (energy) or v2 (power) are required but you can send all of them (see https://pvoutput.org/help/api_specification.html#add-status-service for the full api spec).
YAML:
rest_command:
update_pvoutput:
url: https://pvoutput.org/service/r2/addstatus.jsp
method: post
content_type: "application/x-www-form-urlencoded"
headers:
X-Pvoutput-Apikey: !secret pvoutout-api
X-Pvoutput-SystemId: !secret pvoutput-site
payload: "d={{now().strftime('%Y%m%d')}}&t={{now().strftime('%H:%M')}}&v1={{(states('sensor.pv_total_kwh_lifetime')|float*1000)|round(0)}}&v2={{(states('sensor.pv_power'))|round(0)}}&v3={{(states('sensor.inverter_load_total_kwh_lifetime')|float*1000)|round(0)}}&v4={{(states('sensor.load_power'))|round(0)}}&v5={{(states('sensor.openweathermap_temperature'))}}&v6={{(states('sensor.grid_voltage'))}}&c1=1"
automations.yaml:
YAML:
- id: '1692546021659'
alias: PVOutput Upload
description: ''
trigger:
- platform: time_pattern
minutes: /5
action:
- service: rest_command.update_pvoutput
data: {}
mode: single
Hope some of you other stats nerds get onboard and join the MyBB team!
