is it possible, or will it be possible to extend thing from configuration files and/or UI?
It could be done by beeing able to add a channel that is not in the thing decription from the binding, and then link an item to it.
Another simpler way could be that an item could be link to “joker” channel that would exist in all things (in fact that an item could be in a thing without beeing linked to a channel).
This could be a way to add a functionnality to a thing, with an item triggering a rule (eg a blinking switch for the HUE bulb) without having to branch from the official binding (if it’s a very specific need), or waiting for an hypothetical update.
The idea here is to be able to use the things as meaningfull objects for the user (reflecting real physical devices). It would be especially nice in applications and UIs for end users, and to be able to set the granularity (in those application) to physical device.
In that case, it will also be nice to be able to create virtual thing (unrelated to a binding). That would be very usefull using openhab1 bindings with the compatibility layer and still being able to link items from those bindings to things.
I know thing =/= device, and that this could be achieved using groups (very small or monomember groups), but it’s really tempting to use the things to do it, since with most bindings all would be automatically be done, and those virtual channels/things could be a way to juste complete this or wait for all the bindings to be release.
The other way around would be to do make those links directly into the application that needs it (maybe with creating a device layer), but since it would be meaningfull links, it could be profitable in other applications or UI, so it would be cool to describe it in config files.