Skip to content

Releases: TheFes/cheapest-energy-hours

v5.3.1

16 Feb 09:02
c89df64
Compare
Choose a tag to compare

🐛 BUG FIXES

  • The code for the extreme_now mode caused an error when the current time was outside the time in scope. This has been fixed

📚 DOCUMENTATION

  • EasyEnergy has been added to the providers, and some additional notes have been added to the section about the template sensor needed for EnergyZero and EasyEnergy
  • Usage of single and double quotes was not consistant in the documentation.

What's Changed

  • Consistent usage of single/double quotes in examples by @TheFes in #122
  • Add EasyEnergy and some additional notes on the template sensor by @TheFes in #123
  • Bugfix for extreme_now by @TheFes in #124

Full Changelog: v5.3.0...v5.3.1

v5.3.0

15 Feb 12:50
2537a4e
Compare
Choose a tag to compare

✨ IMPROVEMENTS

  • A new mode: extreme_now has been added. This will return true in case the current price matches the lowest price (or highest price in case lowest=false). When used in combination with price_tolerance, which was added in v5.2.0, it will also be true if the current price is within the set tolerance compared to the lowest (or highest) price.
  • price_tolerance now accepts percentages. So you can use something like price_tolerance="5%" instead of a fixed tolerance. The percentage will be used to calculate the price tolerance based on the lowest price in your time range (or hightest price when lowest=false)

📚 DOCUMENTATION

  • Provider settings for EnergyZero have been added. These settings require to setup a trigger based template sensor to make the prices availalbe for the macro. See documentation.

🐛 BUG FIXES

  • The parameters for ENTSO-E were not correct, Thanks @DutchDeffy for fixing this
  • There was a bug for mode='is_now' when split was set to true. This has been fixed by @Fizz55. Thanks for that!

What's Changed

  • Docs source parameter ENTSO time_key by @DutchDeffy in #113
  • Add extreme_now mode by @TheFes in #118
  • allow percentages for price_tolerance by @TheFes in #119
  • Fix is_now binary_sensor output for split mode by @Fizz55 in #117
  • Add EnergyZero provider settings by @TheFes in #120
  • Small change on EnergyZero sensor information by @TheFes in #121

New Contributors

  • @DutchDeffy made their first contribution in #113
  • @Fizz55 made their first contribution in #117

Full Changelog: v5.2.0...v5.3.0

v5.2.0

06 Feb 20:02
b5b1f96
Compare
Choose a tag to compare

✨ IMPROVEMENTS

  • The parameter latest_possible has been added. This defaults to false, but when set to true it will use the end of the time block in case all prices are the same instead of the start. This can be useful if you want to turn on a boiler during the night, and want to avoid the water cools down again while you are sleeping.
  • The parameter price_tolerance has been added. This allows to set a tolerance within prices will be considered lowest. Eg, if the lowest price is 0.042 and you set price_tolerance=0.005 all prices up to 0.047 will also be considered lowest. When lowest=false the same applies to the highest prices.
  • More information can be found in the documentation.

📚 DOCUMENTATION

  • Provider settings have been added to the README, you can help by providing the settings for your provider. See documentation for more information.

What's Changed

Full Changelog: v5.1.0...v5.2.0

v5.1.0

25 Jan 09:33
5d4f787
Compare
Choose a tag to compare

✨ IMPROVEMENTS

  • This version adds support for data sources which don't provide the date and time in the list with prices. 2 new parameters are added: datetime_in_data (defaults to true) and data_minutes (defaults to 60, only used when datetime_in_data is set to false). More information can be found in the documentation

What's Changed

  • Add support for data source without datetime by @TheFes in #107

Full Changelog: v5.0.3...v5.1.0

v5.0.3

24 Jan 19:39
eccd716
Compare
Choose a tag to compare

🐛 BUG FIXES

  • fix issue with determining datapoints per hour in case there were conflicting results from hour/start/end input

What's Changed

  • Small bugfix for datapoints per hour by @TheFes in #106

Full Changelog: v5.0.2...v5.0.3

v5.0.2

14 Dec 21:21
57e6500
Compare
Choose a tag to compare

✨ IMPROVEMENTS

  • Avoid unneeded use of attribute finder

🐛 BUG FIXES

  • fix issue with attribute finder for sensors with one attribute provide data for today and tomorrow
  • fix issue where macro would return a generic jinja error, instead of an error response provided by the macro

What's Changed

Full Changelog: v5.0.1...v5.0.2

v5.0.1

01 Dec 10:14
7fb1cc9
Compare
Choose a tag to compare

🐛 BUG FIXES

  • Fix for mode='is_now' which wasn't working properly

What's Changed

Full Changelog: v5.0.0...v5.0.1

v5.0.0

17 Nov 11:12
748ee5f
Compare
Choose a tag to compare

This version was first reseased as beta, and now is the time for the offical v5.0.0 release. 🎉

Version 4.2 needed quite some bug fixes, sorry about that. In the last week a made a lot of changes based on the feedback of users. So many thanks for that. Keep sending in issues and questions, it will help to improve the macro even more!

Initially I've created the macro with only full hours in mind. The price data I worked with (Nordpool) only had hourly data, and the macro only did not really take minutes into account for the setting for the start and end period of the prices to check. In v3.0.0 support for sensors with more than one price per hour was added, and in 4.0.0 support for decimals in the hour setting was added.
Version 5.0.0 brings the same support to the start, end and hours parameters. You always could enter data which wasn't a whole hour, but now the data will be converted to actually use that input.

🚨 BREAKING CHANGES

  • Refactor of look_ahead
    • The way look_ahead works has been reworked. look_ahead_minutes is no longer used, and therefor marked as depreciated in the macro. For now the parameter will be left in, so it will not break you current templates. In v5.0.0 the current time is checked, and converted to a start time shortly before it. To support this, the data in your source sensor is split into smaller parts (minimum of 5 minutes, so 12 parts per hour). So if you enable look_ahead and the current time is eg 11:06, the start time for the price selection will be 11:10 and there will be 6 data points per hour. If the current time is 12:18, the start time will be 12:20 and there will be 3 data points per hour.
    • In case mode is_now is used, the start time will always be set before the current time if it needs to be recalculated. So 13:14 will become 13:10. Otherwise is_now will never return true after recaculation of the start time.

✨ IMPROVEMENTS

  • Both start, end and hours (optionally defined based on weight) will be used to split the data, start, end and hours will be adjusted accordingly. If there is a different outcome for one of these parameters, a conversion to 5 minutes (12 datapoints per hour) will be used. The no_weight_points parameter can be used to overrule this. When set the setting for no_weight_points will be used for the adjustments of start, end and hours.
  • mode='split is now a parameter split which can be set to true or false. So you can now eg use mode='is_now', split=true to immediately see if the current time is in one of the cheapest blocks. Not all modes work the same as for split=false and this is described in the DATA OUTPUT section
  • mode='split' will still work, and will give the same output as split=true, mode='all'
  • new error messages based on the start and end time are added. There will now be a clear error if the start is after the end and if the hours setting is higher than the difference between start and end
  • the error message on the number of hours needed, and the hours available has been added
  • the error message when there is not enough data is updated, and shows what's the difference between the data needed, and the available data
  • a debug parameter is aded, if set to true it will return a dictionary with a lot of data which can be helpful for debugging, including the output based on the other parameters.
  • if no input for the sensor is provided, the macro will try to find a sensor with the attributes as set for attr_today and attr_tomorrow. So basically if you use the Nordpool integration, or an integration with the same attributes it wil give the start time of the cheapest hour today if you only set use cheapes_energy_hours(). This can be helpful if for some reason the entity_id changes. Do note that it's most resource friendly to set the sensor data yourself if it not matches the defaults, so the macro doesn't have to search for it (the same applies to the attributes and keys).
  • Lots of code optimization

📚 DOCUMENTATION

  • The documentation has been rewritten and a separte HOW TO section has been added.
  • Some real life EXAMPLES are added on how the macro can be used

🐛 BUG FIXES

  • lowest=false was not working in combination with split, this has been corrected.
  • the calculation for the weight input has been corrected.

Again, if there are any bugs, questions, feature request, please let me know!

What's Changed

Full Changelog: v4.2.3...v5.0.0

v5.0.0b8

16 Nov 10:38
cc1c98b
Compare
Choose a tag to compare
v5.0.0b8 Pre-release
Pre-release

I hope this will be the last beta before the 5.0.0 release.

✨ IMPROVEMENTS

  • Revise time_key finder to check for datetime objects

What's Changed

Full Changelog: v5.0.0b7...v5.0.0b8

v5.0.0b7

15 Nov 20:04
d40e55b
Compare
Choose a tag to compare
v5.0.0b7 Pre-release
Pre-release

✨ IMPROVEMENTS

  • Revise calculation with weights
  • Don't rebuild data when source data already uses datetime

What's Changed

Full Changelog: v5.0.0b6...v5.0.0b7