Skip to content

Commit 3091986

Browse files
Documentation fixes, Solax YAML, load gaps FAQ, add Predbat table card next (#5480)
* #5370 Highlight that Power Up/Down events are disabled by default and need to be enabled before use * #5379 metric battery cycle cost - remove duplicated halving * #5204 Add FAQ for load gaps warning * #5452 Limitation: Standing charge not included in comparison * #5474 Add Predbat table card next * #5479 Correct YAML indentation Solax, Kostal, LuxPower, SolarEdge, Tesla * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
1 parent 6bdc14f commit 3091986

5 files changed

Lines changed: 273 additions & 258 deletions

File tree

‎docs/apps-yaml.md‎

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,10 +1150,6 @@ If you don't have any PV panels, comment or delete this line out of `apps.yaml`.
11501150

11511151
**Note:**: these '_today' entity names must all be *energy* sensors recording electricity measured over a time period, NOT *power* sensors which measure instantaneous power. They must increase during the day and not have any gaps or reduce in value (other than at midnight).
11521152

1153-
The **load_power_fill_enable** feature helps to improve the accuracy of historical load data by using instantaneous power readings to fill gaps and smooth
1154-
out load_today sensors that update infrequently (e.g., sensors that increment in kWh units may only update every hour). This preprocessing happens before
1155-
the main load data analysis and can significantly improve prediction accuracy, especially for systems with coarse-grained energy sensors.
1156-
11571153
See the [Workarounds](#workarounds) section below for configuration settings for scaling these if required.
11581154

11591155
If you have multiple inverters then you may find that the **load_today** figures are incorrect as the inverters share the house load between them.
@@ -1257,6 +1253,19 @@ the lowest day's historical load will be discarded.
12571253
- **load_filter_threshold** - Sets the number of minutes of zero load data to be considered a gap (that's filled with average data), the default is 30.
12581254
To disable, set it to 1440.
12591255

1256+
- **load_power_fill_enable** (default true) helps to improve the accuracy of historical load data by using instantaneous power readings to fill gaps and smooth
1257+
out load_today sensors that update infrequently (e.g., sensors that increment in kWh units may only update every hour). This preprocessing happens before
1258+
the main load data analysis and can significantly improve prediction accuracy, especially for systems with coarse-grained energy sensors. Set to 'false' to turn this feature off.
1259+
1260+
e.g.
1261+
1262+
```yaml
1263+
load_filter_threshold: 60
1264+
load_power_fill_enable: false
1265+
```
1266+
1267+
See [Load filtering warning in FAQ's](faq.md#i-see-repeated-log-messages-warn-found-1-periods-of-zero-load-with-power-data-filling-using-power-integration).
1268+
12601269
## iBoost energy
12611270

12621271
- **iboost_energy_today** - Set to a sensor which tracks the amount of energy sent to your solar diverter, which can also be used to subtract from your historical load

‎docs/compare.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ It's recommended to watch the [YouTube video on Energy tariff comparison](https:
1515

1616
Keep in mind this is an approximation of costs for the following 24-hour period and the reality could be different. In particular, car charging costs are unlikely to reflect the true picture as it will only be planned after you plug in.
1717
Smart tariffs like Octopus Intelligent Go can give you extra cheap car slots, and Octopus Intelligent Flux where Octopus controls the charging/discharging, mean these tariffs cannot be predicted as accurately.
18+
19+
Solar Generation and House Load are by their nature forecast predictions and whilst Predbat tries to allow for the unknown variability in those predictions, the actual generation and house load will vary and so Predbat's plan for that day will in all likelihood be different.
20+
21+
Standing charge is by design not included in the comparison amd nor is there a mechanism to include the standing charge for each tariff in the [comparison configuration](#configuring-the-tariffs-to-compare). In most cases standing charges are usually quite similar across tariffs and will make little difference to the comparison anyway.
22+
1823
When changing tariffs, you should use your judgment, the Predbat Compare data is only a helpful guide.
1924

2025
## Configuring the tariff's to compare

‎docs/faq.md‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,25 @@ To reverse the direction of your [grid power entity](apps-yaml.md#power-data) in
117117

118118
If this is your situation, create a template sensor in Home Assistant that combines the two into one signed value (e.g. `export - import`, or `-import` when only importing) and point **grid_power** at that combined template instead of either sensor directly.
119119

120+
## I see repeated log messages "Warn: Found 1 periods of zero load with power data, filling using power integration"
121+
122+
This is often normal behaviour for coarse or infrequently changing house energy load sensors!
123+
124+
With the Predbat configuration **load_power_fill_enable** set to the default value of 'true', on every 5 minute Predbat cycle it scans your historic house load sensor for stretches of at least **load_filter_threshold** duration (default = plan_interval_minutes = 30 minutes) where the house load didn't move while load_power recorded consumption.
125+
When predbat finds a period where there is no change in house load energy it fills those stretches by integrating the house load power sensor to fill the gap, and logs the above warning every time it finds one.
126+
127+
The log line immediately after the warning names the exact window: "Zero load period starting at *timestamp* (N minutes) for M minutes with base value V" and you can check your load_today helper's history at that time to confirm this behaviour.
128+
129+
There are two scenarios where these warnings are often logged:
130+
131+
- A long region with base value 0.0 — the part of the history window before/around when you first setup Predbat or your house load helper started counting. This is normal for a fresh counter; it ages out as days_previous history accumulates in Home Assistant.
132+
- ~30-40 minute flat plateaus (e.g. "for 34 minutes with base value 1.9"): a daily load energy counter that steps in 0.1 kWh increments only moves that often at low load — at 200 W base load overnight for example, one 0.1kWh step takes 30 minutes, so the counter reads constant for half an hour while the power sensor shows the real draw.
133+
134+
What you can do
135+
136+
Doing nothing is fine: the fill reconstructs the missing consumption and the plan is using it, so it is self-healing rather than an error.
137+
If you want the log file to be quiet: set load_power_fill_enable: false in apps.yaml or increase load_filter_threshold. See [load filtering in apps.yaml](apps-yaml.md#load-filtering) for more details. The trade-off is that genuine gaps in your load_today sensor will no longer be auto-filled.
138+
120139
## I have a second solar array that Predbat doesn't manage as an inverter - how do I include its generation?
121140

122141
The [Power Data](apps-yaml.md#power-data) **pv_power**/**pv_today** lists take one entry per inverter Predbat is actually configured to manage (`num_inverters`) - you can't just add an extra line for a second array that has no corresponding managed inverter (e.g. a separate FIT-metered string, or a second hybrid system Predbat isn't controlling), Predbat will still only look for as many sensors as it has inverters defined.

0 commit comments

Comments
 (0)