Openhab 3.3 is now released and unfortunately there was a breaking change which will generate error messages in the logs (the “ALIVE” event).
So now I have to hurry up with the next HABApp release even though time is short.
To speed things up and because there were so many changes since the last release I decided it would be best to do a public beta test.
Many things changed so expect things to break! Use only for testing or on your own risk.
The main goal of this test is to fix the remaining bugs, get feedback on the new things and also create a comprehensive migration manual.
Changes so far
- Startup issues are gone with a new and improved connection mechanism. Big thanks to @j-n-k who did all the work on the openhab side. HABApp now only works with OH3.3!
- 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 (imho
)
- 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
.
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 ValueUpdateEvent, 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.
Installation
The dev docs can be found here.
If something is missing please let me know.
The current dev branch can be installed in the venv with the following command:
pip install git+https://github.com/spacemanspiff2007/HABApp.git@Develop
Please let HABApp generate the both the logging and the app config and work from there.
To update to the most recent version you have to uninstall HABApp first and then reinstall.
pip uninstall habapp
pip install git+https://github.com/spacemanspiff2007/HABApp.git@Develop
I’ll ping a couple of users which were interested in a beta test but of course every one is invited!
Thank you for your feedback and tests in advance!