How To: Fast Switch Between Dashboards with Fully Kiosk Browser

Hi James, I didn’t see any setting that purge cache.

Can you share screenshots or PM @support the Rule ID so we can take a closer look?

Redirecting to the login page sounds like what you would expect with a typo somewhere in the config.

I found the issue, no encoding needed but I’m missing the leading forward slash from this:

javascript:postMessage({action:'navigate', route: { path: '/dashboard/view/xxxxxxx'}})

I’m not sure where I copied the first url without the ‘/’

2 Likes

Is it possible to do this fast switching from within Home Assistant? I tried to uses the javascript within a loadUrl service call but it said that it was an invalid URL:

javascript:postMessage({action:'navigate', route: { path: '/dashboard/view/ABC12345678'}})

I assume you’re using the cgarwood integration – either from HACS or installed manually? From a quick review, it looks like their load_url() service requires that the input be in a traditional URL format.

You could either raise the issue on their GitHub… or if you’re familiar with tinkering with Home Assistant custom components, you can modify the integration in your custom_components.

Integration Modification (tap to expand)

Around line 52 of /custom_components/fullykiosk/media_player.py, you could change:

platform.async_register_entity_service(
    SERVICE_LOAD_URL, {vol.Required(ATTR_URL): cv.url}, "async_fullykiosk_load_url"
)

To allow a string instead of a url:

platform.async_register_entity_service(
    SERVICE_LOAD_URL, {vol.Required(ATTR_URL): cv.string}, "async_fullykiosk_load_url"
)

Don’t forget to restart your Home Assistant instance so it picks up the new changes.

Thanks Josh, might try the tinkering. Just wondering though, if you change the custom components and then there is an update for the Fully integration, will that overwrite the change that I make?

Yes, I suspect that updates to the integration would overwrite your customizations.

Is there anyway to use this method to load a screensaver. I have a sharptools dashboard as my main screen, but prefer to use a different dashboard as the screensaver. When I do this, its goes through the blue banner loading screen as it loads.

Is there a similar way to get the screensaver to load quickly?

If you’re using it with the screensaver setting in Fully Kiosk, that’s going to be up to how Fully Kiosk handles things. I suspect they load a fresh browser ‘tab’ for the screensaver which is why you see the full loading.

In theory, you could create a rule to use the fast dashboard switching to change which dashboard is displayed rather than using the screensaver feature. I suppose the biggest question would be what events you use for triggering things though – maybe a lack of motion for X minutes as the “screensaver” start and active motion as the “screensaver” end.

Otherwise you could reach out to Fully Kiosk support and see if they have any ideas / suggestions. It looks like their JavaScript API has events for onScreensaverStart and stop, so in theory you could inject a bit of script (using Fully Kiosks Inject Script feature) to do the navigation all within the browser. That’s well outside the scope of SharpTools though. :slight_smile:

1 Like

Dusting off an old thread here… I’ve been playing around with loading urls and change the tab that has focus in Fully Kiosk. Works great on my local network. For example:

http://192.168.87.249:2323/?cmd=focusTab&tab=1) jumps to the second loaded tab and http://192.168.87.249:2323/?cmd=loadUrl&url=javascript:postMessage({action:'navigate', route: { path: '/dashboard/view/XXXX'}}) loads a new tab with that browser.

Next step, since there’s no longer a loadURL command in the SharpTools dropdown, how do I get a SharpTools rule to run those commands?

What do you mean by this part? If you mean the Groovy driver doesn’t exist anymore, you could switch over to the Edge Driver I put together in my spare time. I added you to the beta group so you can access it:

https://community.sharptools.io/t/beta-smartthings-fully-kiosk-driver/10918?u=josh

Ah, okay I switched to the Edge Driver and got it working again.

Everything works great but I have noticed the createDevice creates two devices each time the rule is run. And the Fully command /?cmd=loadUrl&url=[url]&newtab=[true|false]&focus=[true|false] opens two new tabs instead of one. I dont know if that’s a driver feature or something on Fully’s end.

Question on how people are using the Fast Switching. Are you using this with multiple devices that are showing different information?

For example, in my case I have 3 displays that all show different information. The one constant on the devices is a Menu tile that opens a modal window with the option to jump to any other dashboard (my Dashboard of Dashboards). Since I have 3 displays running FKB I created three variations of the Menu tile, so I could target the correct display (i.e. FKB device) in the rule. Otherwise, using a single Menu tile opens the Dashboard of Dashboards on all three tables.

Here you can see I have three rules, each triggered by one of the three Menu tiles:

Am I doing this wrong?