Kiosk mode

Thanks @anon94216691, but we can’t hide the ACCESS to the the sidebar, right ? When I hide the sidebar, people can ‘expand’ the 3-lines and view, change, delete

Kr,

Bart

Hi, Sireone. Thanks for pointing this out. I just got this up and running. It seems to work well, but requires a tap to the screen to bring it to life. Have you got this working with motion detection? Seems like a near-perfect solution.

It was actually simpler that. I use WallPanel for the tablets. In the URL, I simply add ?kiosk at the end and the sidebar/header is removed for that user only.

i use walpanel for android with the kiosk mode from hacs, works out of the box.

walpanel can be the home app on android devices. its menue can be code locked.

it supports video streams, but that does not work reliably. it handles post and mqtt commands, can speakt and for screensafer it can dim, pcitures websites or off and motion or face detection to trigger it to start again.

this in combination with the kiosk mode with the kiosk true setting is about what i want as a kiosk panel.

if you dont know the code, its almost impossible to brake out of that. even if you know, you may make it to the android settings, and such, but you cant open other apps or change stuff in ha.

one thing, both apps are not activly maintained right now. but as long as it works, i dont care.

Is this integration still active? It appears the new 23.04.01 has broken it on my setup. Anyone else experiencing the same thing? I could switch over to browser mod, but I prefer this implementation much better.

1 Like

As you can see, the last update is from Oct 2021 (GitHub - maykar/kiosk-mode: 🙈 Hides the Home Assistant header and/or sidebar)

With Browser_mod you can hide the header and sidebar.

I’m also experiencing problem after upgrading to 2023.04.x. I see the following error message in the logs that might be of any help, for a trained eye.

ERROR (MainThread) [frontend.js.latest.202304061] https://xxxxxxx.duckdns.org:8123/local/kiosk-mode.js?v=1.7.2:57:96 Uncaught TypeError: Cannot read properties of null (reading 'querySelector')

Acording to a discution under:
Hide title bar / black bar at top (That also links to this solution with Kiosk mode)

The post from [diamonddrake] posted 6. April, has a link to a temporary fix for a updated kiosk-mode.js file:

Tried to replace my kiosk-mode.js, but I seem to still have the same problem


3 Likes

Got it to work for me.

After updating my kiosk-mode.js in my www folder, I had to go to “Configuration/[Lovelace ]Dashboards”. In the top right corner, click the “
”, and choose Recourses. I found my old kiosk-mode.js line, and updated it with the version number I found in the new kiosk-mode.js to image

6 Likes

Well done. This worked for me as well.

Thank you.

good find. thank you!

I had an issue as well since the new update, but all i had to do was uninstall kiosk mode and re isntalle it again and voila!!!
Thank you Guys!

Has anybody implemented a solution to toggle kiosk mode with a button?

What I can do is navigate to a dashboard side with ?kiosk at the end of the url.
This will not activate the kiosk mode immediately but after a browser refresh it’s active.

What I’m looking now is a more professional solution, maybe via a script with browser_mod or something like that.

Hi, how are you enabling kiosk mode, what are you using?

With browser_mod, switching from header on needs a browser refresh but from on → off works without any additional action.

I’m doing that: using browser_mod to send a refresh if needed.

I put the remote on a dashboard page which includes a button that links to the non-kiosk url:
https://my-hass.com/my-remote/Home?disable_km

This is the solution I found in the meantime:

kiosk_mode:
  entity_settings:
    - entity:
        input_boolean.kiosk_mode: 'on'
      kiosk: true
    - entity:
        input_boolean.kiosk_mode: 'off'
      kiosk: false

I’m not sure why you say “in the meantime”. This seems to be the correct solution. Thanks for posting.

For anyone using Kiosk mode with the Universal Remote Card, here is how I configure that to show a title for the remote which is also a toggle for kiosk mode:

        custom_actions:
          - type: button
            name: nav_home
            autofill_entity_id: true
            tap_action:
              action: toggle
              target:
                entity_id: input_boolean.family_remote_kiosk
            label: Family
            icon: ''
            styles: |
              :host {
                background: #a0852b;
                border-radius: 4px;
                --size: 14px;
              }
              .label {
                font-size: 20px;
                color: white;
                margin: 0 40px 10px 40px;
              }

Version 9.0.0 now breaks this code. Instead, use the following


kiosk_mode:
  kiosk: '[[[ is_state("input_boolean.kiosk_mode", "on") ]]]'

With the changes to the integration, how do we now use an input_boolean helper to “show” the sidebar and header? I can’t seem to find a way. This broke all of my helpers to hide and unhide the sidebar and header. I can hide, but I can’t unhid with the new Jinja syntax.