Releases: spacemanspiff2007/HABApp
Releases · spacemanspiff2007/HABApp
v1.0.2
- Fixed setup issues
- Fixed unnecessary long tracebacks
v1.0.1
Dockerfile is Python 3.10 and non slim
v1.0.0
- OpenHAB >= 3.3 and Python >= 3.8 only!
- Major internal refactoring
- Startup issues are gone with a new and improved connection mechanism.
- New configuration library: More settings can be configured in the configuration file.
Config values are also described in the docs. Also better error messages (hopefully) - Improved event log performance (
BufferEventFile
no longer needed and should be removed) - Improved openhab performance (added some buffers)
- Improved mqtt performance
- Better tracebacks in case of error
- EventFilters can be logically combined ("and", "or") so rules trigger only once
- Label, Groups and Metadata is part of the OpenhabItem and can easily be accessed
- Added possibility to run arbitrary user code before the HABApp configuration is loaded
- Fixed setup issues
- Fixed some known bugs and introduced new ones ;-)
- Docker file changed to a multi stage build. Mount points changed to
/habapp/config
.
Migration to new version
self.listen_event
now requires an instance of EventFilter.
Old:
from HABApp.core.events import ValueUpdateEvent
...
self.my_sensor = Item.get_item('my_sensor')
self.my_sensor.listen_event(self.movement, ValueUpdateEvent)
New:
from HABApp.core.events import ValueUpdateEventFilter
...
self.my_sensor = Item.get_item('my_sensor')
self.my_sensor.listen_event(self.movement, ValueUpdateEventFilter()) # <-- Instance of EventFilter
HABApp:
ValueUpdateEvent -> ValueUpdateEventFilter()
ValueChangeEvent -> ValueChangeEventFilter()
Openhab:
ItemStateEvent -> ItemStateEventFilter()
ItemStateChangedEvent -> ItemStateChangedEventFilter()
ItemCommandEvent -> ItemCommandEventFilter()
MQTT:
MqttValueUpdateEvent -> MqttValueUpdateEventFilter()
MqttValueChangeEvent -> MqttValueChangeEventFilter()
Migration to new docker image
- change the mount point of the config from
/config
to/habapp/config
- The new image doesn't run as root. You can set
USER_ID
andGROUP_ID
to the user you want habapp to run with. It's necessary to modify the permissions of the mounted folder accordingly.
v0.31.2
- Added command line switch to display debug information
- Display debug information on missing dependencies
- Added a small splash screen when HABApp is started
- May doc updates
- Reworked EventListenerGroup
v0.31.1
- Added support for item metadata
- Added possibility to search for items by metadata
- Added EventListenerGroup to subscribe/cancel multiple listeners at once
- Z-Wave table doesn't show the linked items any more
v0.31.0
- added self.get_items to easily search for items in a rule
- added full support for tags and groups on OpenhabItem
- Application should now properly shut down when there is a PermissionError
- Added DatetimeItem to docs
- Label in commandOption is optional
- Added message when file is removed
- Examples in the docs get checked with a newly created sphinx extension
- Reworked the openhab tests
v0.30.3
- add support for custom ca cert for MQTT
- Scheduler runs only when the rule file has been loaded properly
- Sync openhab calls raise an error when called from an async context
- Replaced thread check for asyncio with a contextvar
v0.30.2
- Item and Thing loading from openHAB is more robust and disconnects now properly if openHAB is only partly ready
- Renamed command line argument "-s" to "-wos" or "--wait_os_uptime"
Now waits until the system uptime is at least the specified value before starting HABApp - Renamed HABApp.openhab.exceptions to HABApp.openhab.errors
- Updated dependencies
v0.30.1
0.30.0_Rel
Attention:
- No more support for python 3.6!
- Migration of rules is needed!
Changelog
- Switched to Apache2.0 License
- Fix DateTime string parsing for OH 3.1 (#214)
- State of Groupitem gets set correctly
- About ~50% performance increase for async calls in rules
- Significantly less CPU usage when no functions are running
- Completely reworked the file handling (loading and dependency resolution)
- Completely reworked the Scheduler!
- Has now subsecond accuracity (finally!)
- Has a new .coundown() job which can simplify many rules.
It is made for functions that do something after a certain period of time (e.g. switch a light off after movement)
- Added hsb_to_rgb, rgb_to_hsb functions which can be used in rules
- Better error message if configured foldes overlap with HABApp folders
- Renamed HABAppError to HABAppException
- Some Doc improvements
Migration of rules:
- Search for
self.run_
and replace withself.run.
- Search for
self.run.in
and replace withself.run.at
- Search for
.get_next_call()
and replace with.get_next_run()
(But make sure it's a scheduled job) - Search for
HABAppError
and replace withHABAppException