--- title: "PVOutput Sensor" description: "Instructions on how to use PVOutput within Home Assistant." logo: pvoutput.png ha_category: - Energy ha_release: 0.33 ha_iot_class: Cloud Polling --- The `pvoutput` sensor platform consumes information from [PVOutput](http://pvoutput.org/) which were uploaded by your solar photovoltaic (PV) system. To add PVOutput details to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: pvoutput system_id: YOUR_SYSTEM_ID api_key: YOUR_API_KEY scan_interval: 120 ``` {% configuration %} api_key: description: Your API key. A read-only key is fine. required: true type: string system_id: description: The ID of your station. required: true type: string name: description: Name of the sensor. required: false default: PVOutput type: string {% endconfiguration %}
It's recommended to set `scan_interval:` according to a value greater than 60 seconds. The service only allows 60 requests per hour but the sensor's default is 30 seconds.
To format the PVoutput sensor it's recommended to use the [template component](/topics/templating/). For example: ```yaml sensor: - platform: pvoutput system_id: YOUR_SYSTEM_ID api_key: YOUR_API_KEY scan_interval: 150 - platform: template sensors: power_consumption: value_template: {% raw %}'{% if is_state_attr("sensor.pvoutput", "power_consumption", "NaN") %}0{% else %}{{ state_attr('sensor.pvoutput', 'power_consumption') }}{% endif %}'{% endraw %} friendly_name: 'Using' unit_of_measurement: 'Watt' energy_consumption: value_template: {% raw %}'{{ "%0.1f"|format(state_attr('sensor.pvoutput', 'energy_consumption')|float/1000) }}'{% endraw %} friendly_name: 'Used' unit_of_measurement: 'kWh' power_generation: value_template: {% raw %}'{% if is_state_attr("sensor.pvoutput", "power_generation", "NaN") %}0{% else %}{{ state_attr('sensor.pvoutput', 'power_generation') }}{% endif %}'{% endraw %} friendly_name: 'Generating' unit_of_measurement: 'Watt' energy_generation: value_template: {% raw %}'{% if is_state_attr("sensor.pvoutput", "energy_generation", "NaN") %}0{% else %}{{ "%0.2f"|format(state_attr('sensor.pvoutput', 'energy_generation')|float/1000) }}{% endif %}'{% endraw %} friendly_name: 'Generated' unit_of_measurement: 'kWh' ```