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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
4
4
5
5
## 1.1.0 (Unreleased)
6
6
7
-
### Bugfixes
8
-
- Removes `device_class=temperature` restriction when picking your temperature sensor. (Issue#1)[https://github.com/SourceLabOrg/HomeAssistant-PVOutputPublisher/issues/1]
9
-
10
7
### Feature Changes
11
8
- Switched to strict, clock-aligned scheduling to prevent time drift and perfectly sync with PVOutput intervals. (Issue#1)[https://github.com/SourceLabOrg/HomeAssistant-PVOutputPublisher/issues/1]
9
+
- Added support for an optional secondary solar sensor to upload Power and Energy data simultaneously for maximum accuracy.
10
+
- Add language support for Chinese (Simplified & Traditional)
11
+
12
+
### Bugfixes
13
+
- Removes `device_class=temperature` restriction when picking your temperature sensor. (Issue#1)[https://github.com/SourceLabOrg/HomeAssistant-PVOutputPublisher/issues/1]
Copy file name to clipboardExpand all lines: README.md
+10-7Lines changed: 10 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,21 +12,23 @@ Please note that the code and documentation for this project were primarily gene
12
12
## Features
13
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
+
***Strict Clock Alignment:** Synchronizes uploads to exact wall-clock intervals (e.g., :00, :05, :10) to prevent data drift and match PVOutput's native 5-minute buckets perfectly, even after Home Assistant restarts.
15
16
***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
+
***Maximum Accuracy Dual-Sensors:** Support for selecting both Power and Energy sensors simultaneously to plot the most accurate live power curves without relying on backend estimation.
18
+
***Lifetime Energy Support:** Automatically detects `state_class: total` sensors and flags PVOutput to calculate your daily yield for you.
17
19
***Comprehensive Metrics:** Supports pushing Generation, Consumption, and Temperature data simultaneously.
18
20
***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.
21
+
***Multi-Language Support:** Fully translated into English, Japanese, Spanish, German, and Chinese (Simplified & Traditional).
20
22
21
23
---
22
24
23
25
## Smart Sensor Detection
24
26
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:
25
27
26
28
### 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.
29
+
***Single Sensor (Smart Detection):**You can select a single Power (W) or Energy (Wh) sensor. The integration will upload it, and PVOutput will automatically estimate the missing metric.
30
+
***Dual Sensors (Maximum Accuracy):**For the best results, select BOTH a Power and an Energy sensor in the UI configuration. The integration will automatically detect which is which and upload them simultaneously, providing exact live output and daily totals without requiring PVOutput to do any mathematical guessing.
31
+
***Lifetime Energy:** If your sensor tracks lifetime yield (e.g., `state_class: total_increasing`), the integration sends the `&c1=1` flag.
30
32
31
33
### Temperature
32
34
* 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.
@@ -56,8 +58,9 @@ This integration is installed via [HACS](https://hacs.xyz/).
56
58
5. Add your first system by providing:
57
59
***System Name:** A friendly name for your reference.
58
60
***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.
61
+
***Primary Solar Sensor:** Your inverter's power (W) or energy (Wh) sensor.
62
+
***Secondary Solar Sensor:** (Optional) If you selected a Power (W) sensor above, select your Energy (Wh) sensor here, or vice versa, for maximum accuracy. If you only provide the primary sensor, PVOutput will automatically estimate the missing value, which may result in less accurate data.
63
+
***Consumption Sensor:** (Optional) Your home's power draw or energy usage sensor.
Copy file name to clipboardExpand all lines: custom_components/pvoutput_publisher/translations/de.json
+14-7Lines changed: 14 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -10,17 +10,20 @@
10
10
},
11
11
"add_system": {
12
12
"title": "System Konfigurieren",
13
-
"description": "Wählen Sie die Sensoren für dieses System aus.",
13
+
"description": "Wählen Sie die Sensoren für dieses System aus.\n\n**Smarte Erkennung:** Sie können einen einzelnen Leistungs- (W) ODER Energie- (Wh) Sensor auswählen. Die Integration formatiert ihn und PVOutput schätzt den fehlenden Wert.\n\n**Maximale Genauigkeit:** Für die besten Ergebnisse wählen Sie SOWOHL einen Leistungs- als auch einen Energiesensor. Die Integration erkennt automatisch, welcher welcher ist, und lädt beide gleichzeitig hoch.",
"name": "Ein benutzerfreundlicher Name für Ihre Übersicht.",
25
+
"entity_id": "Der Leistungs- (W) oder Energie- (Wh) Sensor Ihres Wechselrichters.",
26
+
"secondary_entity_id": "Wenn Sie oben einen Leistungs- (W) Sensor ausgewählt haben, wählen Sie hier Ihren Energie- (Wh) Sensor (oder umgekehrt) für maximale Genauigkeit. Wenn leer gelassen, schätzt PVOutput den fehlenden Wert automatisch.",
24
27
"consumption_entity_id": "(Optional) Erfasst den Energieverbrauch Ihres Hauses.",
25
28
"temperature_entity_id": "(Optional) Erfasst die Außentemperatur."
26
29
}
@@ -55,16 +58,20 @@
55
58
},
56
59
"add_system": {
57
60
"title": "System Konfigurieren",
61
+
"description": "Wählen Sie die Sensoren für dieses System aus.\n\n**Smarte Erkennung:** Sie können einen einzelnen Leistungs- (W) ODER Energie- (Wh) Sensor auswählen. Die Integration formatiert ihn und PVOutput schätzt den fehlenden Wert.\n\n**Maximale Genauigkeit:** Für die besten Ergebnisse wählen Sie SOWOHL einen Leistungs- als auch einen Energiesensor. Die Integration erkennt automatisch, welcher welcher ist, und lädt beide gleichzeitig hoch.",
"name": "Ein benutzerfreundlicher Name für Ihre Übersicht.",
73
+
"entity_id": "Der Leistungs- (W) oder Energie- (Wh) Sensor Ihres Wechselrichters.",
74
+
"secondary_entity_id": "Wenn Sie oben einen Leistungs- (W) Sensor ausgewählt haben, wählen Sie hier Ihren Energie- (Wh) Sensor (oder umgekehrt) für maximale Genauigkeit. Wenn leer gelassen, schätzt PVOutput den fehlenden Wert automatisch.",
68
75
"consumption_entity_id": "(Optional) Erfasst den Energieverbrauch Ihres Hauses.",
69
76
"temperature_entity_id": "(Optional) Erfasst die Außentemperatur."
0 commit comments