It does not. You can edit Things all day long through PaperUI without needing to reload the binding.
This is also a problem specific to .things files. When OH loads a .things file it removes the existing Things from that file and then recreates them. Thus your Broker Thing has to reconnect. That’s how it works with .items and .rules files too.
Then there is something wrong with the configuration, a typo in the topic or a misunderstanding of what one of the fields mean.
In OH 2 (and OH 3 it appears though I’ve not looked deeply into it yet) there are two sources of truth: JSONDB and text configs. The JSONDB gets loaded first and loaded in such a way that there is never a problem with something being loaded before something else is needed (e.g. rules being loaded before the Items it uses are loaded). Then the text files are loaded into memory and if they duplicate something from the JSONDB it overwrites it.
The JSONDB gets automatically backed up.
There is next to no parsing involved when loading from the JSONDB meaning boot times and load times are dramatically improved. I cut 20 minutes off of the boot time of an OH configuration on an RPi 0W simply by moving everything to the JSONDB.
When manually creating Things, Items, and Rules through the UIs it almost impossible to generate a syntax error.
JSONDB is also text based so it is suitable for storage in source control, copying backups from one instance to another, etc.
In general, OH runs so much better when working out of JSONDB compared to text configs that now that the UI is catching up with the MainUI in OH 3 I will recommend it for all OH configs going forward.
Textual config is here to stay but unless and until some developer or maintainer decides to take a crack at vastly improving how it works, it is always going to work like what it is, a kludgy system that is carried along for backwards compatibility. As such it’s never going to work as nicely as stuff does in the JSONDB. That’s just my opinion.
MQTT for sure, I think maybe KNX and Exec too but I don’t use either of those so am going mostly from memory.
The remedy is:
- don’t use .things files
- don’t change .things files when you can’t take the hit from reloading the binding
- don’t use the binding
I think they never figured out how to have subpages properly built from multiple .md files as part of the docs build.