You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A custom Home Assistant integration that pushes your live solar generation or daily cumulative energy data directly to [PVOutput.org](https://pvoutput.org/).
3
+
A custom Home Assistant integration that actively pushes your solar generation, home consumption, and local temperature data directly to [PVOutput.org](https://pvoutput.org/).
4
4
5
-
Unlike the official Home Assistant PVOutput integration (which only *downloads* data), this integration actively *publishes*your local Home Assistant sensor data up to your PVOutput account.
5
+
Unlike the official Home Assistant PVOutput integration (which only *downloads* data), this integration acts as an automated publisher, bridging your local Home Assistant sensors to your public PVOutput dashboard.
6
6
7
7
## Disclaimer: AI-Generated Project
8
-
Please note that the code and documentation for this project were primarily generated with the assistance of an AI. While it has been actively tested and confirmed to work within Home Assistant, it is provided "as is." Please review the code and use it at your own discretion.
8
+
Please note that the code and documentation for this project were primarily generated with the assistance of an AI. While it has been actively tested and confirmed to work perfectly within Home Assistant, it is provided "as is." Please review the code and use it at your own discretion.
9
9
10
10
---
11
11
12
12
## Features
13
-
***UI Config Flow:** Fully configurable via the Home Assistant UI. No YAML required!
13
+
***UI Config Flow:** Fully configurable via the Home Assistant UI. No YAML required.
14
14
***Multi-System Support:** Publish data for multiple solar arrays or inverters to different PVOutput System IDs using a single API key.
15
-
***Customizable Frequency:** Choose how often to publish data (5, 10, 15, 30, 60, or 180 minutes).
16
-
***Smart Power vs. Energy Detection:** Automatically formats the payload based on the sensor you select (see below).
15
+
***Smart Data Detection:** Automatically formats the payload based on the units of your selected sensors (Watts vs. Watt-hours, Celsius vs. Fahrenheit).
16
+
***Lifetime Energy Support:** Automatically detects `state_class: total` sensors and flags PVOutput to calculate your daily yield and instantaneous power curves for you.
17
+
***Comprehensive Metrics:** Supports pushing Generation, Consumption, and Temperature data simultaneously.
17
18
***Last Upload Sensor:** Creates a timestamp entity in Home Assistant so you can monitor exactly when the last successful push occurred.
19
+
***Multi-Language Support:** Fully translated into English, Japanese, Spanish, and German.
18
20
19
21
---
20
22
21
-
## Smart Sensor Detection (Power vs. Energy)
22
-
PVOutput expects data in one of two formats. This integration looks at the `unit_of_measurement` of your selected sensor and automatically sends the correct data type:
23
+
## Smart Sensor Detection
24
+
PVOutput requires data to be formatted precisely. This integration looks at the `unit_of_measurement`and `state_class`of your selected sensors and automatically handles the conversions:
23
25
24
-
### 1. Instantaneous Power (Watts / kW)
25
-
If you select a sensor measuring **Watts** or **kW** (e.g., current live generation), the integration automatically converts it to pure Watts and sends it to PVOutput as the `v2` (Power Generation) parameter.
26
-
**Best for 5-minute update frequencies.*
26
+
### Generation & Consumption
27
+
***Power (Watts / kW):** Automatically converted to Watts and sent as `v2` (Generation) or `v4` (Consumption).
28
+
***Daily Energy (Wh / kWh):** Automatically converted to Watt-hours and sent as `v1` (Generation) or `v3` (Consumption).
29
+
***Lifetime Energy:** If your sensor tracks lifetime yield (e.g., `state_class: total_increasing`), the integration sends the `&c1=1` flag. PVOutput will automatically calculate your daily generation and live power curves by comparing the intervals.
27
30
28
-
### 2. Cumulative Energy (Wh / kWh)
29
-
If you select a sensor measuring **Wh** or **kWh** (e.g., "Daily Solar Energy"), the integration converts it to pure Watt-hours and sends it as the `v1` (Energy Generation) parameter. PVOutput will automatically calculate the average power for the interval based on the change in energy.
30
-
**Best for longer update frequencies (30+ minutes) to ensure you don't miss generation data if clouds pass over between updates.*
31
+
### Temperature
32
+
* If your Home Assistant sensor uses Fahrenheit (`°F`), it will automatically be converted to Celsius before uploading, as PVOutput strictly requires Celsius for its `v5` parameter.
31
33
32
34
---
33
35
@@ -38,11 +40,10 @@ This integration is installed via [HACS](https://hacs.xyz/).
38
40
1. Open **HACS** in your Home Assistant instance.
39
41
2. Go to **Integrations**.
40
42
3. Click the three dots in the top right corner and select **Custom repositories**.
41
-
4. Paste the URL of this GitHub repository.
43
+
4. Paste the URL of this GitHub repository`https://github.com/SourceLabOrg/HomeAssistant-PVOutputPublisher`
42
44
5. Select **Integration** as the Category and click **Add**.
43
45
6. Search for **PVOutput Publisher** in HACS and click **Download**.
44
46
7.**Restart Home Assistant**.
45
-
8.*(Important)* Hard-refresh your browser to clear the frontend cache.
46
47
47
48
---
48
49
@@ -53,10 +54,12 @@ This integration is installed via [HACS](https://hacs.xyz/).
53
54
3. Search for **PVOutput Publisher**.
54
55
4. Enter your global **PVOutput API Key** (found in your PVOutput account settings).
55
56
5. Add your first system by providing:
56
-
***System Name:** A friendly name for your reference.
57
-
***System ID:** Your PVOutput System ID.
58
-
***Solar Sensor Entity:** The Home Assistant sensor tracking your solar generation.
59
-
***Update Frequency:** How often to push data to PVOutput.
57
+
***System Name:** A friendly name for your reference.
58
+
***System ID:** Your PVOutput System ID.
59
+
***Solar Generation Sensor:** Your inverter's power or energy sensor.
60
+
***Power/Energy Consumption Sensor:** (Optional) Your home's power draw or energy usage sensor.
***Update Frequency:** How often to push data to PVOutput (5 to 180 minutes).
60
63
61
64
### Managing Multiple Systems
62
65
You can add, edit, or remove systems at any time. Simply go to **Settings > Devices & Services**, find the **PVOutput Publisher** integration card, and click **Configure**.
@@ -72,4 +75,12 @@ This sensor tracks the exact date and time of the last successful HTTP 200 OK re
72
75
---
73
76
74
77
## Troubleshooting & Logs
75
-
If data is not appearing in PVOutput, check your Home Assistant logs (**Settings > System > Logs**). The integration will gracefully handle network drops, but will print detailed error messages if the PVOutput API rejects your payload (e.g., invalid API key, incorrect System ID, or pushing data too far in the past).
78
+
If data is not appearing in PVOutput, check your Home Assistant logs (**Settings > System > Logs**). The integration gracefully handles network drops, but will print detailed error messages if the PVOutput API rejects your payload (e.g., invalid API key, incorrect System ID, or pushing data too far in the past). You can view the raw outbound payload by setting the logging level for `custom_components.pvoutput_publisher` to `info` in your `configuration.yaml`.
0 commit comments