I just published 25.06.2 which updates the dependencies where I incorporated a fix.
Please let me know if this release fixes the DeprecationWarning for you.
I updated HABApp. At least the warning which came up at startup is gone. If the other one will show up again, I will report.
Thanks a lot for this version.
Just a heads up:
HABApp is not yet compatible with openHAB 5.0.
I’m working on implementing support so a compatible version should be available in the next couple of days.
Good news everyone
HABApp 25.07.0 is out which adds support for openHAB 5.0
thank you @Spaceman_Spiff ![]()
openhab 5 is a good reason to setup a new raspberry pi 5. so i can do it in parallel and do not become nervous if something does not work from the beginning ![]()
so i installed already some weeks ago openhabian and now upgraded it to oh5 (with termium21). as i did not know then that habapp still did not work with oh5 i also had habapp 25.6.2 installed.
now i uninstalled habapp 25.6.2 and tried to install the new version with my standard procedure
python3 -m pip install git+https://github.com/spacemanspiff2007/HABApp.git@Develop
what gave me this warning/error
WARNING: Did not find branch or tag 'Develop', assuming revision or ref.
Running command git checkout -q Develop
Fehler: Pfadspezifikation 'Develop' stimmt mit keinen Git bekannten Dateien überein
error: subprocess-exited-with-error
× git checkout -q Develop did not run successfully.
│ exit code: 1
╰─> See above for output.
i suppose most know already what to do, ich changed it to
python3 -m pip install git+https://github.com/spacemanspiff2007/HABApp.git@25.07.0
and this started the installation. but at the end of the install process i got this error
Building wheels for collected packages: HABApp
Building wheel for HABApp (pyproject.toml) ... done
Created wheel for HABApp: filename=habapp-25.7.0-py3-none-any.whl size=271476 sha256=83545719be14e00c1565d74345d8ab2b1cee5a7e7da3ec32effd39feacd3351e
Stored in directory: /tmp/pip-ephem-wheel-cache-2jz8e8b3/wheels/f2/5b/d2/23a14c030c5656fd8331a8fdb493100fd390937ceb436b9ee8
Successfully built HABApp
Installing collected packages: typing-extensions, watchfiles, pydantic, aiohttp, HABApp
Attempting uninstall: typing-extensions
Found existing installation: typing_extensions 4.14.0
Uninstalling typing_extensions-4.14.0:
ERROR: Could not install packages due to an OSError: [Errno 13] Keine Berechtigung: '/opt/habapp/lib/python3.11/site-packages/__pycache__/typing_extensions.cpython-311.pyc'
Check the permissions.
do i have to do something additionally or change anything?
Hm, maybe a permission mismatch. Could it be that you installed it for the first time with a different user? You either have to modify the folder permissions of the venv or you can try with sudo.
Note that when switching to the released version you can simply do
python3 -m pip install habapp==25.07.0
There is no need to specify the git repository.
i saw even i tried to install habapp 25.07.0 the previous version 25.06.2 was inactive but still installed. not sure but i think i installed the 25.06.2 version not manually but in openhabian-config.
so i uninstalled it there and did install new from the beginning. i think the installation will not finish, at least it seems that habapp service is not present. this is the log for all i did:
sudo systemctl status habapp
○ habapp.service - HABApp
Loaded: loaded (/etc/systemd/system/habapp.service; enabled; preset: enabled)
Active: inactive (dead) since Mon 2025-07-28 08:38:24 CEST; 3h 1min ago
Duration: 3d 17h 23min 3.956s
Docs: https://habapp.readthedocs.io
Main PID: 865 (code=exited, status=0/SUCCESS)
CPU: 1.510s
Jul 28 08:38:24 openhabian5 habapp[865]: | | | | / \ | __ ) / \ _ __ _ __
Jul 28 08:38:24 openhabian5 habapp[865]: | |_| | / _ \ | _ \ / _ \ | '_ \| '_ \
Jul 28 08:38:24 openhabian5 habapp[865]: | _ |/ ___ \| |_) / ___ \| |_) | |_) |
Jul 28 08:38:24 openhabian5 habapp[865]: |_| |_/_/ \_|____/_/ \_| .__/| .__/
Jul 28 08:38:24 openhabian5 habapp[865]: |_| |_|
Jul 28 08:38:24 openhabian5 habapp[865]: 25.06.2
Jul 28 08:38:24 openhabian5 habapp[865]: Shutting down ...
Jul 28 08:38:24 openhabian5 systemd[1]: habapp.service: Deactivated successfully.
Jul 28 08:38:24 openhabian5 systemd[1]: Stopped habapp.service - HABApp.
Jul 28 08:38:24 openhabian5 systemd[1]: habapp.service: Consumed 1.510s CPU time.
openhabian@openhabian5:~ $ sudo openhabian-config
2025-07-28_11:41:06_CEST [openHABian] Checking for root privileges... OK
2025-07-28_11:41:06_CEST [openHABian] Making sure router advertisements are available... OK
2025-07-28_11:41:06_CEST [openHABian] Loading configuration file '/etc/openhabian.conf'... OK
2025-07-28_11:41:06_CEST [openHABian] openHABian configuration tool version: [main]{2025-07-24T11:39:22-06:00}(905567a)
2025-07-28_11:41:06_CEST [openHABian] Checking for changes in origin branch main... OK
2025-07-28_11:41:07_CEST [openHABian] Switching to branch main... OK
2025-07-28_11:41:07_CEST [openHABian] Checking openHAB Signing Key expiry.
2025-07-28_11:41:07_CEST [openHABian] Checking expiry date of apt keys... OK
2025-07-28_11:41:07_CEST [openHABian] Checking for updates of openhab_rules_tools for JS Scripting... No update available.
2025-07-28_11:41:26_CEST [openHABian] Updating Linux package information... OK
2025-07-28_11:41:26_CEST [openHABian] Removing HABApp service ... OK
2025-07-28_11:41:26_CEST [openHABian] Uninstalling HABApp ... OK
2025-07-28_11:41:36_CEST [openHABian] Checking for default openHABian username:password combination... OK
2025-07-28_11:41:36_CEST [openHABian] We hope you got what you came for! See you again soon ;)
openhabian@openhabian5:~ $ sudo systemctl status habapp
Unit habapp.service could not be found.
openhabian@openhabian5:~ $ cd /opt
openhabian@openhabian5:/opt $ ls
FireMotD openhabian openHABian-install-successful pigpio zram
openhabian@openhabian5:/opt $ cd /opt
python3 -m venv habapp
cd habapp
source bin/activate
python3 -m pip install --upgrade pip setuptools
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in ./lib/python3.11/site-packages (23.0.1)
Collecting pip
Using cached pip-25.1.1-py3-none-any.whl (1.8 MB)
Requirement already satisfied: setuptools in ./lib/python3.11/site-packages (66.1.1)
Collecting setuptools
Using cached setuptools-80.9.0-py3-none-any.whl (1.2 MB)
Installing collected packages: setuptools, pip
Attempting uninstall: setuptools
Found existing installation: setuptools 66.1.1
Uninstalling setuptools-66.1.1:
Successfully uninstalled setuptools-66.1.1
Attempting uninstall: pip
Found existing installation: pip 23.0.1
Uninstalling pip-23.0.1:
Successfully uninstalled pip-23.0.1
Successfully installed pip-25.1.1 setuptools-80.9.0
(habapp) openhabian@openhabian5:/opt/habapp $ python3 -m pip install habapp==25.07.0
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting habapp==25.07.0
Using cached habapp-25.7.0-py3-none-any.whl.metadata (18 kB)
Collecting aiohttp==3.12.14 (from habapp==25.07.0)
Using cached aiohttp-3.12.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (7.6 kB)
Collecting pydantic==2.11.7 (from habapp==25.07.0)
Using cached pydantic-2.11.7-py3-none-any.whl.metadata (67 kB)
Collecting bidict==0.23.1 (from habapp==25.07.0)
Using cached https://www.piwheels.org/simple/bidict/bidict-0.23.1-py3-none-any.whl (32 kB)
Collecting watchfiles==1.1.0 (from habapp==25.07.0)
Using cached watchfiles-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (4.9 kB)
Collecting ujson==5.10.0 (from habapp==25.07.0)
Using cached ujson-5.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (9.3 kB)
Collecting aiomqtt==2.4.0 (from habapp==25.07.0)
Using cached aiomqtt-2.4.0-py3-none-any.whl.metadata (4.6 kB)
Collecting eascheduler==0.2.6 (from habapp==25.07.0)
Using cached eascheduler-0.2.6-py3-none-any.whl.metadata (6.6 kB)
Collecting immutables==0.21 (from habapp==25.07.0)
Using cached immutables-0.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (4.5 kB)
Collecting easyconfig==0.4.1 (from habapp==25.07.0)
Using cached https://www.piwheels.org/simple/easyconfig/easyconfig-0.4.1-py3-none-any.whl (28 kB)
Collecting stack_data==0.6.3 (from habapp==25.07.0)
Using cached https://www.piwheels.org/simple/stack-data/stack_data-0.6.3-py3-none-any.whl (24 kB)
Collecting colorama==0.4.6 (from habapp==25.07.0)
Using cached https://www.piwheels.org/simple/colorama/colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting fastnumbers==5.1.1 (from habapp==25.07.0)
Using cached fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (23 kB)
Collecting geopy==2.4.1 (from habapp==25.07.0)
Using cached https://www.piwheels.org/simple/geopy/geopy-2.4.1-py3-none-any.whl (114 kB)
Collecting typing-extensions==4.14.1 (from habapp==25.07.0)
Using cached typing_extensions-4.14.1-py3-none-any.whl.metadata (3.0 kB)
Collecting aiohttp-sse-client==0.2.1 (from habapp==25.07.0)
Using cached https://www.piwheels.org/simple/aiohttp-sse-client/aiohttp_sse_client-0.2.1-py2.py3-none-any.whl (7.0 kB)
Collecting javaproperties==0.8.2 (from habapp==25.07.0)
Using cached https://www.piwheels.org/simple/javaproperties/javaproperties-0.8.2-py3-none-any.whl (23 kB)
Collecting aiohappyeyeballs>=2.5.0 (from aiohttp==3.12.14->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/aiohappyeyeballs/aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB)
Collecting aiosignal>=1.4.0 (from aiohttp==3.12.14->habapp==25.07.0)
Using cached aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)
Collecting attrs>=17.3.0 (from aiohttp==3.12.14->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/attrs/attrs-25.3.0-py3-none-any.whl (63 kB)
Collecting frozenlist>=1.1.1 (from aiohttp==3.12.14->habapp==25.07.0)
Using cached frozenlist-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (18 kB)
Collecting multidict<7.0,>=4.5 (from aiohttp==3.12.14->habapp==25.07.0)
Using cached multidict-6.6.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.metadata (5.3 kB)
Collecting propcache>=0.2.0 (from aiohttp==3.12.14->habapp==25.07.0)
Using cached propcache-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (12 kB)
Collecting yarl<2.0,>=1.17.0 (from aiohttp==3.12.14->habapp==25.07.0)
Using cached yarl-1.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (73 kB)
Collecting paho-mqtt<3.0.0,>=2.1.0 (from aiomqtt==2.4.0->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/paho-mqtt/paho_mqtt-2.1.0-py3-none-any.whl (67 kB)
Collecting whenever==0.8.5 (from eascheduler==0.2.6->habapp==25.07.0)
Using cached whenever-0.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (11 kB)
Collecting astral==3.2 (from eascheduler==0.2.6->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/astral/astral-3.2-py3-none-any.whl (38 kB)
Collecting holidays==0.74 (from eascheduler==0.2.6->habapp==25.07.0)
Using cached holidays-0.74-py3-none-any.whl.metadata (39 kB)
Collecting pydantic-settings<3.0,>=2.0 (from easyconfig==0.4.1->habapp==25.07.0)
Using cached pydantic_settings-2.10.1-py3-none-any.whl.metadata (3.4 kB)
Collecting ruamel.yaml<0.19,>=0.17 (from easyconfig==0.4.1->habapp==25.07.0)
Using cached ruamel.yaml-0.18.14-py3-none-any.whl.metadata (24 kB)
Collecting annotated-types>=0.6.0 (from pydantic==2.11.7->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/annotated-types/annotated_types-0.7.0-py3-none-any.whl (13 kB)
Collecting pydantic-core==2.33.2 (from pydantic==2.11.7->habapp==25.07.0)
Using cached pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (6.8 kB)
Collecting typing-inspection>=0.4.0 (from pydantic==2.11.7->habapp==25.07.0)
Using cached typing_inspection-0.4.1-py3-none-any.whl.metadata (2.6 kB)
Collecting geographiclib<3,>=1.52 (from geopy==2.4.1->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/geographiclib/geographiclib-2.0-py3-none-any.whl (40 kB)
Collecting python-dateutil (from holidays==0.74->eascheduler==0.2.6->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Collecting executing>=1.2.0 (from stack_data==0.6.3->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/executing/executing-2.2.0-py2.py3-none-any.whl (26 kB)
Collecting asttokens>=2.1.0 (from stack_data==0.6.3->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/asttokens/asttokens-3.0.0-py3-none-any.whl (26 kB)
Collecting pure-eval (from stack_data==0.6.3->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/pure-eval/pure_eval-0.2.3-py3-none-any.whl (11 kB)
Collecting anyio>=3.0.0 (from watchfiles==1.1.0->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/anyio/anyio-4.9.0-py3-none-any.whl (100 kB)
Collecting python-dotenv>=0.21.0 (from pydantic-settings<3.0,>=2.0->easyconfig==0.4.1->habapp==25.07.0)
Using cached python_dotenv-1.1.1-py3-none-any.whl.metadata (24 kB)
Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml<0.19,>=0.17->easyconfig==0.4.1->habapp==25.07.0)
Using cached ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl.metadata (2.7 kB)
Collecting idna>=2.0 (from yarl<2.0,>=1.17.0->aiohttp==3.12.14->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/idna/idna-3.10-py3-none-any.whl (70 kB)
Collecting sniffio>=1.1 (from anyio>=3.0.0->watchfiles==1.1.0->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/sniffio/sniffio-1.3.1-py3-none-any.whl (10 kB)
Collecting six>=1.5 (from python-dateutil->holidays==0.74->eascheduler==0.2.6->habapp==25.07.0)
Using cached https://www.piwheels.org/simple/six/six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached habapp-25.7.0-py3-none-any.whl (271 kB)
Using cached aiohttp-3.12.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB)
Using cached aiomqtt-2.4.0-py3-none-any.whl (15 kB)
Using cached eascheduler-0.2.6-py3-none-any.whl (47 kB)
Using cached pydantic-2.11.7-py3-none-any.whl (444 kB)
Using cached typing_extensions-4.14.1-py3-none-any.whl (43 kB)
Using cached fastnumbers-5.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB)
Using cached holidays-0.74-py3-none-any.whl (990 kB)
Using cached immutables-0.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (99 kB)
Using cached pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB)
Using cached ujson-5.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (51 kB)
Using cached watchfiles-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (450 kB)
Using cached whenever-0.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419 kB)
Using cached multidict-6.6.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (247 kB)
Using cached pydantic_settings-2.10.1-py3-none-any.whl (45 kB)
Using cached ruamel.yaml-0.18.14-py3-none-any.whl (118 kB)
Using cached yarl-1.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (347 kB)
Using cached aiosignal-1.4.0-py3-none-any.whl (7.5 kB)
Using cached frozenlist-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (237 kB)
Using cached propcache-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (217 kB)
Using cached python_dotenv-1.1.1-py3-none-any.whl (20 kB)
Using cached ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl (641 kB)
Using cached typing_inspection-0.4.1-py3-none-any.whl (14 kB)
Installing collected packages: pure-eval, whenever, ujson, typing-extensions, sniffio, six, ruamel.yaml.clib, python-dotenv, propcache, paho-mqtt, multidict, javaproperties, immutables, idna, geographiclib, frozenlist, fastnumbers, executing, colorama, bidict, attrs, asttokens, astral, annotated-types, aiohappyeyeballs, yarl, typing-inspection, stack_data, ruamel.yaml, python-dateutil, pydantic-core, geopy, anyio, aiosignal, aiomqtt, watchfiles, pydantic, holidays, aiohttp, pydantic-settings, eascheduler, aiohttp-sse-client, easyconfig, habapp
Successfully installed aiohappyeyeballs-2.6.1 aiohttp-3.12.14 aiohttp-sse-client-0.2.1 aiomqtt-2.4.0 aiosignal-1.4.0 annotated-types-0.7.0 anyio-4.9.0 astral-3.2 asttokens-3.0.0 attrs-25.3.0 bidict-0.23.1 colorama-0.4.6 eascheduler-0.2.6 easyconfig-0.4.1 executing-2.2.0 fastnumbers-5.1.1 frozenlist-1.7.0 geographiclib-2.0 geopy-2.4.1 habapp-25.7.0 holidays-0.74 idna-3.10 immutables-0.21 javaproperties-0.8.2 multidict-6.6.3 paho-mqtt-2.1.0 propcache-0.3.2 pure-eval-0.2.3 pydantic-2.11.7 pydantic-core-2.33.2 pydantic-settings-2.10.1 python-dateutil-2.9.0.post0 python-dotenv-1.1.1 ruamel.yaml-0.18.14 ruamel.yaml.clib-0.2.12 six-1.17.0 sniffio-1.3.1 stack_data-0.6.3 typing-extensions-4.14.1 typing-inspection-0.4.1 ujson-5.10.0 watchfiles-1.1.0 whenever-0.8.5 yarl-1.20.1
(habapp) openhabian@openhabian5:/opt/habapp $ deactivate
openhabian@openhabian5:/opt/habapp $ sudo systemctl status habapp.service
Unit habapp.service could not be found.
openhabian@openhabian5:/opt/habapp $
sorry for the trouble, i was wrong!
i uninstalled habapp and installed it new again. i thought the install would not finish but i just forgot to install and start the system service for autostarting habapp.
now 25.07.0 is installed and running with openhab 5.1.0 - and everything looks good for me, thank you ![]()
I also updated to OpenHAB 5 and HABApp 2025.07.0 and everything is working ![]()
I’m a bit late to the party but would like to update OH from 4.3.5 to 5.x and HABApp from 24.11.1 to 25.x now. What is the preferred way to run the update for openhabian running on a Pi 5? HABApp using python3 -m pip install habappand OH 5 from openhabian-config second?
Are there any breaking changes when going from 24.11.1 to HABApp 25?
@Spaceman_Spiff thanks for all of your efforts! I went about a year (it seems like) without updating anything between OpenHAB and HABApp so I was a bit behind the power curve. It is all updated to latest now and running well. However, in the updates I also went to the latest version of Linux (Ubuntu Server) so am slowly working on getting all my external python2.7 scripts converted over to 3.12. The biggest change seems to be the need to run things within virtual environments, which I have mostly figured out. The question I have for you is, when calling self.execute_python() or self.execute_subprocess() in order to start an external process that basically “runs forever” (doesn’t return), is there any way for me to gracefully terminate or kill the process when I reload the script? Currently it will just create a new zombie process and the old process will keep running. Is there a way to get the pid through your wrappers and kill the previous process on reload?
My use case is that I have a python script that generates a .json from an RTL reciever and multiple scripts use the .json file.
Sorry about the lack of code fences above, they don’t seem to be working the way the used to.
Unfortunately when I designed the process api I did not anticipate that it might be useful for long running jobs. So currently there is no canceling and no easy way to get to the process handle.
So you either:
- have to start the process yourself and handle canceling during reload
- start the process independently from HABApp
Since it’s a long running process I think the second option it would make sense.
You could e.g. make it a system.d unit and start it during startup.
Ok, understood. I will try to have it started as a process when the computer starts. That would probably be the cleanest solution.
Thanks for the response!
Good news everyone!
HABApp 25.12.0 is out!
This release requires at least Python 3.11 so please double check that you have installed the correct version (e.g. Python 3.11-3.14).
This release provides a fix where HABApp would keep reconnecting when openHAB was sending an invalid item state during startup. Now the invalid value gets logged and HABApp assumes None and properly starts up.
Additionally every item now has the .last_value property which contains the last item value before the last value change.
To see what the last item change was one can just now compare item.value and item.last_value.
Also some updated dependencies as always.
Sorry that the development was so slow this last but life have been very busy for me.
Nonetheless I hope this small release brings you some joy during this Christmas time!
Hello and Merry Christmas.
I am trying to remove all of my non-habapp timers and sleep calls, and replacing them with countdown timers. I’ve had quite a time getting the countdown timers to work, but I think I figured out my problem, and wanted to ask you about it.
Do countdown timers require a .reset() to be called to initially start them? It doesn’t explicitly say it in the docs (that I can find) but I can’t get it to start without it, like this:
self.tt = self.run.countdown(5, self.TimerFunc).reset()
I am also wondering how do i reference an enum to get the job status? I can see what the job status is, like “JobStatusEnum.PAUSED” but in order to test against this I have to typecast this to a string and that seems really clunky. I would like to just say:
if self.tt.status == PAUSED:
or
if self.tt.status == JobStatusEnum.PAUSED:
I’m guessing that I need to import the enums? How would I do that? Thanks for all the hard work!
Yes - the countdown only starts when you call reset.
That way you can set it up in __init__ and start it e.g. when you receive an event.
It’s actually much easier:
if self.tt.status.is_paused:
if self.tt.status.is_running:
don´t know it it might be useful, i additionally noted:
if self.tt.status.is_paused: # True if job still is not started, stopped or finished
# False if running, cancelled
if self.tt.status.is_running: # True if running,
# False if still not started, stopped, cancelled or finished
Thanks to you and @bastler for the responses. Those are what I was hoping for, perfect. I could see a cases where it might be nice to have a “cancelled” and “expired” option as well, if there’s any room for enhancements.
Have a nice night!
are there any known problems with habapp 25.12 and OH5.1? It keeps reconnecting every minute.
(Using python 3.13.5)
[2025-12-24 15:26:19,539] [HABApp.connection.openhab] DEBUG | Task CONNECTED done
[2025-12-24 15:26:19,539] [ HABApp.openhab.items] DEBUG | Ping started
[2025-12-24 15:26:19,540] [HABApp.connection.openhab] DEBUG | ONLINE
[2025-12-24 15:26:19,540] [HABApp.connection.openhab] DEBUG | Task ONLINE start
[2025-12-24 15:26:19,541] [HABApp.connection.openhab] DEBUG | Task ONLINE done
[2025-12-24 15:27:01,073] [HABApp.connection.openhab] DEBUG | Websocket close: 1000
[2025-12-24 15:27:01,073] [HABApp.connection.openhab] DEBUG | Websocket closed: 1000 None
[2025-12-24 15:27:01,074] [HABApp.connection.openhab] DEBUG | Websocket ping task stopped
[2025-12-24 15:27:01,076] [HABApp.connection.openhab] DEBUG | Set error on connection status
[2025-12-24 15:27:01,076] [HABApp.connection.openhab] DEBUG | Error in WebsocketPlugin.websockets_task: (WebSocketClosedError)
[2025-12-24 15:27:01,077] [HABApp.connection.openhab] DEBUG | DISCONNECTED
[2025-12-24 15:27:01,077] [HABApp.connection.openhab] DEBUG | Task DISCONNECTED start
[2025-12-24 15:27:01,080] [ HABApp.openhab.items] DEBUG | Ping stopped
[2025-12-24 15:27:01,080] [ HABApp] DEBUG | Removed event listener for "HABApp_Ping" (filter=EventFilter(type=ItemStateUpdatedEvent))
[2025-12-24 15:27:01,080] [HABApp.connection.openhab] DEBUG | Task DISCONNECTED done
[2025-12-24 15:27:01,081] [HABApp.connection.openhab] DEBUG | OFFLINE
[2025-12-24 15:27:01,081] [HABApp.connection.openhab] DEBUG | Task OFFLINE start
[2025-12-24 15:27:02,084] [HABApp.connection.openhab] DEBUG | Cleared error
[2025-12-24 15:27:02,084] [HABApp.connection.openhab] DEBUG | Task OFFLINE done
[2025-12-24 15:27:02,084] [HABApp.connection.openhab] DEBUG | CONNECTING
[2025-12-24 15:27:02,085] [HABApp.connection.openhab] DEBUG | Task CONNECTING start
[2025-12-24 15:27:02,085] [HABApp.connection.openhab] DEBUG | Trying to connect to OpenHAB ...
[2025-12-24 15:27:02,104] [HABApp.connection.openhab] INFO | Connected to OpenHAB version 5.1.0 (Release Build)