Been running mine for over a year now; here’s how I got it setup on 3 different panels. Two are vertical and one is horizontally mounted.
Items:
// Vertical Tablets
Switch Bedroom_Mode_Switch "Upstairs Bedroom Mode [MAP(screen_dark_bright.map):%s]" (HomeState, Group_HabPanel_Dashboard) [ "Switchable" ]
String habpanelEx_Bedroom_V "[%s]" (HomeState, Group_HabPanel_Dashboard)
Switch Theater_Mode_Switch "Basement Theater Mode [MAP(screen_dark_bright.map):%s]" (HomeState, Group_HabPanel_Dashboard) [ "Switchable" ]
String habpanelEx_Basement_V "[%s]" (HomeState, Group_HabPanel_Dashboard)
// Horizontal Tablet
Switch LivingRoom_Mode_Switch "Livingroom Mode [MAP(screen_dark_bright.map):%s]" (HomeState, Group_HabPanel_Dashboard) [ "Switchable" ]
String habpanelEx_Livingroom_H "[%s]" (HomeState, Group_HabPanel_Dashboard)
Rules:
In Startup
// Setting Screen Saver Item Values
habpanelExConfig.postUpdate('{"config_item":"habpanelExConfig","initComplete":true,"isShowInDrawer":true,"screensaver":{"isEnabled":false,"timeoutSeconds":300,"dashboardList":"","durationSeconds":300,"isFullScreen":true},"theaterMode":{"isEnabled":true,"isOn":false,"color":"rgba(0,0,0,0.90)","triggeringItem":null},"panelConfigItem":"habpanelExConfig"}')
habpanelEx_Bedroom_V.postUpdate('{"config_item":"habpanelExConfig","initComplete":true,"isShowInDrawer":true,"screensaver":{"isEnabled":true,"timeoutSeconds":300,"dashboardList":"Basement-Vertical,Garage-Vertical,MainFloor-Vertical,Cameras-Vertical,Covid19-Vertical","durationSeconds":120,"isFullScreen":true},"theaterMode":{"isEnabled":true,"isOn":false,"color":"rgba(0,0,0,0.90)","triggeringItem":"Bedroom_Mode_Switch"},"panelConfigItem":"habpanelEx_Bedroom_V"}')
habpanelEx_Basement_V.postUpdate('{"config_item":"habpanelExConfig","initComplete":true,"isShowInDrawer":true,"screensaver":{"isEnabled":true,"timeoutSeconds":310,"dashboardList":"Basement-Vertical,Garage-Vertical,MainFloor-Vertical,Cameras-Vertical,Covid19-Vertical","durationSeconds":130,"isFullScreen":true},"theaterMode":{"isEnabled":true,"isOn":false,"color":"rgba(0,0,0,0.90)","triggeringItem":"Theater_Mode_Switch"},"panelConfigItem":"habpanelEx_Basement_V"}')
habpanelEx_Livingroom_H.postUpdate('{"config_item":"habpanelExConfig","initComplete":true,"isShowInDrawer":true,"screensaver":{"isEnabled":true,"timeoutSeconds":320,"dashboardList":"Our House,Cameras,Up Stairs,Basement,Loft,Garage,RainViewer,Stocks,Covid19","durationSeconds":140,"isFullScreen":true},"theaterMode":{"isEnabled":true,"isOn":false,"color":"rgba(0,0,0,0.90)","triggeringItem":"LivingRoom_Mode_Switch"},"panelConfigItem":"habpanelEx_Livingroom_H"}')
In Events:
// Turn Tablet Bright in Basement
Theater_Mode_Switch.postUpdate(OFF)
Thread::sleep(1500)
Theater_Mode_Switch.postUpdate(OFF)
// Turn Tablet Dim in Basement
Theater_Mode_Switch.postUpdate(ON)
Thread::sleep(1500)
Theater_Mode_Switch.postUpdate(ON)
The OH server really has nothing to do with the HabPanelEx plug-in. It’s strictly at the client side that is driven by item values. You have to go to the tablet (client) and configure HabPanelEx which it will get cached in the browser settings after you set it up.
Best, Jay