Visualizing presence and location of household members in Home Assistant dashboards is a common need that many users find tricky to achieve with default cards. The Person Tracker Card project offers a focused solution: a customizable dashboard card that surfaces person entities with rich sensor data from the Home Assistant Companion App, presenting presence, location, and activity in a clear, configurable layout.
What the person tracker card does and how it integrates with Home Assistant
Person Tracker Card is a frontend custom card written in JavaScript designed specifically for Home Assistant dashboards. It extends the dashboard UI by providing a more detailed and dynamic visualization of person entities compared to the built-in cards.
Under the hood, it leverages data exposed by the Home Assistant Companion App, which enhances person entities with various sensors such as GPS location, motion, and device status. The card auto-detects these sensors and presents them in a user-friendly layout, allowing users to pick a person entity and configure which sensors to display.
The architecture is typical of modern Home Assistant custom cards: JavaScript modules loaded as resources into the Lovelace dashboard. This means it runs entirely in the browser, interacting with the Home Assistant frontend API to pull entity states and update in real-time.
The stack is lightweight: just two JavaScript files (person-tracker-card.js and person-tracker-card-editor.js), which handle the card rendering and the card configuration editor respectively. This simplicity keeps the footprint small and the integration smooth.
Technical strengths and design tradeoffs
One of the card’s main strengths is its seamless integration with the Companion App’s sensors. By auto-detecting relevant sensors tied to a person entity, it saves users from manually specifying many sensor entities. This improves the developer experience and reduces setup errors.
It also supports dynamic entity pictures via YAML templates, which means you can customize the visual representation of each person based on their state. For example, swapping GIFs depending on presence state adds personality to your dashboard.
The code is surprisingly clean for a UI card of this scope, with clear separation between the card component and the editor component. The use of JavaScript modules aligns with modern frontend practices recommended by Home Assistant.
The tradeoff here is the manual installation process if you prefer not to use the Home Assistant Community Store (HACS). Manual steps require copying files to the right directory and updating Lovelace resources, which can be error-prone. However, HACS installation is straightforward and recommended.
Another limitation is the dependency on the Companion App sensors. If you don’t use the Home Assistant mobile app or don’t expose sensors for your person entities, the card’s richness diminishes.
Quick start with Person Tracker Card
Installation can be done via HACS, which is the recommended path for most users.
Via HACS (Recommended)
Note: If the HACS button doesn’t work, follow the manual installation steps below.
- Open HACS in your Home Assistant UI.
- Click the ⋮ menu in the top right and choose Custom repositories.
- Add the repository URL:
https://github.com/djdevil/person-tracker-card. - Set the category to Dashboard and click Add.
- Search for
Person Tracker Cardand click Download. - Restart Home Assistant to apply the changes.
Manual installation
Download the files
person-tracker-card.jsandperson-tracker-card-editor.jsfrom the repository.Copy them to your Home Assistant
config/www/person-tracker-card/directory.Add a new Lovelace resource:
- Path:
/local/person-tracker-card/person-tracker-card.js - Type: JavaScript Module
- Path:
Hard refresh your browser (Ctrl+Shift+R) to load the new resource.
Using the card in your dashboard
In the Lovelace UI editor:
- Edit your dashboard and add a new card.
- Search for Person Tracker Card.
- Select a person entity to track.
- Choose a layout and configure which sensors to display.
You can also customize the entity picture dynamically with YAML templates, for example:
entity_picture: /local/marco-home.gif
Or use a template sensor to swap images based on state.
Verdict
Person Tracker Card is a practical, focused tool for Home Assistant users who want more detailed presence and location visualization on their dashboards. It fills a niche where the default person cards fall short by integrating Companion App sensors and providing flexible layouts.
The installation via HACS is smooth and recommended, but the manual steps are clearly documented for those preferring direct control. The reliance on the mobile app’s sensors is a limitation, so it’s best suited for setups that already use the Companion App extensively.
Overall, if you use Home Assistant and want to enhance your dashboard’s person tracking capabilities with minimal fuss and a clean UI, this card is worth exploring. It’s a solid example of how custom cards can extend Home Assistant’s frontend with targeted, practical features.
Related Articles
- Dashy: A YAML-driven self-hosted dashboard for homelab organization — Dashy uses a single YAML config to unify homelab service access with real-time monitoring, multi-page layouts, and SSO.
- Exploring the Steam Deck Guide: a community-driven resource for Linux-based gaming customization — The Steam Deck Guide provides a comprehensive, community-driven resource for optimizing and customizing Valve’s Linux-ba
- Maigret: A resilient OSINT username scraper across thousands of sites — Maigret is a Python-based OSINT tool that scrapes public profiles by username from 3,000+ sites without API keys. It fea
- ROMP: from real-time monocular 3D human mesh recovery to temporal tracking with dynamic cameras — ROMP evolves monocular multi-person 3D mesh recovery from single-frame regression to temporal tracking under dynamic cam
- GeoPulse: A lightweight self-hosted platform for GPS data to movement timeline transformation — GeoPulse turns raw GPS data from multiple sources into searchable timelines of stays and trips using automatic trip dete
→ GitHub Repo: djdevil/person-tracker-card ⭐ 199 · JavaScript