Hides the Home Assistant header and/or sidebar
Hides the header and/or sidebar drawer in Home Assistant lovelace dashboards.
Follow only one of two installation methods below, HACS or Manually:
If you want to learn how to install and set some basic configurations in
kiosk-modethrough a video, check the next one from @smarthomejunkie.
[!IMPORTANT]
- If you have
Home Assistant2025.5.1or greater installed, the minimum compatible version that you can install isKiosk Modev7.0.0. If you are in a lower version ofHome Assistant, the latest compatible version that you can install isv6.7.0.- If you have
Home Assistant2025.10.0or greater installed, the minimum compatible version that you can install isKiosk Modev8.0.0. If you are in a version ofHome Assistantbetween2025.5.1and2025.10.0, the latest compatible version that you can install isv7.4.0.- If you have
Home Assistant2026.2.0or greater installed, the minimum compatible version that you can install isKiosk Modev10.0.0. If you are in a version ofHome Assistantbetween2025.10.0and2025.1.3, the latest compatible version that you can install isv9.0.2.- If you have
Home Assistant2026.3.0or greater installed, the minimum compatible version that you can install isKiosk Modev11.0.0. If you are in a version ofHome Assistantbetween2025.2.0and2025.2.3, the latest compatible version that you can install isv10.0.0.- If you have
Home Assistant2026.6.0or greater installed, the minimum compatible version that you can install isKiosk Modev14.0.0. If you are in a version ofHome Assistantbetween2025.3.0and2025.6.0, the latest compatible version that you can install isv13.1.0.
Installation through HACS
If you have not disabled the My Home Assistant integration, just click on this link to go to the plugin's page, otherwise follow the next steps:
HACS dashboardKiosk Mode and click on itDownload yellow button in the bottom-right cornerDownload in the more-info dialogYAML mode or if HACS doesn't automatically add it, you'll need to add the resource manually:Go to your configuration.yaml file and add the url of the plugin as an extra_module_url:
frontend:
extra_module_url:
- /hacsfiles/kiosk-mode/kiosk-mode.jsManual installation
www folderSettings > DashboardsResourcesADD RESOURCE on the bottom-right of the screen/local/kiosk-mode.js?v=1.0.0)?v=1.0.0) because in this way you make Home Assistant to load the new version instead of a version stored in cacheGo to your configuration.yaml file and add the url of the plugin as an extra_module_url:
# You should update the version number at the end of the url
# after every update to avoid the old version being cached by Home Assistant
frontend:
extra_module_url:
- /local/kiosk-mode.js?v1.0.0If you have trouble installing please read this guide
2023.12.0 it is possible to access the raw config of a "Default dashboard" controlled by Home Assistant. It is important to remark that any configuration that you add to these kinds of dashboards will be ignored so kiosk-mode will not be able to read it. You need to create a "New dashboard from scratch" controlled by you to make it work with kiosk-mode.?disable_km to the end of your URL.kiosk_mode: should not be indented & is per dashboard.YAML mode users need to add the configuration manually to the lovelace dashboard file in which they want to enable kiosk-mode. Non-YAML users (Storage Mode) need to add the configuration to each lovelace panel going to Edit dashboard option (pencil icon on the top-right of the screen). Once in Edit Dashboard mode, click on the top-right three-dots button and select Raw configuration editor.
kiosk_mode:
hide_header: true
hide_sidebar: '{{ is_state("input_boolean.hide_sidebar", "on") }}'
views:Note: views: is added in the example above to show where kiosk_mode: should be placed in your Lovelace config
All the options, excluding debug_template, can be set as a boolean and all of them are false by default. Excluding ignore_mobile_settings and ignore_disable_km, all the options can be set as a JavaScript or a Jinja template that returns a boolean.
Note: If you set the option as a string but it is not a valid JavaScript or Jinja template, the library will throw an error. If you set a
JavaScriptor aJinjatemplate and it doesn't return a boolean, the option will be set as false and a warning will be thrown.
| Config Option | Description |
|---|---|
kiosk |
Hides both the header and sidebar. |
hide_header1 |
Hides only the header. |
hide_sidebar |
Hides only the sidebar. |
hide_menubutton1 |
Hides only the sidebar menu icon. |
hide_settings |
Hides the settings item. |
hide_notifications |
Hides the notifications entry-point. |
hide_account |
Hides the account icon. |
hide_search |
Hides the search icon. |
hide_assistant |
Hides the assistant icon. |
hide_overflow |
Hides the top right overflow menu. |
block_overflow |
Blocks the top right overflow menu mouse interactions. |
hide_refresh |
Hides the "Refresh" button inside the top right overflow menu in lovelace yaml mode. |
hide_unused_entities |
Hides the "Unused entities" button inside the top right overflow menu in lovelace yaml mode. |
hide_reload_resources |
Hides the "Reload resources" button inside the top right overflow menu in lovelace yaml mode. |
hide_edit_dashboard |
Hides the "Edit dashboard" button inside the top right overflow menu. |
hide_add_to_home_assistant |
Hides the "Add to Home Assistant" overflow menu |
block_mouse |
Blocks completely the mouse. No interaction is allowed and the mouse will not be visible. Can only be disabled with ?disable_km query parameter in the URL.. |
block_context_menu |
Prevents opening a right-click context menu (sometimes accessible via tap-and-hold on touchscreen devices). |
hide_dialog_header_breadcrumb_navigation2 |
Hides the breadcrumb navigation over the title of more-info dialogs |
hide_dialog_header_history |
Hides the "History" icon in the header of more-info dialogs. |
hide_dialog_header_add_to |
Hides the "Add to" icon in the header of more-info dialogs. |
hide_dialog_header_settings3 |
Hides the "Settings" icon in the header of more-info dialogs. |
hide_dialog_header_overflow3 |
Hides the top right overflow menu in the header of more-info dialogs. |
hide_dialog_header_action_items |
Hides all the action items from the header of more-info dialogs. |
hide_dialog_history |
Hides the "History" section in the more-info dialogs. |
hide_dialog_history_show_more |
Hides the "Show more" link in the "History" section of more-info dialogs. |
hide_dialog_logbook |
Hides the "Logbook" section in the more-info dialogs. |
hide_dialog_logbook_show_more |
Hides the "Show more" link in the "Logbook" section of more-info dialogs. |
hide_dialog_media_actions |
Hides the actions block in the more-info dialogs of media-player entities. |
hide_dialog_update_actions |
Hides the actions block in the more-info dialogs of update entities. |
hide_dialog_camera_actions |
Hides the actions block in the more-info dialogs of camera entities. |
hide_dialog_timer_actions |
Hides the actions block in the more-info dialogs of timer entities. |
hide_dialog_climate_actions |
Hides all the actions in the more-info dialogs of climate entities. |
hide_dialog_climate_temperature_actions |
Hides the temperature cotrol actions in the more-info dialogs of climate entities. |
hide_dialog_climate_settings_actions |
Hides the mode and preset actions in the more-info dialogs of climate entities. |
hide_dialog_light_actions |
Hides all the actions in the more-info dialogs of light entities. |
hide_dialog_light_control_actions |
Hides the control actions in the more-info dialogs of light entities. |
hide_dialog_light_color_actions |
Hides the favorite colors actions in the more-info dialogs of light entities. |
hide_dialog_light_settings_actions |
Hides the settings actions in the more-info dialogs of light entities. |
ignore_disable_km4 |
Useful for conditional configs and will cause disable_km URL parameter to be ignored. |
ignore_mobile_settings4, 5 |
Useful for conditional configs and will cause mobile_settings to be ignored. |
debug6 |
Useful for debugging purposes. Check the debugging section. |
debug_template6 |
Useful for debugging purposes. Check the debugging section. |
1 Take into account that swipe gesture to open the sidebar was removed from Home Assistant in version 2023.4, if you hide the header or the sidebar menu icon, you will not have any way to access the sidebar natively in a browser.
2 These elements are not clickable if the account is not an admin account.
3 These elements are not visible by de
No open issues yet, or sync has not completed.