Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
K

kiosk-mode

> 编程语言
Open source

Hides the Home Assistant header and/or sidebar

770 stars0 likes1 views
WebsiteGitHub

About

Hides the Home Assistant header and/or sidebar

kiosk-mode

Hides the header and/or sidebar drawer in Home Assistant lovelace dashboards.

Installation

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-mode through a video, check the next one from @smarthomejunkie.

[!IMPORTANT]

  1. If you have Home Assistant 2025.5.1 or greater installed, the minimum compatible version that you can install is Kiosk Mode v7.0.0. If you are in a lower version of Home Assistant, the latest compatible version that you can install is v6.7.0.
  2. If you have Home Assistant 2025.10.0 or greater installed, the minimum compatible version that you can install is Kiosk Mode v8.0.0. If you are in a version of Home Assistant between 2025.5.1 and 2025.10.0, the latest compatible version that you can install is v7.4.0.
  3. If you have Home Assistant 2026.2.0 or greater installed, the minimum compatible version that you can install is Kiosk Mode v10.0.0. If you are in a version of Home Assistant between 2025.10.0 and 2025.1.3, the latest compatible version that you can install is v9.0.2.
  4. If you have Home Assistant 2026.3.0 or greater installed, the minimum compatible version that you can install is Kiosk Mode v11.0.0. If you are in a version of Home Assistant between 2025.2.0 and 2025.2.3, the latest compatible version that you can install is v10.0.0.
  5. If you have Home Assistant 2026.6.0 or greater installed, the minimum compatible version that you can install is Kiosk Mode v14.0.0. If you are in a version of Home Assistant between 2025.3.0 and 2025.6.0, the latest compatible version that you can install is v13.1.0.

Installation through HACS

Go to the HACS plugin's page

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:

  1. Go to HACS dashboard
  2. Search for Kiosk Mode and click on it

Install the plugin

  1. On the plugin page, click on the Download yellow button in the bottom-right corner
  2. Click on Download in the more-info dialog
  3. If you are using YAML 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:

yaml
frontend:
  extra_module_url:
    - /hacsfiles/kiosk-mode/kiosk-mode.js

Manual installation

  1. Download kiosk-mode.js from the latest release and place it in your www folder
  2. Add the resource:

If you are in storage mode (default mode)

  1. Go to Settings > Dashboards
  2. Click on the three dots located on the top-right corner and then click on Resources
  3. Click on ADD RESOURCE on the bottom-right of the screen
  4. Add the URL to the file that you have downloaded previously (e.g /local/kiosk-mode.js?v=1.0.0)
  5. Make sure you add the correct version at the end of the URL (e.g. ?v=1.0.0) because in this way you make Home Assistant to load the new version instead of a version stored in cache

If you are in yaml mode

Go to your configuration.yaml file and add the url of the plugin as an extra_module_url:

yaml
# 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.0

If you have trouble installing please read this guide

Important Info

  • Since Home Assistant 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.
  • If you need to disable Kiosk-Mode temporarily add ?disable_km to the end of your URL.
  • Config is placed in the root of your Lovelace config: kiosk_mode: should not be indented & is per dashboard.
  • If you want the same settings on other dashboards you'll need to repeat the config on those dashboards as well.
  • Refresh page after config changes.

Simple config example

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.

yaml
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

Config Options

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 JavaScript or a Jinja template 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

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScriptcustomizationhacs

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言