There are some things that cannot be done through text files, mostly stuff related to custom MainUI widgets, some MainUI configs, and there are some limitations in some bindings.
Though it’s worth mentioning that even the stuff you configure through the UI is saved as text files. It’s just JSON and stored in another location ($OH_USERDATA/jsondb). I do all my launching and configuration using Ansible but I also have a 99% managed config in OH with not problem.
Item metadata can be defined in .items files between the { }. It takes the format <namespace>="<value>"[<config1>=<value1>, <config2>=<value2>]
. stateDescription
is one of the well known namespaces. Not all of the well known metadata is fully documented. Often the easiest way to learn how to use it is to create one in the UI and look at the code tab. The format there will be:
value: <value>
config:
<config1>: <value1>
<config2>: <value2>
For example:
value: ""
config:
options: foo=bar,bim=baz
readOnly: true
pattern: "%d"
min: "0"
max: "100"
step: "1"
would be in a .items file
stateDescription=""[options="foo=bar,bim=baz", readOnly=true, pattern="%d", min=0, max=100, step=1]
Point isn’t a coordiant in this context either. It’s a type of semantic tag. See Semantic Model | openHAB. The semantic model provides additional information to Items that allow add-ons like HABot to reason about your home automation and respond to natural language queries and it’s what lets MainUI automatically create the Overview Locations, Equipment, and Properties tags. But that’s all it’s used for.
The tags are hierarichal. In this case Point
is the root of the hierarchy so it would only be used in cases where there is no other viable option and you decide not to create your own custom tag but you really want this Item to be in the semantic model (my rule of thumb is only about 60% of Items belong in the model).
For something like a “wallbox_charge_mode” I would expect the Point tag to be something like “Status” and the Property tag to be something like “Power”. The Point tag indicates what the Item represents or does (a control, a setpoint, a measurement, etc.) and the Property tag indicates what it does it to (e.g. temperature, humidity, power, etc.). A thermometer reading would be “Measurement, Temperature” but a thermostat heating setpoint would be “Setpoint, Temperature” and a heat alarm could be “Alarm, Temperature”.
The Point tag tells MainUI what UI widget to use when showing the Item (e.g. a Setpoint tells it to use a stepper widget) and the Property tag controls where the Item will appear on the Properties tab (e.g. all Temperature related Items appear in the Temperature card).
I don’t think the second document has anything to do with the semantic model.