Hello all - it’s been a while, over a year in fact. This has prompted some of you to ask if AppDaemon is dead? The answer is a resounding no, AppDaemon is alive as it has ever been, but development has slowed down for a few reasons:
- Some life events for the core devs (nothing terrible!)
- In particular, I have a new and larger home, so I am spending most of my time automating it using AppDaemon instead of working on AD itself
- AD is stable, and full featured. It does most of what I need at the moment and does it well. That’s not to say we won’t add cool stuff as we think of it, but it has most of what we need for the moment!
I use AD on a daily basis, it is the core of my automation stack, as HomeAssistant is the heart of my device support, so I remain committed to this software stack.
Having said that, we have a few goodies in this release, in particular some updates and fixes for the scheduler, and some nice quality of life improvements for constraints submitted by Matt O and David Greenberg. We also have a fix for entity.state in async callbacks.
For the future, I’ve been experimenting with a SmartScene capability that is designed to solve the problem of multiple overlapping scenes, as well as an AD friendly implementation of a state machine class that can help simplify some particularly complex operations. No promises, but these may well make it into an upcoming release of AppDaemon as I have found them both extremely useful in my latest automation escapades.
The full list of changes is below, and I have given @frenck a heads up that the release is on the way, so a new version of the add-on should be available soon.
Happy automation all!
4.2.2
Features
- Added the ability to set HA certificate verify from docker arguments - contributed by
Antonino Piazza <https://github.com/a-p-z>
__ - Added MQTT VARS to docker arguments - contributed by
Xavi Moreno <https://github.com/xaviml>
__ - Added the ability to reset a running timer via api
- Removed a warning from info_timer() for stale handles
- Added the ability to supress invalid timer handle warnings in cancel_timer()
- All scheduler calls and helper functions now support fractional timestamps. including parse_time() and now_is_between()
- sunrise(), sunset(), parse_time() and parse_datetime() now allow you to select today’s sunrise/sunset, rather than the next occuring,
and specify a number of offset days - now_is_between() now supports specification of a timethat can be used for testing rather than using the current time
- Added the ability to use lambdas for filtering state callbacks - contributed by
David Greenberg <https://github.com/dgrnbrg>
__ - Added the ability to support multiple input constraints - contributed by
Matt O <https://github.com/SirIndubitable>
__ - Added the --configfile parameter
- Docker container optimizations - contributed by
Nigel Rook <https://github.com/NigelRook>
__
Fixes
- Fixed issue when when using
timeout
in listen event api, after the event is ran one gets an error in log - Fixed issue when an entity is deleted from HA, and it remains in AD
- Fixed issue with setup file saying support “python3 3.0”
- Fixed issue with the inability to know which app’s callback failed
constrain_state
check - Fixed issue with AD giving messed up error messages
- Fixed an issue with scheduler.now_is_between() where it wasn’t zeroing out microseconds leading to race conditions
- Fixed another issue with now_is_between() relating to sunrise & sunset periods spanning midnight
- Fixed an issue in reloads of global modules - apps are now correctly forced to reload rather than just re-init ensuring they dump any old references
- Fixed the "state attribute of the entity class to work in async callbacks - Inspired by
Kostas Chatzikokolakis <https://github.com/chatziko>
__ - Documentation fixes - contributed by
Rootie <https://github.com/Rootie>
__ - Documentation fixes - contributed by
Jakob Ruhe <https://github.com/jakeru>
__ - Documentation fixes - contributed by
illuzn <https://github.com/illuzn>
__ - Fix for flake8 repository move - contributed by
dgrnbrg <https://github.com/dgrnbrg>
__ - Bump black to 22.3.0 and run it on all files - contributed by
Jakob Ruhe <https://github.com/jakeru>
__ - Bump black to 22.3.0 and run it on all files - contributed by
Jakob Ruhe <https://github.com/jakeru>
__ - Bumped websocket-client from 1.2.3 to 1.3.3
- Bumped azure-mgmt-storage from 19.0.0 to 20.0.0
- Bumped azure-storage-blob from 12.9.0 to 12.12.0
- Bumped azure-mgmt-compute from 23.1.0 to 27.1.0
- Bumped azure-mgmt-resource from 20.0.0 to 21.1.0
- Bumped azure-keyvault-secrets from 4.3.0 to 4.4.0
- Bumped pytz from 2021.3 to 2022.1
- Bumped pygments from 2.10.0 to 2.12.0
- Bumped feedparser from 6.0.8 to 6.0.10
- Bumped deepdiff from 5.7.0 to 5.8.1
- Bumped voluptuous from 0.12.2 to 0.13
- Bumped bcrypt from 3.2.0 to 3.2.2
- Bumped requests from 2.26.0 to 2.28.0
- Bumped jinja2 from 3.0.3 to 3.1.2
Breaking Changes
None