Skip to content

Initial Release

Latest

Choose a tag to compare

@cataseven cataseven released this 25 Jan 19:34
ea00a18

Navigate Anywhere

Small frontend helper for Home Assistant that adds coordinate-based scrolling to normal Home Assistant Lovelace navigation.

You can keep using the built-in navigate action. Just simply add the coordinate to end of line

Before

tap_action:
  action: navigate
  navigation_path: /lovelace/alarm

…but now you can add x / y coordinates to the URL and the view will automatically scroll to that position:

After

tap_action:
  action: navigate
  navigation_path: /lovelace/alarm?y=800

The helper runs entirely in the browser. No backend changes, no integration, no AppDaemon, no Extra Card – just a Lovelace resource.

Before After
before after

Features

  • Works with the normal navigate action (no custom actions).

  • Scrolls the active Lovelace view to a given vertical (y) or horizontal (x) offset.

  • Supports both:

    • x / y
  • After scrolling, it automatically removes the scroll parameters from the URL so other views are not affected.

  • Works with:

    • default dashboards,
    • panel mode,
    • Home Assistant mobile app (as long as custom resources are loaded normally).

Installation

1. Via HACS (recommended)

  1. In HACS, go to FrontendCustom repositories.
  2. Search for the repository
  3. Install “Navigate Anywhere”.

Usage

The helper hooks into the normal Lovelace navigation flow.

You can keep using:

tap_action:
  action: navigate
  navigation_path: /lovelace/alarm

But Now you can add query parameters:

Vertical scroll (y)

Scroll the view to 800 pixels from the top:

type: <<Any Card You Use, you don't need any extra card or integration>>
tap_action:
  action: navigate
  navigation_path: /lovelace/alarm?y=800  <<`just add coordinate: ?y=800`>>

Horizontal scroll (x)

Scroll horizontally to 300 pixels:

type: button
name: Go to X=300
tap_action:
  action: navigate
  navigation_path: /lovelace/alarm?x=300

Both X and Y

Scroll to a specific coordinate:

type: button
name: Go to (300, 900)
tap_action:
  action: navigate
  navigation_path: /lovelace/alarm?x=300&y=900

How it behaves

  • When the dashboard loads or navigation happens, the script:

    1. Checks the current URL for any of these parameters:

      • x, y
    2. Waits a short time so the view can render.

    3. Scrolls the Lovelace view (or window as fallback) to the specified coordinates.

Examples

Example 1 – Jump to a section on a long dashboard

type: button
name: Go to Cameras section
icon: mdi:cctv
tap_action:
  action: navigate
  navigation_path: /lovelace/security?y=1200

Example 2 – From a “summary” dashboard to a “details” dashboard

type: button
name: Alarm Details
tap_action:
  action: navigate
  navigation_path: /lovelace/alarm-details?y=600

This opens the alarm-details view and scrolls directly to the relevant section.


Credits

Made as a tiny helper for people who:

  • Build long vertical or horizontal dashboards
  • Use tablets / wall panels
  • Want dashboards to open at a specific scroll offset

…without touching backend or writing custom actions.

License

Apache-2.0 license