Julian Pawlowski
02fe985991
Merge pull request #182 from jpawlowski/dependabot/github_actions/actions/setup-python-7
...
chore(deps): bump actions/setup-python from 6 to 7
2026-07-21 08:22:32 +02:00
dependabot[bot]
327c0012a0
chore(deps): bump actions/setup-python from 6 to 7
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-20 20:43:50 +00:00
Julian Pawlowski
3af8ec1a96
Merge pull request #180 from jpawlowski/dependabot/pip/colorlog-gte-6.11.0-and-lt-6.12.0
...
Validate / HACS validation (push) Has been cancelled
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
chore(deps): update colorlog requirement from <6.11.0,>=6.10.1 to >=6.11.0,<6.12.0
2026-07-19 13:00:48 +02:00
dependabot[bot]
18ed8ae285
chore(deps): update colorlog requirement
...
Updates the requirements on [colorlog](https://github.com/borntyping/python-colorlog ) to permit the latest version.
- [Release notes](https://github.com/borntyping/python-colorlog/releases )
- [Commits](https://github.com/borntyping/python-colorlog/compare/v6.10.1...v6.11.0 )
---
updated-dependencies:
- dependency-name: colorlog
dependency-version: 6.11.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-17 20:43:11 +00:00
Julian Pawlowski
8a51fe4319
Merge pull request #179 from jpawlowski/dependabot/pip/ruff-gte-0.15.22-and-lt-0.16.0
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
2026-07-17 08:22:03 +02:00
dependabot[bot]
877a106afc
chore(deps): update ruff requirement
...
Updates the requirements on [ruff](https://github.com/astral-sh/ruff ) to permit the latest version.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.21...0.15.22 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.22
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-16 20:43:35 +00:00
Julian Pawlowski
a983fb3fe5
Merge pull request #178 from jpawlowski/dependabot/github_actions/actions/setup-node-7
Deploy Docusaurus Documentation (Dual Sites) / Build and Deploy Documentation Sites (push) Has been cancelled
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
2026-07-15 08:57:00 +02:00
Julian Pawlowski
5ee4a8515b
Merge pull request #177 from jpawlowski/dependabot/devcontainers/ghcr.io/devcontainers/features/rust-1.5.1
2026-07-15 08:56:51 +02:00
dependabot[bot]
0e2f78bc07
chore(deps): bump actions/setup-node from 6 to 7
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-14 20:42:59 +00:00
dependabot[bot]
d0bf498df0
chore(deps): bump ghcr.io/devcontainers/features/rust
...
Bumps ghcr.io/devcontainers/features/rust from 1.5.0 to 1.5.1.
---
updated-dependencies:
- dependency-name: ghcr.io/devcontainers/features/rust
dependency-version: 1.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-14 20:42:55 +00:00
Julian Pawlowski
205f6a64d6
Merge pull request #176 from jpawlowski/dependabot/npm_and_yarn/docs/user/typescript-7.0.2
Deploy Docusaurus Documentation (Dual Sites) / Build and Deploy Documentation Sites (push) Has been cancelled
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
2026-07-12 09:03:10 +02:00
Julian Pawlowski
d8cfd880e8
Merge pull request #174 from jpawlowski/dependabot/npm_and_yarn/docs/developer/typescript-7.0.2
2026-07-12 09:03:00 +02:00
Julian Pawlowski
146bbba430
Merge pull request #172 from jpawlowski/dependabot/pip/ruff-gte-0.15.21-and-lt-0.16.0
2026-07-12 09:02:45 +02:00
Julian Pawlowski
f77ed4add7
Merge pull request #175 from jpawlowski/dependabot/npm_and_yarn/docs/user/docusaurus-ece06190c5
2026-07-12 09:02:31 +02:00
Julian Pawlowski
fa2c2cbf64
Merge pull request #173 from jpawlowski/dependabot/npm_and_yarn/docs/developer/docusaurus-ece06190c5
2026-07-12 09:02:19 +02:00
dependabot[bot]
00d581be71
chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in /docs/user
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 6.0.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/commits )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 20:45:12 +00:00
dependabot[bot]
089b0dbfda
chore(deps): bump the docusaurus group in /docs/user with 7 updates
...
Bumps the docusaurus group in /docs/user with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus ) | `3.10.1` | `3.10.2` |
| [@docusaurus/faster](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-faster ) | `3.10.1` | `3.10.2` |
| [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic ) | `3.10.1` | `3.10.2` |
| [@docusaurus/theme-mermaid](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-theme-mermaid ) | `3.10.1` | `3.10.2` |
| [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases ) | `3.10.1` | `3.10.2` |
| [@docusaurus/tsconfig](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-tsconfig ) | `3.10.1` | `3.10.2` |
| [@docusaurus/types](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-types ) | `3.10.1` | `3.10.2` |
Updates `@docusaurus/core` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus )
Updates `@docusaurus/faster` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-faster )
Updates `@docusaurus/preset-classic` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-preset-classic )
Updates `@docusaurus/theme-mermaid` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-theme-mermaid )
Updates `@docusaurus/module-type-aliases` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-module-type-aliases )
Updates `@docusaurus/tsconfig` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-tsconfig )
Updates `@docusaurus/types` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-types )
---
updated-dependencies:
- dependency-name: "@docusaurus/core"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/faster"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/preset-classic"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/theme-mermaid"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/module-type-aliases"
dependency-version: 3.10.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/tsconfig"
dependency-version: 3.10.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/types"
dependency-version: 3.10.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: docusaurus
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 20:44:58 +00:00
dependabot[bot]
3fd540cae9
chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in /docs/developer
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 6.0.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/commits )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 20:44:56 +00:00
dependabot[bot]
31c2e68b6c
chore(deps): bump the docusaurus group in /docs/developer with 7 updates
...
Bumps the docusaurus group in /docs/developer with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus ) | `3.10.1` | `3.10.2` |
| [@docusaurus/faster](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-faster ) | `3.10.1` | `3.10.2` |
| [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic ) | `3.10.1` | `3.10.2` |
| [@docusaurus/theme-mermaid](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-theme-mermaid ) | `3.10.1` | `3.10.2` |
| [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases ) | `3.10.1` | `3.10.2` |
| [@docusaurus/tsconfig](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-tsconfig ) | `3.10.1` | `3.10.2` |
| [@docusaurus/types](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-types ) | `3.10.1` | `3.10.2` |
Updates `@docusaurus/core` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus )
Updates `@docusaurus/faster` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-faster )
Updates `@docusaurus/preset-classic` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-preset-classic )
Updates `@docusaurus/theme-mermaid` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-theme-mermaid )
Updates `@docusaurus/module-type-aliases` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-module-type-aliases )
Updates `@docusaurus/tsconfig` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-tsconfig )
Updates `@docusaurus/types` from 3.10.1 to 3.10.2
- [Release notes](https://github.com/facebook/docusaurus/releases )
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/docusaurus/commits/v3.10.2/packages/docusaurus-types )
---
updated-dependencies:
- dependency-name: "@docusaurus/core"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/faster"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/preset-classic"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/theme-mermaid"
dependency-version: 3.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/module-type-aliases"
dependency-version: 3.10.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/tsconfig"
dependency-version: 3.10.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: docusaurus
- dependency-name: "@docusaurus/types"
dependency-version: 3.10.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: docusaurus
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 20:44:44 +00:00
dependabot[bot]
3123076600
chore(deps): update ruff requirement
...
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.21
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-09 20:43:22 +00:00
Julian Pawlowski
ba9681609c
Merge pull request #170 from jpawlowski/dependabot/github_actions/astral-sh/setup-uv-8.3.1
...
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
chore(deps): bump astral-sh/setup-uv from 8.3.0 to 8.3.1
2026-07-08 12:34:08 +02:00
dependabot[bot]
c09f9c5052
chore(deps): bump astral-sh/setup-uv from 8.3.0 to 8.3.1
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](d31148d669...f98e069381 )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 8.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-07 20:42:55 +00:00
Julian Pawlowski
9a98de8a79
Merge pull request #169 from jpawlowski/dependabot/github_actions/astral-sh/setup-uv-8.3.0
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
2026-07-07 08:35:07 +02:00
dependabot[bot]
160e9a8356
chore(deps): bump astral-sh/setup-uv from 8.2.0 to 8.3.0
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 8.2.0 to 8.3.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](fac544c07d...d31148d669 )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 8.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 20:43:38 +00:00
Julian Pawlowski
2f202dc186
refactor(generate-notes): improve Copilot CLI integration for release notes generation
...
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
Auto-Tag on Version Bump / Check and create version tag (push) Has been cancelled
Deploy Docusaurus Documentation (Dual Sites) / Build and Deploy Documentation Sites (push) Has been cancelled
Enhance the handling of the Copilot CLI to ensure better user-focused output and prevent issues with empty responses. Adjustments include using a pipe for input and adding checks for output validity.
Impact: Users receive more accurate and user-friendly release notes without technical jargon.
2026-07-04 19:18:04 +00:00
Julian Pawlowski
1694431f26
chore(devcontainer): add AI extensions for enhanced development experience
...
Included Anthropic Claude and OpenAI ChatGPT extensions to support AI-assisted coding features.
User-Impact: Developers can leverage AI tools for improved productivity and code suggestions.
2026-07-04 18:50:24 +00:00
Julian Pawlowski
49ea70ed9f
chore(auto-tag): explicitly dispatch release workflow after tag creation
...
Add a step to trigger the release notes workflow after creating a version tag. This ensures that the release notes are generated even when the tag push does not automatically trigger the workflow due to GitHub's recursion guard.
Impact: Users will receive timely release notes corresponding to new version tags.
2026-07-04 18:34:31 +00:00
Julian Pawlowski
de6da790ab
chore(release): bump version to 0.32.0
2026-07-04 18:25:27 +00:00
Julian Pawlowski
569a7cb73a
Merge branch 'main' of https://github.com/jpawlowski/hass.tibber_prices
2026-07-04 18:24:22 +00:00
Julian Pawlowski
13b9870f45
fix(get_chartdata): use proper statistics.median for chart metadata
...
_calculate_metadata()'s inline calc_stats() computed the median as a
naive sorted(data)[len(data) // 2], which returns the upper-middle
value for even-length datasets instead of averaging the two middle
values. A full day is always an even interval count (96 quarter-hours
or 24 hours), so this silently overstated "median" and
"median_position" in nearly every price_stats block of the
get_chartdata response. The rest of the codebase already has a
correct calculate_median() in utils/average.py; this was an isolated
inline duplicate with the bug.
Impact: get_chartdata's price_stats.combined/dayN.median and
median_position now report the statistically correct median for
chart annotations and metadata-driven dashboards.
2026-07-04 18:23:25 +00:00
Julian Pawlowski
1b207f0db1
fix(services): correct min_distance_from_avg direction for negative prices
...
check_min_distance_from_avg() computed the distance threshold as
range_avg * (1 ± ratio). Tibber prices can go negative during grid
oversupply, and multiplying a negative range_avg directly flips the
intended direction: e.g. avg * 1.05 makes a negative average MORE
negative (i.e. cheaper), which is the wrong direction for a
"most expensive" threshold check, and analogously wrong for
"cheapest" checks.
Compute the threshold as range_avg ± abs(range_avg) * ratio instead,
matching the sign-safe normalization pattern already used for
min_distance_from_avg in the period system
(coordinator/period_handlers/level_filtering.py). Behavior for
positive averages (the common case) is unchanged.
Used by find_cheapest_block, find_cheapest_hours, and plan_charging.
Impact: min_distance_from_avg now correctly filters cheapest/most
expensive windows during negative-price periods instead of silently
accepting windows in the wrong direction relative to the search range
average.
2026-07-04 18:23:06 +00:00
Julian Pawlowski
95004efa2d
fix(services): prevent power_profile truncation during relaxation
...
find_cheapest_block, find_cheapest_hours, and find_cheapest_schedule
accept an optional power_profile (fixed per-interval watt array
matching the requested duration/task length). When allow_relaxation
was enabled and no full-duration window could be found, the
duration-reduction relaxation phase silently reduced the interval
count without shrinking power_profile accordingly. Downstream code
(find_cheapest_contiguous_window, calculate_window_statistics,
_find_cheapest_window_in_pool) then truncated the profile from the
front to match, dropping trailing appliance-cycle phases and using
the wrong per-interval weights for both window selection and the
reported cost estimate.
Disable duration-reduction relaxation whenever a power_profile is
supplied (find_cheapest_schedule guards per-task via
any_task_has_power_profile); distance and level-filter relaxation
phases remain available since they don't affect interval count.
Impact: Services with a power_profile no longer silently pick a
shorter window with mismatched power weighting during relaxation;
they now correctly report no window found if the full duration isn't
available, preserving the accuracy of appliance-cycle cost estimates.
2026-07-04 18:22:44 +00:00
Julian Pawlowski
2ad225f26d
test(services): add end-to-end regression test for must_finish_by fix
...
Add a real (non-mocked) end-to-end test exercising apply_must_finish_by
and resolve_search_range together with a range-filtering fake pool,
reproducing the exact scenario from GH #168 : a naive must_finish_by
datetime combined with search_start_day_offset: 0. The underlying fix
already landed in db5d172 but had no test covering the full request
pipeline (only individual helpers were mocked in existing tests).
Release-Notes: skip
User-Impact: none
2026-07-04 18:21:58 +00:00
Julian Pawlowski
36e9cdf4b9
fix(find_cheapest_schedule): retry valid window start after time gaps
...
_find_cheapest_window_in_pool() scans for contiguous available blocks
when scheduling multiple tasks. When a block-in-progress hit a
temporal gap (e.g. from price-level filtering removing intervals from
the middle of the search range, or missing API data), the scanner
jumped to i = j + 1 instead of i = j, silently skipping the interval
right after the gap as a valid — sometimes cheaper — window start.
Distinguish 'unavailable slot' (correctly skipped via j + 1) from
'temporal gap' (must retry at j, since that slot was never actually
tested as a window start).
Impact: find_cheapest_schedule can now find the true cheapest window
for a task when the search range contains time gaps, instead of
occasionally picking a more expensive window right after such a gap.
2026-07-04 18:18:42 +00:00
Julian Pawlowski
e4c208b376
Merge pull request #152 from ricklambrechts/update-dutch-pricing
...
Update Dutch energy price examples
2026-07-04 19:49:14 +02:00
Julian Pawlowski
b8e40bfa3b
fix(services): prevent plan_charging overcharge from segment-constraint bridging
...
apply_segment_constraints could add far more grid energy than requested when
max_cycles_per_day or min_charge_duration_minutes forced bridging across
expensive gaps between cheap intervals. With max_cycles_per_day=1, isolated
cheap intervals were merged into one continuous segment by filling every gap
in between, without ever trimming the surplus back down, resulting in
achieved_soc_percent far above 100%.
Add a post-bridging trim step that removes segment-edge intervals (highest
price first) until total grid energy matches the requested target again,
while still respecting max_cycles_per_day/min_charge_duration_minutes and
never dropping below the target itself (fixed-power mode's expected
last-interval rounding overshoot is preserved).
A related edge case is also fixed: trimming could previously remove an
interval required to satisfy a must_reach_by deadline, silently flipping
deadline_met to False even though the overall energy target was still
reached. Deadline-critical intervals are now passed through as
protected_starts and are never removed during trimming.
Fixes #167
Impact: plan_charging no longer overcharges the battery/EV past the
requested target SoC when max_cycles_per_day or min_charge_duration_minutes
is set, and must_reach_by deadlines are honored even when those constraints
require bridging across expensive price gaps.
2026-07-04 17:43:04 +00:00
Julian Pawlowski
e94130953f
Merge pull request #166 from jpawlowski/dependabot/pip/ruff-gte-0.15.20-and-lt-0.16.0
...
Deploy Docusaurus Documentation (Dual Sites) / Build and Deploy Documentation Sites (push) Has been cancelled
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
chore(deps): update ruff requirement from <0.16.0,>=0.15.16 to >=0.15.20,<0.16.0
2026-06-28 00:17:51 +02:00
Julian Pawlowski
7c87ab778f
Merge pull request #165 from jpawlowski/dependabot/github_actions/home-assistant/actions/hassfest-f4ca6f671bd429efb108c0f2fa0ae8af0215986c
...
chore(deps): bump home-assistant/actions/hassfest from d05c25388490cd662baef8495e1bc764c3386153 to f4ca6f671bd429efb108c0f2fa0ae8af0215986c
2026-06-28 00:17:28 +02:00
dependabot[bot]
0a9d2da1e2
chore(deps): bump home-assistant/actions/hassfest
...
Bumps [home-assistant/actions/hassfest](https://github.com/home-assistant/actions ) from d05c25388490cd662baef8495e1bc764c3386153 to f4ca6f671bd429efb108c0f2fa0ae8af0215986c.
- [Release notes](https://github.com/home-assistant/actions/releases )
- [Commits](d05c253884...f4ca6f671b )
---
updated-dependencies:
- dependency-name: home-assistant/actions/hassfest
dependency-version: f4ca6f671bd429efb108c0f2fa0ae8af0215986c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-27 21:57:58 +00:00
Julian Pawlowski
5608d1b269
Merge pull request #161 from jpawlowski/dependabot/github_actions/actions/checkout-7
...
chore(deps): bump actions/checkout from 6 to 7
2026-06-27 23:56:06 +02:00
Julian Pawlowski
15ec975750
Merge pull request #160 from jpawlowski/dependabot/devcontainers/ghcr.io/devcontainers/features/node-2.1.0
...
chore(deps): bump ghcr.io/devcontainers/features/node from 2.0.0 to 2.1.0
2026-06-27 23:55:53 +02:00
dependabot[bot]
100fbbcb3b
chore(deps): update ruff requirement
...
Updates the requirements on [ruff](https://github.com/astral-sh/ruff ) to permit the latest version.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.16...0.15.20 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.20
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-25 20:43:22 +00:00
dependabot[bot]
bf58137c43
chore(deps): bump actions/checkout from 6 to 7
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases )
- [Commits](https://github.com/actions/checkout/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-18 20:42:59 +00:00
dependabot[bot]
006f00071a
chore(deps): bump ghcr.io/devcontainers/features/node
...
Bumps ghcr.io/devcontainers/features/node from 2.0.0 to 2.1.0.
---
updated-dependencies:
- dependency-name: ghcr.io/devcontainers/features/node
dependency-version: 2.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 20:43:52 +00:00
Julian Pawlowski
f402581379
Merge pull request #157 from jpawlowski/dependabot/github_actions/home-assistant/actions-d05c25388490cd662baef8495e1bc764c3386153
Lint / Ruff (push) Has been cancelled
Validate / Hassfest validation (push) Has been cancelled
Validate / HACS validation (push) Has been cancelled
2026-06-10 07:58:53 +02:00
dependabot[bot]
b0165cf301
chore(deps): bump home-assistant/actions
...
Bumps [home-assistant/actions](https://github.com/home-assistant/actions ) from 868e6cb4607727d764341a158d98872cd63fa658 to d05c25388490cd662baef8495e1bc764c3386153.
- [Release notes](https://github.com/home-assistant/actions/releases )
- [Commits](868e6cb460...d05c253884 )
---
updated-dependencies:
- dependency-name: home-assistant/actions
dependency-version: d05c25388490cd662baef8495e1bc764c3386153
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-09 20:43:05 +00:00
Julian Pawlowski
a370950708
Merge pull request #156 from jpawlowski/dependabot/npm_and_yarn/docs/developer/react-073a1f481f
...
Deploy Docusaurus Documentation (Dual Sites) / Build and Deploy Documentation Sites (push) Has been cancelled
chore(deps): bump the react group in /docs/developer with 2 updates
2026-06-09 11:31:35 +02:00
Julian Pawlowski
301b4097e9
Merge pull request #155 from jpawlowski/dependabot/npm_and_yarn/docs/user/react-073a1f481f
...
chore(deps): bump the react group in /docs/user with 2 updates
2026-06-09 11:31:21 +02:00
dependabot[bot]
29e58c5ff6
chore(deps): bump the react group in /docs/developer with 2 updates
...
Bumps the react group in /docs/developer with 2 updates: [react](https://github.com/facebook/react/tree/HEAD/packages/react ) and [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ).
Updates `react` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react )
Updates `react-dom` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react-dom )
---
updated-dependencies:
- dependency-name: react
dependency-version: 19.2.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: react
- dependency-name: react-dom
dependency-version: 19.2.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: react
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-05 20:44:05 +00:00
dependabot[bot]
8a78149869
chore(deps): bump the react group in /docs/user with 2 updates
...
Bumps the react group in /docs/user with 2 updates: [react](https://github.com/facebook/react/tree/HEAD/packages/react ) and [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ).
Updates `react` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react )
Updates `react-dom` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react-dom )
---
updated-dependencies:
- dependency-name: react
dependency-version: 19.2.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: react
- dependency-name: react-dom
dependency-version: 19.2.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: react
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-05 20:43:55 +00:00