Skip to content

Releases: spacemanspiff2007/HABApp

v1.0.2

29 Jul 04:24
062e87f
Compare
Choose a tag to compare
  • Fixed setup issues
  • Fixed unnecessary long tracebacks

v1.0.1

25 Jul 12:05
Compare
Choose a tag to compare

Dockerfile is Python 3.10 and non slim

v1.0.0

25 Jul 11:33
005fd47
Compare
Choose a tag to compare
  • 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 and GROUP_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

17 Dec 06:42
a123fbf
Compare
Choose a tag to compare
  • 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

29 Oct 12:45
96535bb
Compare
Choose a tag to compare
  • 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

08 Oct 06:16
3b21a95
Compare
Choose a tag to compare
  • 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

17 Jun 05:13
f834c3e
Compare
Choose a tag to compare
  • 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

26 May 11:33
9712a37
Compare
Choose a tag to compare
  • 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

07 May 04:36
f0ee7a6
Compare
Choose a tag to compare
  • latitude is now set correctly for sunrise/sunset calculation (closes #217)
  • Added missing " for tags in textual thing configuration
  • Updated scheduler which fixes an overflow error(#216)
  • States of openHAB groups are now unpacked correctly

0.30.0_Rel

02 May 12:19
Compare
Choose a tag to compare

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 with self.run.
  • Search for self.run.in and replace with self.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 with HABAppException