It’s going to depend on what you are comfortable with. All the text configs that are currently in use are still supported. So you can do everything in files. There are some limitations with .things files even in 2.5 and those do not go away. There are also some long time bugs that may or may not be fixed in OH 3 when using text configs (missing Items after clearing the cache, rules start running before Items are ready, etc).
Based on my experience thus far, I do no hesitate to recommend doing almost everything through the UI. There are some neat little features with having rules in JSONDB which are nice such as getting to avoid a lot of the boilerplate for creating a rule, the “but only if…” conditionals, being able to create simple rules with no code, etc. Boot times are greatly improved.
Items are pretty manageable now and the UI fully supports tags and metadata now. And you can bulk create/import/edit them. And there is support for Google Assistant and Amazon Alexa directly in the UI. No need to look them up and risk getting the syntax wrong.
I’m personally not going to bother with sitemaps any more either. I’m relying on the Item model and Pages for my UI and it’s great! It almost builds itself all by itself.
Almost everything has a code view that shows the Item, Rule, Widget, etc. as YAML which can be edited, copied and pasted (e.g. for sharing or asking for help on the forum), etc.
I can’t guarantee it, but I expect the Getting Started Tutorial for OH 3 is going to focus primarily on doing everything through the UI. But if you are already comfortable with text configs nothing will force you to use anything else.
An issue filed on the openhab-webuis repo with more details would be welcome I expect.
What functionality do you miss? So far the only functionality I’ve encountered that is missing is the ability to define a global variable that is shared across multiple rules. But there are other probably better approaches for that anyway. There might be a bug with the notification Actions too but it’s a bug, not missing. So far I’ve successfully (in ECMAScript):
- loaded my own libraries
- exercised most of the built in actions including creating timers, executeCommandLine, logging
- saved and recalled a variable from one run of the rule to the next (e.g. checking to see if the rule has an active timer to reschedule or cancel it)
- accessing, commanding, updating Items
- general programming stuff the language supports like creating functions, classes, loops, filtering lists, etc.
- creating/deleting (I probably will drop this approach in my code), disabling/enabling, and calling other rules from a rule.
I’m in the process of rewriting my Jython modules tools libraries to JavaScript for use in UI created rules. Then I plan on writing the scripts so they can be imported as YAML (until we have a marketplace for rule templates).
I can certainly provide examples where needed. I’ve posted a bunch of examples as I figure them out already at openHAB 3.0 my getting started notes: Rules