In habpanel settings you can set an item that is used to open a dashboard whenever the item value is changed. The new value defines which dashboard will be opened.
I could not find anything like this when I searched for the OH 3 UI. Is there a way to switch to different areas of the UI (e. g. Pages) whenever an item receives a new value? Or does this need to be defined with a new rule? Maybe there is now an easier way that I have just missed.
In HabPanel this exists so that you can create widgets that change an item state and result is page changes in order to have system of navigation buttons. There isn’t really a need for such a mechanism in the MainUI because it is possible to define widgets that change between UI pages directly without requiring an item. Any of the components that have the set of action options (
oh-button, etc) has a
navigate option which can be set to transition the UI to a specific page.
I use this in habpanel to switch between different dashboards based on events, e. g. when the door bell rings, this item opens the dashboard that shows the door cam, when I change the temperature then habpanel jumps to the dashboard that shows all rooms and their current temperature. So I don’t change it actively (I don’t press any button or interact with the UI), it is just based on events.
I created rules that change this particular item value to the name of the dashboard that habpanel should open. Something like this should also happen in the UI, maybe with UI “pages” instead of habpanel dashboards. Sorry that my first post did not explain the scenario correctly.
The serving mechanism and philosophy of the MainUI is different from HabPanel. Where in habpanel every connection to the panel stored on the server is the same and any change on one panel is reflected on all the others, in the MainUI each connection is a separate instance of the UI. So there’s not really any way for this item based mechanism to work any more. How is OH supposed to know which instance of the UI to bring up the new page on?
The closest you’re likely to come would be to use the
visible property on various widgets. This can be set via an expression so that each widget is only rendered under circumstances related to an item’s state and this does change automatically in response to item events. So this wouldn’t really be separate pages, but you might be able to put all the relevant pieces on one page and just only show the one you’re interested at any one time.
Thanks, I will try to work with the visible property. I use OH on my wall tablet rather to display information and events than interacting with it. Maybe I should go back to habpanel. I just love the performance and stability of the OH3 UI. That was always the main issue I had with habpanel. But your explanation about the UI makes sense. It is probably not made for this purpose I described.