PVOutput
The PVOutput integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] brings the data from your PVOutput account into Home Assistant. PVOutput is a free service for sharing, comparing, and monitoring live solar photovoltaic (PV) system data. If you are already uploading data from your inverter or logger to PVOutput, this integration lets you display that data in Home Assistant without running a second integration against your inverter directly.
Use cases for this integration include:
- Monitoring the current power generation and consumption of your solar system on a Home Assistant dashboard.
- Tracking daily energy generation and consumption over time.
- Using your solar data in the Energy dashboard for long-term statistics.
- Triggering automations based on how much power your system is currently producing.
Prerequisites
Before setting up this integration, you need a PVOutput account with at least one registered system. You also need the following information from your PVOutput account:
- API key: available from the account settings page. Enable API access first if you have not done so already.
- System ID: the numeric ID of the system you want to track. This is listed on the same account settings page, next to your registered systems.
Configuration
To add the PVOutput device to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select PVOutput.
-
Follow the instructions on screen to complete the setup.
Your PVOutput API key. You can find it on the PVOutput account settings page.
To track more than one system, set up the integration once per system.
Supported functionality
Sensors
The integration creates a device for each configured PVOutput system, with the following sensors:
-
Energy generation
- Description: Total energy generated by the system today, in Wh.
- Device class: Energy
-
Energy consumption
- Description: Total energy consumed today, in Wh. Requires a system that uploads consumption data to PVOutput.
- Device class: Energy
-
Power generation
- Description: Current power output of the system, in W.
- Device class: Power
-
Power consumption
- Description: Current power consumption, in W. Requires a system that uploads consumption data to PVOutput.
- Device class: Power
-
Efficiency
- Description: Normalized output of the system, in kWh/kW. This lets you compare the output of systems of different sizes.
-
Temperature
- Description: Inverter or panel temperature reported by the system, in °C. Only available if your system uploads temperature data.
- Device class: Temperature
-
Voltage
- Description: DC or AC voltage reported by the system, in V. Only available if your system uploads voltage data.
- Device class: Voltage
The sensors your system actually reports values for depend on what your PVOutput uploader sends. Sensors without data stay unavailable.
Data updates
The integration polls PVOutput every 2 minutes over the internet for updated system status. PVOutput itself imposes rate limits on its API, so the poll interval is fixed and cannot be shortened.
Examples
Notify when generation drops below a threshold
Send a mobile notification if your solar system is generating less than 100 W during the day, which may indicate a cloud cover event, shading, or a problem with the system:
alias: "Low solar generation alert"
triggers:
- trigger: numeric_state
entity_id: sensor.my_system_power_generation
below: 100
for:
minutes: 15
conditions:
- condition: sun
after: sunrise
after_offset: "01:00:00"
- condition: sun
before: sunset
before_offset: "-01:00:00"
actions:
- action: notify.mobile_app_my_phone
data:
title: "Solar"
message: "Power generation is unexpectedly low."
Run appliances when solar production is high
Turn on a high-consumption appliance, such as a dishwasher or pool pump, when solar generation exceeds a threshold:
alias: "Run dishwasher on solar"
triggers:
- trigger: numeric_state
entity_id: sensor.my_system_power_generation
above: 2000
for:
minutes: 5
actions:
- action: switch.turn_on
target:
entity_id: switch.dishwasher
Known limitations
- The integration is read-only. It cannot push data back to PVOutput.
- Which sensors report values depends on what your PVOutput uploader sends. If your uploader only reports generation, the consumption, temperature, and voltage sensors remain unavailable.
- The 2-minute polling interval is fixed to stay within PVOutput’s API rate limits and cannot be changed.
Troubleshooting
Invalid authentication
If you see an “Invalid authentication” error, your API key may be wrong or API access may be disabled on your PVOutput account. Go to the PVOutput account settings page, make sure API access is enabled, and copy the current API key. Then select Reconfigure on the integration card in Home Assistant to enter the new key.
All sensors are unavailable
If all sensors are unavailable shortly after setup, verify that:
- Your PVOutput system is actively uploading data. You can check this on the PVOutput live page.
- The System ID you entered matches a system that belongs to your account.
- Your Home Assistant instance can reach the internet.
Removing the integration
This integration follows standard integration removal, no extra steps are required.
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- From the list of devices, select the integration instance you want to remove.
- Next to the entry, select the three dots
menu. Then, select Delete.