Skip to content

Commit 7914946

Browse files
committed
docs: Added architecture decision records around intelligent sensor behaviour changes
1 parent ac2672e commit 7914946

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed
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: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
23+
### Negative
24+
- Downstream integrations that rely on existing behavior will need to change
25+
- Users using effected entities will need to update all references
26+
- Some short-term disruption may occur as users adapt to the new entity behaviour.

mkdocs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ nav:
3737
- ./repairs/tariff_rates_empty.md
3838
- Community: community.md
3939
- blueprints.md
40+
- Architecture Decision Records:
41+
- ./architecture_decision_records/0001-target-rates-removal.md
42+
- ./architecture_decision_records/0002-intelligent-is-dispatching-behaviour-changes.md
4043
- faq.md
4144
- sponsorship.md
4245

0 commit comments

Comments
 (0)