Skip to content

Commit b7bd7a0

Browse files
Next release (#1460)
2 parents 2c75ce8 + ee6abae commit b7bd7a0

File tree

131 files changed

+3656
-1085
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+3656
-1085
lines changed

.github/workflows/label_issues.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Last Comment Label Manager
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
jobs:
8+
label:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
issues: write
12+
pull-requests: write
13+
14+
steps:
15+
- name: Check if commenter has write access
16+
id: check
17+
uses: actions/github-script@v7
18+
with:
19+
script: |
20+
const commentAuthor = context.payload.comment.user.login;
21+
22+
// Check permission level
23+
const { data: perm } = await github.rest.repos.getCollaboratorPermissionLevel({
24+
owner: context.repo.owner,
25+
repo: context.repo.repo,
26+
username: commentAuthor,
27+
});
28+
29+
const isMaintainer = ["admin", "write"].includes(perm.permission);
30+
core.setOutput("is-maintainer", isMaintainer);
31+
32+
- name: Remove label if maintainer
33+
if: steps.check.outputs.is-maintainer == 'true'
34+
uses: actions/github-script@v7
35+
with:
36+
script: |
37+
const labelName = "awaiting-maintainer-response";
38+
const issue = {
39+
owner: context.repo.owner,
40+
repo: context.repo.repo,
41+
issue_number: context.issue.number
42+
};
43+
44+
try {
45+
await github.rest.issues.removeLabel({
46+
...issue,
47+
name: labelName
48+
});
49+
} catch (e) {
50+
if (e.status !== 404) throw e;
51+
}
52+
53+
- name: Add label if not maintainer
54+
if: steps.check.outputs.is-maintainer != 'true'
55+
uses: actions/github-script@v7
56+
with:
57+
script: |
58+
const labelName = "awaiting-maintainer-response";
59+
const issue = {
60+
owner: context.repo.owner,
61+
repo: context.repo.repo,
62+
issue_number: context.issue.number
63+
};
64+
65+
await github.rest.issues.addLabels({
66+
...issue,
67+
labels: [labelName]
68+
});

CHANGELOG.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,88 @@
1+
# [17.0.0-beta.5](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v17.0.0-beta.4...v17.0.0-beta.5) (2025-10-07)
2+
3+
4+
### Bug Fixes
5+
6+
* Added missing translations for event entities (30 minutes dev time) ([7af2561](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/7af25619e57c8e81316168c381c4ad03e65a4410))
7+
* Updated cost trackers to handle entities with non-string unique_ids (Thanks [@dpwood](https://github.com/dpwood)) ([5c32d16](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/5c32d16ca0084dc76da363bba7d8e16340454787))
8+
9+
10+
### Features
11+
12+
* Added calendars for representing free electricity and saving sessions. Existing binary sensors have been deprecated. See repair notice for more information (2 hours 15 mins dev time) ([5a1441a](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/5a1441a24c88b1d07bbf80c3ac00cb6d23f9b8d2))
13+
* Added free electricity and saving session sensors to octoplus service device for easier discovery (30 minutes dev time) ([ef0f3c1](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/ef0f3c14fc9f562e352a1c5fc5e8a38cc60328a9))
14+
* Attached intelligent diagnostic sensors to intelligent device (15 minutes dev time) ([b0ca7d1](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/b0ca7d11c6f76a69921fb5f6b0ad542d6ccf634e))
15+
* Updated electricity and gas rate sensors to be measurements classes to match rate sensors in other native integrations and provide min/max/average stats (30 minutes dev time) ([4a7305e](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/4a7305e7924ba483357d95ba6e75d3cd053ee7f9))
16+
* Updated electricity/gas/heat pump/octoplus diagnostic entities so they're attached to the correct devices (1 hour dev time) ([af0c285](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/af0c285675aebd10085f3d65b4f6c4897d9b4f34))
17+
* Updated electricity/gas/heat pump/octoplus diagnostic entities so they're attached to the correct devices (1 hour dev time) ([#1497](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/1497)) ([2ce05ed](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/2ce05ed738c0ad3c6c71776fd7c1b73058e7de29))
18+
19+
# [17.0.0-beta.4](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v17.0.0-beta.3...v17.0.0-beta.4) (2025-09-28)
20+
21+
22+
### Bug Fixes
23+
24+
* Fixed issue where intelligent maximum hourly calls check was being checked when data wasn't due to be refreshed ([fd74794](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/fd74794d508548f071d1ceb1f16065cbdb020103))
25+
26+
27+
### Features
28+
29+
* Updated dispatches diagnostics sensor to include maximum_requests_per_hour (15 minutes dev time) ([a48d7ce](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/a48d7cea2f64e73ceb737e58515b81f60e82b1d4))
30+
31+
# [17.0.0-beta.3](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v17.0.0-beta.2...v17.0.0-beta.3) (2025-09-24)
32+
33+
34+
### Bug Fixes
35+
36+
* Fixed intelligent device type (5 minutes dev time) ([b06bdc0](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/b06bdc0fb9ba3add276ce5d76a1ea529e3685d1d))
37+
* Fixed issue where off peak rates flipped when multiple dispatch sources exist where one source is active and one isn't (1 hour dev time) ([72c2965](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/72c29651bf421a5934f02c988aadc0e865e1f91d))
38+
* Incorrect number of arguments to async_create_issue ([0ad38cf](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/0ad38cfba6a2d89a552085432302136b7689fd6d)), closes [#1479](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/1479)
39+
40+
# [17.0.0-beta.2](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v17.0.0-beta.1...v17.0.0-beta.2) (2025-09-21)
41+
42+
43+
### Bug Fixes
44+
45+
* Fixed diagnostics and intelligent devices not loading ([86f024b](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/86f024bd95db64bb23ab85c983ba830d7dfe89f5))
46+
47+
# [17.0.0-beta.1](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v16.3.1...v17.0.0-beta.1) (2025-09-21)
48+
49+
50+
### blueprints
51+
52+
* Updates extention of blueprints (Thanks [@reedy](https://github.com/reedy)) ([9f3ae03](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/9f3ae03d76d7992d4f1787dbe3c269a5bd794508))
53+
54+
55+
### Bug Fixes
56+
57+
* Fixed repair issues to obfuscate PII information from the key (1.5 hours dev time) ([13d2f42](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/13d2f42e8903030931aca4a0fd1e8c634c8a5c82))
58+
* Updated heat pump water heater to use valid state to represent 'on' (30 minutes dev time) ([ae0b73d](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/ae0b73d839d348b96657f63e1ae10e01c591b577))
59+
* Updated minimum hacs version to 2025.1 ([fa77457](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/fa774577007ee17df21ac488a6679b9f46bbe3b3))
60+
* Updated minimum hacs version to 2025.1 ([#1465](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/1465)) ([39b9032](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/39b90320eedb1edf164919ae6bf6820cfe1e4c73))
61+
62+
63+
### Features
64+
65+
* Added attribute to dispatch entity to determine if manual refreshing of dispatches is enabled (10 minutes dev time) ([6f4d5e4](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/6f4d5e4e3f9c493177b7660d3c80f647c3496164))
66+
* Added repair notice when no rates are retrievable (1.5 hours dev time) ([1dca50b](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/1dca50b124a30e74e9c2581c01ce974876c62de6))
67+
* Added support for multiple EVs (6 hours 5 minutes dev time) ([1c2c3a9](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/1c2c3a967f4208a45daa53f5f57c2e002f63a381))
68+
* Updated off peak sensor to come on when intelligent devices are dispatching (30 minutes dev time) ([18e3eca](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/18e3eca01e21c9d63d0b30b78d01c70807bde5dd))
69+
* Updated raised errors for heat pump and intelligent controls to be more user friendly (2 hours dev time) ([e60ce63](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/e60ce637641dc1d570602aa3121d79b79b69092a))
70+
71+
72+
### BREAKING CHANGES
73+
74+
* off_peak entity will now turn on during standard off peak rates as well as ad hoc scheduled
75+
dispatches when on intelligent tariff. This is because the naming and behaviour was confusing (off
76+
peak not turning on when in an ad-hoc off peak period). See
77+
https://bottlecapdave.github.io/HomeAssistant-OctopusEnergy/architecture_decision_records/0002_intelligent_is_dispatching_behaviour_changes
78+
for full details.
79+
* Intelligent device related entity ids have been changed from including the account id to including the device id. This is to support multiple EVs as well as other future intelligent devices OE might want to add in the future (e.g. Snug)
80+
81+
is_dispatching entity will now only show when the car is within a scheduled dispatching period. It will no longer turn on when within the standard off peak period. This is because the naming and behaviour was confusing with the name (on when it's not dispatching) and behavior in conjunction with the off peak sensor (off peak not turning on when in an ad-hoc off peak period). See https://bottlecapdave.github.io/HomeAssistant-OctopusEnergy/architecture_decision_records/0002_intelligent_is_dispatching_behaviour_changes for full details.
82+
* If you are using blueprints provided by this integration, you will need to re-import them and potentially update automations in order to continue receiving updates.
83+
* If you have automations that look at the heat pump water heater, then you'll need to update any reference to the state of 'on' to 'electric'
84+
* Due to repair issue key structure changing, you may receive repair notices that you have previously ignored. You will need to ignore them again to hide them.
85+
186
## [16.3.1](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v16.3.0...v16.3.1) (2025-09-09)
287

388

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# 0001 - Deprecation and removal of Target Rate Sensors in Octopus Energy Integration
2+
3+
## Status
4+
Accepted
5+
6+
## Context
7+
Target rate sensors are currently a core feature of the Octopus Energy integration. A variation of this feature was also introduced into the [Carbon Intensity integration](https://github.com/BottlecapDave/HomeAssistant-CarbonIntensity), where carbon emissions were used instead of price.
8+
9+
Maintaining this feature across multiple integrations has become problematic, as it requires ongoing effort to ensure feature parity. Meanwhile, more energy providers are emerging with dynamic pricing models similar to Octopus Energy that cannot benefit from the existing implementation.
10+
11+
In addition, there are broader automation opportunities beyond energy pricing, such as identifying optimal times for solar generation, that could leverage this functionality.
12+
13+
To address these issues, a new integration, [Target Timeframes](https://bottlecapdave.github.io/HomeAssistant-TargetTimeframes/), has been developed. It abstracts the concept of selecting optimal timeframes from the data source, allowing it to work with any metric (price, carbon intensity, generation, etc.). This ensures long-term viability and avoids duplication of effort across multiple integrations.
14+
15+
## Decision
16+
Deprecate and remove target rate sensors from the Octopus Energy integration in favor of the Target Timeframes integration.
17+
18+
- A migration guide has been provided: [Target Timeframes Migration Guide](https://bottlecapdave.github.io/HomeAssistant-OctopusEnergy/migrations/target_timeframes/).
19+
- A set of [blueprints](https://bottlecapdave.github.io/HomeAssistant-TargetTimeframes/blueprints/#octopus-energy) for using Octopus Energy data with Target Timeframes is already available.
20+
- A repair notice has been introduced to inform users of the upcoming removal.
21+
- The target rate sensors feature will be removed six months from the notice, around the end of **November 2025**.
22+
23+
The Carbon Intensity integration has already removed its variation due to a smaller user base. Given the higher user count of Octopus Energy, this proposal is being [made openly](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/discussions/1305) before proceeding.
24+
25+
## Consequences
26+
27+
### Positive
28+
- Centralizes the feature into a single integration, reducing maintenance overhead.
29+
- Ensures consistent functionality and feature parity across different use cases.
30+
- Provides flexibility for multiple data sources beyond Octopus Energy (dynamic pricing, carbon intensity, solar generation, etc.).
31+
- Protects users from losing the feature if they move away from Octopus Energy.
32+
33+
### Negative
34+
- Users will need to migrate their automations to the Target Timeframes integration.
35+
- Some short-term disruption may occur as users adapt to the new integration.
36+
- Potential gaps in the new integration’s functionality may need to be identified and addressed through community feedback.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 0002 - Intelligent Is Dispatching behavior changes
2+
3+
## Status
4+
Accepted
5+
6+
## Context
7+
8+
The Octopus Intelligent feature was heavily based on an [existing integration](https://github.com/megakid/ha_octopus_intelligent), with [an original proposal from author](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/114). This resulted in the intelligent based entity behavior being identical to the existing integration.
9+
10+
Since inception, this integration has evolved and resulted in other sensors (i.e. [off peak](../entities/electricity.md#off-peak)) which have brought some inconsistencies in naming compared to behaviour (e.g. not turning on for **all** off peak times). Some of the intelligent sensors have also had inconsistencies in naming compared to behaviour (e.g. dispatching sensor turning on during standard off peak when the device isn't scheduled to be charged).
11+
12+
## Decision
13+
14+
The [Is Dispatching entity](../entities/intelligent.md#is-dispatching) will have its behaviour updated to only turn on when during a planned/scheduled dispatch period and the state of the intelligent device is in a "scheduled" mode.
15+
16+
The [Off peak entity](../entities/electricity.md#off-peak) will have its behaviour updated to turn on whenever an off peak rate is active. In the case of intelligent tariffs this will be during the standard off peak times (23:30-05:30 at time of writing) or when a planned/scheduled dispatch is active and the state of the intelligent device is in a "scheduled" mode.
17+
18+
## Consequences
19+
20+
### Positive
21+
- Expected behavior based on entity names, which will be easier for new users to understand
22+
- Automations built around running off peak will continue to work as expected when moving from/to intelligent tariffs when using the off peak sensor with the new behaviour
23+
24+
### Negative
25+
- Downstream integrations that rely on existing behavior will need to change
26+
- Users using effected entities will need to update all references
27+
- Some short-term disruption may occur as users adapt to the new entity behaviour.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# 0003 - Move to calendar entities for Octoplus events
2+
3+
## Status
4+
Accepted
5+
6+
## Context
7+
8+
Currently binary sensors are provided to indicate when a saving or free electricity session is active for the current account. This also provides attributes for current and next start/end times.
9+
10+
Since the introduction of the saving session binary sensor, calendar entities have received more love within Home Assistant and become the preferred way of showing events. These are better supports in UI automations as you can offset calendar events easily (e.g. reminder 10 minutes before) without having to do template gymnastics. The calendar view of Home Assistant is also used by house hold members who are not as involved as other members in things like wall tablets. A few users move the data from the sensor data into a local calendar to produce this.
11+
12+
This request has been made on a few occasions, below are some samples
13+
14+
* https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/561#issuecomment-1826830172
15+
* https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/1397
16+
17+
## Decision
18+
19+
With more people coming on board to Home Assistant who don't necessarily come from a technological background, the automation UI becoming the preferred way of creating automations and the calendar entity getting more attention, it has been decided to convert the saving session and free electricity sessions into calendar entities.
20+
21+
The old sensors, `binary_sensor.octopus_energy_{{ACCOUNT_ID}}_octoplus_saving_sessions` and `binary_sensor.octopus_energy_{{ACCOUNT_ID}}_octoplus_free_electricity_session`, will continue to be available until **May 2026** when they will be removed, to ease with the transition.
22+
23+
## Consequences
24+
25+
### Positive
26+
- Automations around sessions will be easier via the calendar trigger
27+
- Past and present sessions will be easily viewable in the Home Assistant Calendar view
28+
- Standard approach for people used to calendar entities.
29+
30+
### Negative
31+
- Users using effected entities will need to update all references
32+
- Some short-term disruption may occur as users adapt to the new entity behaviour.
33+
- Event duration (e.g. 60 minutes) will require templating still
60.5 KB
Loading
-22.9 KB
Loading

0 commit comments

Comments
 (0)