Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.8.2 - 2020-02-21¶
Fixed¶
- Hotfix for an issue causing infinite recursion at delayed actor initialization on AppDaemon 4 (see home-assistant/appdaemon#773).
0.8.1 - 2020-02-05¶
Fixed¶
- Fixed possible
TypeError
when using thegeneric2
actor type. (#47) - The
generic2
actor type now correctly handles service names in the usual<domain>.<name>
format.
0.8.0 - 2020-02-03¶
Fixed¶
- Fixed indentation in sample configuration in docs.
Added¶
- Added new
generic2
actor type which is more flexible than the oldgeneric
.
Changed¶
- The
switch
actor type is now driven by the newgeneric2
actor type. Functionality and syntax stays all the same.
0.7.0 - 2019-12-04¶
Fixed¶
- An overlay will now be applied even when the scheduled value won’t change.
Changed¶
- Infinite retrying of value sending to an actor is no longer supported, meaning
send_retries: -1
is now a configuration error. Use a reasonably high value instead if you really need excessive retrying. - Simplified internal handling of
IncludeSchedule()
. If this causes problems with existing configurations, please file an issue.
Removed¶
- The previous name
Skip
for theNext
expression result type has been removed. - The
OVERLAY_REVERT_ON_NO_RESULT
marker has been removed, it’s the default now.
0.6.0 - 2019-09-27¶
Fixed¶
- Fixed a regression due to which setting an actor’s
send_retries: 0
led to infinite re-sending if the actor didn’t respond as expected. - Fixed a race condition between
Mark.OVERLAY
and re-scheduling timers. (#35)
Changed¶
- The
Skip
expression result type has been renamed toNext
, which better describes its purpose. - The behaviour of the
OVERLAY_REVERT_ON_NO_RESULT
result marker now is the default withOVERLAY
. The marker will be removed.
Deprecated¶
- 0.7: The previous name
Skip
for theNext
expression result type will be removed. - 0.7: The
OVERLAY_REVERT_ON_NO_RESULT
marker will be removed, it’s the default now.
Removed¶
- The
end_plus_days
rule parameter has been removed in favor of the new day shifts specified withstart
andend
. - The
expression_modules
setting has been removed in favor of the newexpression_environment
.
0.5.0 - 2019-07-20¶
Fixed¶
- Fixed a bug in schedule.next_results() expression helper that caused some result changes to be skipped.
- Simplified the algorithm that decides whether a rule is active or not at a given point in time. It should now handle all rules spanning multiple days correctly.
Added¶
- Added
expression_environment
setting which allows providing arbitrary variables for the expression evaluation environment.
Changed¶
- The
start
andend
rule parameters now accept day shifts, deprecating the formerend_plus_days
. - Constraints of rules with a sub-schedule attached are now only validated for the day at which a particular rule starts. Hence rules of such sub-schedules spanning midnight will now run until they’re intended to end.
- Home Assistant 0.96 introduced breaking changes in the climate API. Operation modes have been renamed into HVAC modes, which is why the thermostat actor settings for operation modes now have new names. See the actor docs for details.
Deprecated¶
- 0.6: The
end_plus_days
rule parameter will be removed in favor of the new day shifts specified withstart
andend
. - 0.6: The
expression_modules
setting will be removed in favor of the newexpression_environment
.
Removed¶
- Some settings of the thermostat actor have been removed in one run with the adaptations needed to support the new climate API of Home Assistant 0.96.
0.4.0 - 2019-02-24¶
Fixed¶
- Fixed name of
value_parameter
setting for generic actor in docs. - Schedules were re-evaluated when the value of a not watched attribute of a watched entity changes.
Added¶
- Added new result marker
OVERLAY_REVERT_ON_NO_RESULT
to cancel an overlay when the schedule produces no result. - Result markers can now be added by postprocessors as well.
- The generic actor has received new features (short values and sending of attributes in reversed order). See the actor sample config for details.
Changed¶
- The wanted value of a room is not sent to actors at startup when
replicate_changes
has been disabled in the room’s configuration.
Removed¶
- The old name
schedy_reschedule
for theschedy_reevaluate
event has been removed.
0.3.0 - 2019-01-05¶
Fixed¶
- It’s no longer possible to create cycles when including schedules. The
backwards resolution of rule values still works, it just treats
IncludeSchedule()
results for schedules already on the stack as if they wereInherit()
and hence ignores them. - The
filter_entities()
state helper returned no entities in certain cases.
Added¶
- Schedy can now re-evaluate schedules automatically when the state of
entities changes. See the new
watched_entities
settings. - Range specifications for constraints can now be inverted by prepending
them with
!
. - Added the
Inherit()
result type to inherit the parent rule’s value.None
will continue to work as well, butInherit()
is more explanatory and thus preferred. - When an expression fails to evaluate, the traceback is now logged.
Changed¶
- Various small improvements of the examples for using expressions.
- The
schedy_reschedule
event has been renamed toschedy_reevaluate
. The old name will cease to work in version 0.4. - The documentation for writing schedules has been restructured.
Deprecated¶
- 0.4: The old name
schedy_reschedule
for theschedy_reevaluate
event will be removed.
Removed¶
- The old name
Negate
for theInvert
postprocessor has been removed. - The
And
andOr
postprocessors habe been removed. Use the genericPostprocess
instead.
0.2.0 - 2018-12-23¶
Merry Christmas to all users of hass-apps! Thank you for putting your trust in Schedy.
Fixed¶
- All expressions of schedule rules specified in the YAML configuration should be enclosed in quotes to force the parser to treat them as strings. A note has been added to the documentation and all examples were updated accordingly.
Added¶
- Added the
Postprocess
postprocessor that can be used to post-process the scheduling result in a completely custom way.
Changed¶
- The rules configured as
schedule_prepend
, the individual room’s schedule and those configured asschedule_append
are now combined into the final room’s schedule as three separate sub-schedules. This implies thatBreak()
, when returned from the top level, will now only break the individual section of the schedule it stands in.Break()
in aschedule_prepend
section will e.g. only cause the remaining rules of theschedule_prepend
section to be skipped and continue with the individual room’s schedule. UseAbort()
(recommended) orBreak(2)
to achieve the old behaviour. - The generic actor has been reworked to support controlling multiple attributes at once. Its configuration schema has changed as well, so please consult the documentation for migrating.
- Preliminary results are now called postprocessors. Syntax and names stay unchanged.
- The
Negate
postprocessor has been renamed toInvert
. The old name will cease to work in version 0.3.
Deprecated¶
- 0.3: The old name
Negate
for theInvert
postprocessor will be removed. - 0.3: The
And
andOr
postprocessors will be removed. Use the genericPostprocess
instead.