Skip to content

v0.2.0

Choose a tag to compare

@badguy99 badguy99 released this 01 Jun 20:14
7bc72ed

NOTE: Breaking Changes!! New YAML format required

This release is a very large rewrite, so now there only needs to be one instance of the module defined in the Appdaemon apps.yaml file.
This also cuts down on the number of requests to the octopus.energy api - only one if you are only getting import data, and two if you are also getting export date, rather than one per module instance in the past.
Blocks can also have custom names, which override the default names. See the new yaml example below and README.md for more information.

Alongside the rewrite for the "blocks" functionality, it also adds "lookaheads"

Lookaheads provide a Home Assistant sensor that will be set to true if the price will go below or above (depending upon operation setting) a specified point, x, within the next duration_ahead hours, up to the maximum look ahead that Octopus Energy provide price data for.

Setting operation to above or below and and_equal to True or False in the yaml file give different functions; namely: greater than, less than, greater than & equal, and less than and equal. Such that it should be possible to set up required trigger points looking at prices in the future for automations.

NEW yaml Format:

octoblock:
  module: octoblock
  class: OctoBlock
  region: H
  use_timezone: False
  blocks:
    - hour: 1
      import: True
      start_period: now
      name: octopus_1hour
    - hour: 1.5
      start_period: today
      name: octopus_vacuum
      limits:
        start_time: '07:00'
        end_time: '16:00'
    - hour: 2
      import: True
      start_period: now
    - hour: 0
      start_period: now
      name: octopus_current_import
    - hour: 0
      export: True
      import: False
      start_period: now
      name: octopus_current_export
  lookaheads:
    - price: 3.0
      operation: below
      and_equal: True
      duration_ahead: 12
      name: hw_via_electric_not_gas

OLD Format (For reference, no longer supported):

octo_block_1hour:
  module: octoblock
  class: OctoBlock
  region: H
  hour: 1
  use_timezone: False

octo_block_90minutes:
  module: octoblock
  class: OctoBlock
  region: H
  hour: 1.5
  start_period: today
  use_timezone: True
  limits:
    start_time: '07:00'
    end_time: '16:00'