Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
f828bc2
blueprints: Rename .yml to .yaml
reedy Aug 25, 2025
27e6486
chore: Merged main into develop
github-actions[bot] Sep 9, 2025
13d2f42
fix: Fixed repair issues to obfuscate PII information from the key (1…
BottlecapDave Sep 12, 2025
ae0b73d
fix: Updated heat pump water heater to use valid state to represent '…
BottlecapDave Sep 12, 2025
1dca50b
feat: Added repair notice when no rates are retrievable (1.5 hours de…
BottlecapDave Sep 12, 2025
9f3ae03
blueprints: Updates extention of blueprints (Thanks @reedy)
BottlecapDave Sep 13, 2025
e60ce63
feat: Updated raised errors for heat pump and intelligent controls to…
BottlecapDave Sep 13, 2025
d6cb4b7
chore: Added workflow to label issues awaiting a response from mainta…
BottlecapDave Sep 13, 2025
9857093
chore: Fixed integration tests
BottlecapDave Sep 13, 2025
fa77457
fix: Updated minimum hacs version to 2025.1
johncuthbertuk Sep 14, 2025
39b9032
fix: Updated minimum hacs version to 2025.1 (#1465)
BottlecapDave Sep 16, 2025
81eb304
Target timeframes migration guide documentation improvements
gcoan Sep 19, 2025
f1c85e1
Updated for feedback comments
gcoan Sep 20, 2025
ff6cf03
docs: Updared Target Timeframes migration guide (Thanks @gcoan)
BottlecapDave Sep 20, 2025
1c2c3a9
feat: Added support for multiple EVs (6 hours 5 minutes dev time)
BottlecapDave Sep 21, 2025
18e3eca
feat: Updated off peak sensor to come on when intelligent devices are…
BottlecapDave Sep 21, 2025
6f4d5e4
feat: Added attribute to dispatch entity to determine if manual refre…
BottlecapDave Sep 21, 2025
99866c5
release: Released v17.0.0-beta.1 [skip ci]
semantic-release-bot Sep 21, 2025
86f024b
fix: Fixed diagnostics and intelligent devices not loading
BottlecapDave Sep 21, 2025
857be23
Merge branch 'feat/intelligent-changes' into beta
BottlecapDave Sep 21, 2025
f4d8b5f
release: Released v17.0.0-beta.2 [skip ci]
semantic-release-bot Sep 21, 2025
47df036
octopus_energy_manual_intelligent_refresh.yaml: Use DEVICE_ID
reedy Sep 22, 2025
07dc0dd
services.md: Use DEVICE_ID
reedy Sep 22, 2025
72c2965
fix: Fixed issue where off peak rates flipped when multiple dispatch …
BottlecapDave Sep 22, 2025
29c00b6
chore: Updated mock data
BottlecapDave Sep 23, 2025
b06bdc0
fix: Fixed intelligent device type (5 minutes dev time)
BottlecapDave Sep 23, 2025
0ad38cf
fix: Incorrect number of arguments to async_create_issue
TCWORLD Sep 23, 2025
059a892
docs: Added new positive to intelligent dispatching behaviour change
BottlecapDave Sep 24, 2025
6d44276
Fix error in raise_meter_added/raise_meter_removed (#1480)
BottlecapDave Sep 24, 2025
9064c64
Merge branch 'develop' into feat/intelligent-changes
BottlecapDave Sep 24, 2025
e040287
Feat/intelligent changes (#1474)
BottlecapDave Sep 24, 2025
2cca6c1
docs: Use DEVICE_ID for intelligent sensors (#1477)
BottlecapDave Sep 24, 2025
f3f89fa
release: Released v17.0.0-beta.3 [skip ci]
semantic-release-bot Sep 24, 2025
a7908a1
Handle null or non-string entity unique_ids
dpwood Sep 27, 2025
ef0f3c1
feat: Added free electricity and saving session sensors to octoplus s…
BottlecapDave Sep 27, 2025
af0c285
feat: Updated electricity/gas/heat pump/octoplus diagnostic entities …
BottlecapDave Sep 28, 2025
fd74794
fix: Fixed issue where intelligent maximum hourly calls check was bei…
BottlecapDave Sep 28, 2025
a48d7ce
feat: Updated dispatches diagnostics sensor to include maximum_reques…
BottlecapDave Sep 28, 2025
525c9f3
blueprint: Fixed manual intelligent refresh blueprint to handle next_…
BottlecapDave Sep 28, 2025
ee75ec6
blueprint: Updated manual intelligent refresh blueprint to not go ove…
BottlecapDave Sep 28, 2025
2462dff
blueprint: Updated manual intelligent blueprint to refresh dispatches…
BottlecapDave Sep 28, 2025
f1ebf1a
Feat/intelligent changes (#1488)
BottlecapDave Sep 28, 2025
40c3eab
release: Released v17.0.0-beta.4 [skip ci]
semantic-release-bot Sep 28, 2025
854b86c
cast unique_id on assignment rather than during first use
dpwood Sep 28, 2025
4a7305e
feat: Updated electricity and gas rate sensors to be measurements cla…
BottlecapDave Oct 4, 2025
5c32d16
fix: Updated cost trackers to handle entities with non-string unique_…
BottlecapDave Oct 4, 2025
2ce05ed
feat: Updated electricity/gas/heat pump/octoplus diagnostic entities …
BottlecapDave Oct 4, 2025
77654fc
Merge branch 'develop' of https://github.com/BottlecapDave/HomeAssist…
BottlecapDave Oct 4, 2025
5a1441a
feat: Added calendars for representing free electricity and saving se…
BottlecapDave Oct 4, 2025
f216c19
Merge branch 'develop' into beta
BottlecapDave Oct 4, 2025
db63a32
Beta into develop (#1482)
BottlecapDave Oct 6, 2025
52c6637
chore: Fixed diagnostic entity links
BottlecapDave Oct 6, 2025
50b27b4
chore: Fixed free electricity binary sensor repair notice
BottlecapDave Oct 6, 2025
7af2561
fix: Added missing translations for event entities (30 minutes dev time)
BottlecapDave Oct 6, 2025
b0ca7d1
feat: Attached intelligent diagnostic sensors to intelligent device (…
BottlecapDave Oct 6, 2025
2b7a5e3
chore: Updated repair notice to be clear on which sensor is being dep…
BottlecapDave Oct 7, 2025
aacfa21
chore: Updated free electricity/saving session calendars to be attach…
BottlecapDave Oct 7, 2025
e831c95
release: Released v17.0.0-beta.5 [skip ci]
semantic-release-bot Oct 7, 2025
979bc31
fix: Fixed diagnostics not providing export data for home mini (15 mi…
BottlecapDave Oct 11, 2025
5d6579c
release: Released v17.0.0-beta.5 [skip ci] (#1511)
BottlecapDave Oct 11, 2025
b358295
docs: Updated blueprints to point at main for better stability
BottlecapDave Oct 11, 2025
ee6abae
Merge branch 'develop' of https://github.com/BottlecapDave/HomeAssist…
BottlecapDave Oct 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
68 changes: 68 additions & 0 deletions .github/workflows/label_issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Last Comment Label Manager

on:
issue_comment:
types: [created]

jobs:
label:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write

steps:
- name: Check if commenter has write access
id: check
uses: actions/github-script@v7
with:
script: |
const commentAuthor = context.payload.comment.user.login;

// Check permission level
const { data: perm } = await github.rest.repos.getCollaboratorPermissionLevel({
owner: context.repo.owner,
repo: context.repo.repo,
username: commentAuthor,
});

const isMaintainer = ["admin", "write"].includes(perm.permission);
core.setOutput("is-maintainer", isMaintainer);

- name: Remove label if maintainer
if: steps.check.outputs.is-maintainer == 'true'
uses: actions/github-script@v7
with:
script: |
const labelName = "awaiting-maintainer-response";
const issue = {
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number
};

try {
await github.rest.issues.removeLabel({
...issue,
name: labelName
});
} catch (e) {
if (e.status !== 404) throw e;
}

- name: Add label if not maintainer
if: steps.check.outputs.is-maintainer != 'true'
uses: actions/github-script@v7
with:
script: |
const labelName = "awaiting-maintainer-response";
const issue = {
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number
};

await github.rest.issues.addLabels({
...issue,
labels: [labelName]
});
85 changes: 85 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,88 @@
# [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)


### Bug Fixes

* Added missing translations for event entities (30 minutes dev time) ([7af2561](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/7af25619e57c8e81316168c381c4ad03e65a4410))
* 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))


### Features

* 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))
* 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))
* Attached intelligent diagnostic sensors to intelligent device (15 minutes dev time) ([b0ca7d1](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/b0ca7d11c6f76a69921fb5f6b0ad542d6ccf634e))
* 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))
* 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))
* 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))

# [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)


### Bug Fixes

* 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))


### Features

* Updated dispatches diagnostics sensor to include maximum_requests_per_hour (15 minutes dev time) ([a48d7ce](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/a48d7cea2f64e73ceb737e58515b81f60e82b1d4))

# [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)


### Bug Fixes

* Fixed intelligent device type (5 minutes dev time) ([b06bdc0](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/b06bdc0fb9ba3add276ce5d76a1ea529e3685d1d))
* 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))
* 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)

# [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)


### Bug Fixes

* Fixed diagnostics and intelligent devices not loading ([86f024b](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/86f024bd95db64bb23ab85c983ba830d7dfe89f5))

# [17.0.0-beta.1](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v16.3.1...v17.0.0-beta.1) (2025-09-21)


### blueprints

* Updates extention of blueprints (Thanks [@reedy](https://github.com/reedy)) ([9f3ae03](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/9f3ae03d76d7992d4f1787dbe3c269a5bd794508))


### Bug Fixes

* Fixed repair issues to obfuscate PII information from the key (1.5 hours dev time) ([13d2f42](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/13d2f42e8903030931aca4a0fd1e8c634c8a5c82))
* 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))
* Updated minimum hacs version to 2025.1 ([fa77457](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/fa774577007ee17df21ac488a6679b9f46bbe3b3))
* 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))


### Features

* 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))
* Added repair notice when no rates are retrievable (1.5 hours dev time) ([1dca50b](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/1dca50b124a30e74e9c2581c01ce974876c62de6))
* Added support for multiple EVs (6 hours 5 minutes dev time) ([1c2c3a9](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/commit/1c2c3a967f4208a45daa53f5f57c2e002f63a381))
* 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))
* 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))


### BREAKING CHANGES

* off_peak entity will now turn on during standard off peak rates as well as ad hoc scheduled
dispatches when on intelligent tariff. This is because the naming and behaviour was confusing (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.
* 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)

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.
* 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.
* 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'
* 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.

## [16.3.1](https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/compare/v16.3.0...v16.3.1) (2025-09-09)


Expand Down
36 changes: 36 additions & 0 deletions _docs/architecture_decision_records/0001_target_rates_removal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 0001 - Deprecation and removal of Target Rate Sensors in Octopus Energy Integration

## Status
Accepted

## Context
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.

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.

In addition, there are broader automation opportunities beyond energy pricing, such as identifying optimal times for solar generation, that could leverage this functionality.

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.

## Decision
Deprecate and remove target rate sensors from the Octopus Energy integration in favor of the Target Timeframes integration.

- A migration guide has been provided: [Target Timeframes Migration Guide](https://bottlecapdave.github.io/HomeAssistant-OctopusEnergy/migrations/target_timeframes/).
- A set of [blueprints](https://bottlecapdave.github.io/HomeAssistant-TargetTimeframes/blueprints/#octopus-energy) for using Octopus Energy data with Target Timeframes is already available.
- A repair notice has been introduced to inform users of the upcoming removal.
- The target rate sensors feature will be removed six months from the notice, around the end of **November 2025**.

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.

## Consequences

### Positive
- Centralizes the feature into a single integration, reducing maintenance overhead.
- Ensures consistent functionality and feature parity across different use cases.
- Provides flexibility for multiple data sources beyond Octopus Energy (dynamic pricing, carbon intensity, solar generation, etc.).
- Protects users from losing the feature if they move away from Octopus Energy.

### Negative
- Users will need to migrate their automations to the Target Timeframes integration.
- Some short-term disruption may occur as users adapt to the new integration.
- Potential gaps in the new integration’s functionality may need to be identified and addressed through community feedback.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# 0002 - Intelligent Is Dispatching behavior changes

## Status
Accepted

## Context

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.

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).

## Decision

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.

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.

## Consequences

### Positive
- Expected behavior based on entity names, which will be easier for new users to understand
- 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

### Negative
- Downstream integrations that rely on existing behavior will need to change
- Users using effected entities will need to update all references
- Some short-term disruption may occur as users adapt to the new entity behaviour.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 0003 - Move to calendar entities for Octoplus events

## Status
Accepted

## Context

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.

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.

This request has been made on a few occasions, below are some samples

* https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/561#issuecomment-1826830172
* https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/1397

## Decision

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.

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.

## Consequences

### Positive
- Automations around sessions will be easier via the calendar trigger
- Past and present sessions will be easily viewable in the Home Assistant Calendar view
- Standard approach for people used to calendar entities.

### Negative
- Users using effected entities will need to update all references
- Some short-term disruption may occur as users adapt to the new entity behaviour.
- Event duration (e.g. 60 minutes) will require templating still
Binary file added _docs/assets/target_timeframes_blueprint.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified _docs/assets/target_timeframes_sub_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading