All notable changes to this project will be documented in this file.
0.8.2 - 2020-02-21¶
- 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 possible
TypeErrorwhen using the
generic2actor type. (#47)
generic2actor type now correctly handles service names in the usual
0.8.0 - 2020-02-03¶
- Fixed indentation in sample configuration in docs.
- Added new
generic2actor type which is more flexible than the old
switchactor type is now driven by the new
generic2actor type. Functionality and syntax stays all the same.
0.7.0 - 2019-12-04¶
- An overlay will now be applied even when the scheduled value won’t change.
- Infinite retrying of value sending to an actor is no longer supported, meaning
send_retries: -1is 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.
- The previous name
Nextexpression result type has been removed.
OVERLAY_REVERT_ON_NO_RESULTmarker has been removed, it’s the default now.
0.6.0 - 2019-09-27¶
- Fixed a regression due to which setting an actor’s
send_retries: 0led to infinite re-sending if the actor didn’t respond as expected.
- Fixed a race condition between
Mark.OVERLAYand re-scheduling timers. (#35)
Skipexpression result type has been renamed to
Next, which better describes its purpose.
- The behaviour of the
OVERLAY_REVERT_ON_NO_RESULTresult marker now is the default with
OVERLAY. The marker will be removed.
- 0.7: The previous name
Nextexpression result type will be removed.
- 0.7: The
OVERLAY_REVERT_ON_NO_RESULTmarker will be removed, it’s the default now.
end_plus_daysrule parameter has been removed in favor of the new day shifts specified with
expression_modulessetting has been removed in favor of the new
0.5.0 - 2019-07-20¶
- 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.
expression_environmentsetting which allows providing arbitrary variables for the expression evaluation environment.
endrule parameters now accept day shifts, deprecating the former
- 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.
- 0.6: The
end_plus_daysrule parameter will be removed in favor of the new day shifts specified with
- 0.6: The
expression_modulessetting will be removed in favor of the new
- 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 name of
value_parametersetting for generic actor in docs.
- Schedules were re-evaluated when the value of a not watched attribute of a watched entity changes.
- Added new result marker
OVERLAY_REVERT_ON_NO_RESULTto 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.
- The wanted value of a room is not sent to actors at startup when
replicate_changeshas been disabled in the room’s configuration.
- The old name
schedy_reevaluateevent has been removed.
0.3.0 - 2019-01-05¶
- 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 were
Inherit()and hence ignores them.
filter_entities()state helper returned no entities in certain cases.
- Schedy can now re-evaluate schedules automatically when the state of
entities changes. See the new
- Range specifications for constraints can now be inverted by prepending
- Added the
Inherit()result type to inherit the parent rule’s value.
Nonewill continue to work as well, but
Inherit()is more explanatory and thus preferred.
- When an expression fails to evaluate, the traceback is now logged.
- Various small improvements of the examples for using expressions.
schedy_rescheduleevent has been renamed to
schedy_reevaluate. The old name will cease to work in version 0.4.
- The documentation for writing schedules has been restructured.
- 0.4: The old name
schedy_reevaluateevent will be removed.
- The old name
Invertpostprocessor has been removed.
Orpostprocessors habe been removed. Use the generic
0.2.0 - 2018-12-23¶
Merry Christmas to all users of hass-apps! Thank you for putting your trust in Schedy.
- 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 the
Postprocesspostprocessor that can be used to post-process the scheduling result in a completely custom way.
- The rules configured as
schedule_prepend, the individual room’s schedule and those configured as
schedule_appendare now combined into the final room’s schedule as three separate sub-schedules. This implies that
Break(), when returned from the top level, will now only break the individual section of the schedule it stands in.
schedule_prependsection will e.g. only cause the remaining rules of the
schedule_prependsection to be skipped and continue with the individual room’s schedule. Use
Break(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.
Negatepostprocessor has been renamed to
Invert. The old name will cease to work in version 0.3.
- 0.3: The old name
Invertpostprocessor will be removed.
- 0.3: The
Orpostprocessors will be removed. Use the generic
0.1.1 - 2018-12-11¶
- Lowered delay after which a schedy_reschedule event is processed from 3 to 1 second.