Thanks for the prompt response.
I think something went wrong during the first pull the docker file even if I used the
latest
tag.
No it looks OK.
Thx
Thanks for the prompt response.
I think something went wrong during the first pull the docker file even if I used the
latest
tag.
No it looks OK.
Thx
Hi Seb! Long time since I logged on here.
HABApp 1.0.8 and OpenHAB 3.4.4 has been chugging along in the background in docker containers on my PI4 this whole time, working great.
One thing that has plagued it continuously and filling up my logs is these randomly occuring performance related messages:
[2024-04-04 12:13:55,558] [ HABApp.Worker] WARNING | Execution of BatteryStatus.do_run took too long: 0.86s
[2024-04-04 12:37:43,952] [ HABApp.Worker] WARNING | Starting of EnergyMgmt.fnOnGridWatts took too long: 0.38s. Maybe there are not enough threads?
Fair enough. The PI4 is not a powerhouse.
Finally today I migrated OpenHAB, HABApp and Mosquitto to a proper server – a Ryzen 5950X. Four cores are dedicated to an LXC that hosts the docker containers. I’m still running the same versions, and it flies! Wonderful.
But, guess what – I’m still getting these messages.
[2024-04-04 17:31:50,003] [ HABApp.Worker] WARNING | Starting of PoolFlow.fnJsonMessage1 took too long: 0.07s. Maybe there are not enough threads?
0.07 seconds? That’s not too long, that seems perfectly reasonable.
What is the alarm threshold? Is it dynamic somehow? Can I change the threshold and/or add more threads?
One more question. Mosquitto was set to use the latest version, which was now 2.0.18.
I had really weird problems. Non-retained messages published from my devices did not reach HABApp! But, they reached MQTT Explorer. And when I published non-retained from MQTT Explorer, they did reach HABApp. But the next update from the device, even though it showed up fine in MQTT Explorer, again did NOT reach HABApp!
It was completely consistent. The device updates never reached HABApp but if sent from MQTT Explorer it always reached HABApp.
I finally downgraded Mosquitto to 2.0.14 and then everything worked again.
Any idea what’s going on there?
I will update openHAB and HABApp to the latest versions when I have a chance. My entire house runs on HABApp now, including the energy management (solar + batteries, and controlling air conditioning and pool pumps) so I have to pick the right time to upgrade system-level components such as those.
You can update to the latest Version of HABApp. There the warning logic is more intelligent and will not throw this warning when there are plenty of threads available.
Be aware that there was a breaking change which means you should use the ItemStateUpdatedEvent
instead of the ItemStateEvent
which should not used any more.
Hm - no idea. I am running mosquitto 2.0.18 without issues.
Is this a reproducible issue which persists across restarts?
That sounds awesome! I am glad you are happy with HABApp
Hello @Spaceman_Spiff, several post above, you wrote that it is possible to load / unload rules via posting particular events on the bus. I am really interested in this, but I cannot get it working. I would expect, that posting RequestFileUnloadEvent will unload the rule and RequestFileLoadEvent will load the rule. But both of them are ending in the rule reloading. My code is very simple:
event = RequestFileUnloadEvent("rules/operator_vents.py")
self.post_event("HABApp.Files", event)
and the output in the HABApp log (DEBUG severity):
[2024-05-10 11:54:24,811] [ HABApp.file.events] DEBUG | FileOpenedEvent(src_path='/habapp/config/rules/operator_vents.py', dest_path='', event_type='opened', is_directory=False, is_synthetic=False)
[2024-05-10 11:54:24,812] [ HABApp.files] DEBUG | rules/operator_vents.py added
[2024-05-10 11:54:25,102] [ HABApp.files] DEBUG | rules/operator_vents.py changed to DEPENDENCIES_OK
[2024-05-10 11:54:25,103] [ HABApp.Rules] DEBUG | Removing file: rules/operator_vents.py
[2024-05-10 11:54:25,108] [ HABApp] DEBUG | Removed event listener for "control/fans/set" (filter=ValueChangeEventFilter())
[2024-05-10 11:54:25,109] [ HABApp] DEBUG | Removed event listener for "control/fanexhaust/set" (filter=ValueChangeEventFilter())
[2024-05-10 11:54:25,109] [ HABApp] DEBUG | Removed event listener for "control/fanintake/set" (filter=ValueChangeEventFilter())
[2024-05-10 11:54:25,109] [ HABApp.Rules] DEBUG | File rules/operator_vents.py successfully unloaded!
[2024-05-10 11:54:25,112] [ HABApp.Rules] DEBUG | Loading file: rules/operator_vents.py
[2024-05-10 11:54:25,114] [ HABApp.file.events] DEBUG | FileOpenedEvent(src_path='/habapp/config/rules/operator_vents.py', dest_path='', event_type='opened', is_directory=False, is_synthetic=False)
[2024-05-10 11:54:25,117] [ HABApp.file.events] DEBUG | FileOpenedEvent(src_path='/habapp/config/rules/operator_vents.py', dest_path='', event_type='opened', is_directory=False, is_synthetic=False)
[2024-05-10 11:54:25,118] [ HABApp.file.events] DEBUG | FileOpenedEvent(src_path='/habapp/config/rules/operator_vents.py', dest_path='', event_type='opened', is_directory=False, is_synthetic=False)
[2024-05-10 11:54:25,127] [ HABApp] DEBUG | Added event listener for "control/fanintake/set" (filter=ValueChangeEventFilter())
[2024-05-10 11:54:25,128] [ HABApp] DEBUG | Added event listener for "control/fanexhaust/set" (filter=ValueChangeEventFilter())
[2024-05-10 11:54:25,129] [ HABApp] DEBUG | Added event listener for "control/fans/set" (filter=ValueChangeEventFilter())
[2024-05-10 11:54:25,129] [ HABApp.Rules] INFO | Added rule "OperatorVentsRule" from rules/operator_vents.py
[2024-05-10 11:54:25,131] [ HABApp.Rules] DEBUG | File rules/operator_vents.py successfully loaded!
[2024-05-10 11:54:25,132] [ HABApp.files] DEBUG | rules/operator_vents.py changed to LOADED
[2024-05-10 11:54:40,574] [ HABApp.files] DEBUG | Worker done!
Any advice how to dynamicly disable / enable rules?