I am controlling my somfytahoma rollershutters, and when a periodic update is pulled from the bridge, or when I send a command to one of the rollershutters, and therefore an update comes in, I see the following:
[2025-02-25 14:51:55,730] [HABApp.connection.openhab] ERROR | ThingUpdatedEvent.payload.1.bridgeUID
[2025-02-25 14:51:55,730] [HABApp.connection.openhab] ERROR | Extra inputs are not permitted [type=extra_forbidden, input_value='somfytahoma:bridge:home', input_type=str]
[2025-02-25 14:51:55,730] [HABApp.connection.openhab] ERROR | For further information visit https://errors.pydantic.dev/2.10/v/extra_forbidden
These lines are logged from HABApp in the relevant time frame:
[2025-02-24 20:56:38,187] [HABApp.EventBus ] INFO | HABApp.Files: <RequestFileLoadEvent filename: rules/startup/startup.py>
[2025-02-24 20:56:38,189] [HABApp.EventBus ] INFO | HABApp.Files: <RequestFileLoadEvent filename: rules/startup/startup.py>
[2025-02-24 20:56:38,213] [HABApp.EventBus ] INFO | HABApp.Warnings: 'Rule file /etc/openhab/habapp/rules/startup/startup.py is not yet loaded and therefore can not be unloaded'
I thought I could push the Dev to a quick release, but it was way more work than I anticipated. Unfortunately I am very busy until the week after next week so I have limited time to work on the dev branch, but I’ll do what I can to finish it.
@usambara I once again tried to fix the issue. It’s hard since I can’t reproduce it. Does DEV-4 fix the issue for you?
@bastler
I fixed the threading issue with the help of @nobbi123 .
It should work now as expected for you however you need to wrap either the function definition or your lambdas with in_thread. It works without it but logs an error.
See the dev docs for an example.
If anything is unclear or if you need help please PM me.
i am still on dev-5 and would like to ask if i do something wrong, but i think this behaviour has changed:
for some rules i use the automatic reload at the beginning of a file:
# HABApp:
# reloads on:
# - params/first_init.yml
to reload rules if i changed a yml-file. earlier the file was removed before loaded again, now it seems the file gets loaded although the “old” file still exists.
Thank you for observing thoroughly and bringing this to my attention.
This is a bug that I missed while reworking the file manager.
Does DEV-7 fix the issue for you?
thank you!
it is still confusing for me:
although the folder name ist param and the config is
directories:
logging: /var/log/openhab # Folder where the logs will be written to
rules: rules # Folder from which the rule files will be loaded
param: param # Folder from which the parameter files will be loaded
i have to code:
# HABApp:
# reloads on:
# - params/first_init.yml
(with additional ‘s’) to get the rule loaded.
but in dev-6 still the old rule is not reloaded when i save the yml file.
I migrated the config key name (you should also see a log entry in stdout or in the beginning of the log).
You can change param: param to params: param in the config.yml
Could you try updating again - the fix is only in DEV-7, not in DEV-6
I added a configuration migration to the config.yml :
In the future it will be (in your case) params: param, but I wanted it to be non-breaking so param: param does also work but does emit a log or stdout entry.
The params/ you write in your file does not refer to the actual folder name but an HABApp internal name. That way the file dependency works everywhere regardless of what is configured as a params folder. E.g. you could configure params: bastler and the correct entry would still be params/... even though the file is actually in a different folder