Releases: TheFes/cheapest-energy-hours
v5.3.1
🐛 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
✨ IMPROVEMENTS
- A new mode:
extreme_now
has been added. This will returntrue
in case the current price matches the lowest price (or highest price in caselowest=false
). When used in combination withprice_tolerance
, which was added in v5.2.0, it will also betrue
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 likeprice_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 whenlowest=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'
whensplit
was set totrue
. 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
Full Changelog: v5.2.0...v5.3.0
v5.2.0
✨ IMPROVEMENTS
- The parameter
latest_possible
has been added. This defaults tofalse
, but when set totrue
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 is0.042
and you setprice_tolerance=0.005
all prices up to0.047
will also be considered lowest. Whenlowest=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
- add provider settings by @TheFes in #108
- add Zonneplan parameters by @TheFes in #109
- Add
latest_possible
andprice_tolerance
by @TheFes in #112
Full Changelog: v5.1.0...v5.2.0
v5.1.0
✨ 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 totrue
) anddata_minutes
(defaults to60
, only used whendatetime_in_data
is set tofalse
). More information can be found in the documentation
What's Changed
Full Changelog: v5.0.3...v5.1.0
v5.0.3
v5.0.2
✨ 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
v5.0.0
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 enablelook_ahead
and the current time is eg 11:06, the start time for the price selection will be11:10
and there will be 6 data points per hour. If the current time is 12:18, the start time will be12: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. So13:14
will become13:10
. Otherwiseis_now
will never returntrue
after recaculation of thestart
time.
- The way
✨ IMPROVEMENTS
- Both
start
,end
andhours
(optionally defined based onweight
) will be used to split the data,start
,end
andhours
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. Theno_weight_points
parameter can be used to overrule this. When set the setting forno_weight_points
will be used for the adjustments ofstart
,end
andhours
. mode='split
is now a parametersplit
which can be set totrue
orfalse
. So you can now eg usemode='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 forsplit=false
and this is described in the DATA OUTPUT sectionmode='split'
will still work, and will give the same output assplit=true, mode='all'
- new error messages based on the
start
andend
time are added. There will now be a clear error if thestart
is after theend
and if thehours
setting is higher than the difference betweenstart
andend
- 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
andattr_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 usecheapes_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 withsplit
, 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
- Refactor start and end conversion to datetime by @TheFes in #77
- Add debug setting by @TheFes in #78
- Add sensor finder by @TheFes in #80
- Refactor time calculations and look_ahead by @TheFes in #81
- Refactor mode split to separate setting by @TheFes in #82
- Depreciate datapoints per hour by @TheFes in #84
- several updates by @TheFes in #86
- Fix key finder by @TheFes in #87
- Fix attr find by @TheFes in #88
- Add additoal error messages by @TheFes in #89
- Remove microseconds from start and end by @TheFes in #90
- Split fixes by @TheFes in #92
- fix whitespace issue in output by @TheFes in #93
- Remove unneeded weight list if no_wp = 1 by @TheFes in #94
- fix issue because of missing weight by @TheFes in #95
- Revise weight calculation by @TheFes in #96
- Revise time key finder by @TheFes in #97
- Small typo fixes and clarification by @TheFes in #98
- Only use before=true with mode is_now by @TheFes in #99
- Rewrite docs for 5.0.0 by @TheFes in #100
- fix docs titles by @TheFes in #101
Full Changelog: v4.2.3...v5.0.0
v5.0.0b8
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