I am still investigating this issue but it looks like a bug.
Background
HabPanel allows OH to control the currently displayed Dashboard using one of the panel settings:
It is usually defined as an item such as:
String HabPanel_Screen "HabPanel Screen" <screen> (VirtualSwitch)
The idea is that changing the content of the string, HabPanel will switch to that Dashboard, should the string match an existing Dashboard. Simple, yet very powerful.
Sample use case
I was experimenting with a simple use case that I provide here only to illustrate how I got there.
Let’s consider I have 3 dashboards:
A
:Main
B
:Doors & Windows
C
:Foobar
Below I will refer to Dasboards A, B and C since what they are does not matter much.
In my case, usually, HabPanel shows Main
(A). When a door or window is opened, it will switch to Doors & Windows
(B). After N seconds, it will come back to Main
(A).
Nice story but that does not work.
The problem
The rule switching A → B works fine. A window is opened (for instance), OH will update the HabPanel_Screen
content and the B Dashboard will be shown.
So far, everthing works as expected.
The issue is related to coming back to Dashboard A. I am using a timer (but that part does not matter) and switching back to A is simply ignored.
The tests
I tested a few things without positive outcome so far:
- I tested on a few OS/Apps/Browsers from Android to MacOS and from OpenHab App to Browser. The results are consistent between platforms
- I carefully checked for typos obviously
- I made a new Dashboard (D), which is the copy of (A) and switching back and forth to (D) works fine
- rename the first panel (A) to something else
- I tested switching to (C) instead of (A) and that works all good
Those tests tend to suggest that there is either a bug and/or and issue with my first dashboard.
It would be helpful to know if others see the same issue or not.
The content of the Dashboards does not matter at all.
I opened the issue here: HabPanel not switching back to first dashboard · Issue #2569 · openhab/openhab-webui · GitHub