Floor plans are a natural way to visualize your home automation status, but manually creating and maintaining them for Home Assistant can be tedious. The home-assistant-floor-plan plugin tackles this by automating the generation of floor plan images and YAML configurations you can plug directly into Home Assistant’s picture-elements cards. It’s a Java-based tool that streamlines turning architectural models into interactive home automation dashboards.
what home-assistant-floor-plan does and how it works
This plugin is designed as a Java application that processes architectural models to produce floor plan visuals compatible with Home Assistant. It transforms your building or room model into a set of images and a YAML configuration file that Home Assistant can consume to build picture-elements cards — these cards let you overlay entities like sensors or switches on the floor plan.
Architecturally, the tool runs as a plugin that you start from the “Tools” menu within its environment. The plugin expects your architectural model to meet certain criteria so it can correctly interpret spaces and elements to include in the floor plan. After configuration, it outputs image files under a floorplan folder along with a floorplan.yaml file.
The stack is Java-based, which suggests cross-platform compatibility and integration flexibility with existing Java tooling. The plugin does not require complex external dependencies beyond the Java runtime and your Home Assistant setup.
technical strengths and design tradeoffs
One of the key strengths is the automation it brings to a previously manual, error-prone process. Generating floor plan images and YAML configurations by hand is tedious and fragile, especially as your home layout evolves. This plugin reduces that friction by producing all required assets with a few clicks.
The plugin’s user interface integrates into a familiar environment via the “Tools” menu, enhancing discoverability for users already working with compatible modeling tools. The configuration options let you tailor the output to your needs, though you must ensure your model fits the plugin’s expected criteria — this is a tradeoff that requires some upfront work and understanding of your architectural data.
Code quality appears pragmatic and focused on the core use case. The plugin outputs standard Home Assistant-compatible picture-elements YAML, avoiding proprietary formats and keeping integration straightforward. Since it’s Java-based, it likely benefits from established Java libraries and tooling for image and file manipulation.
A limitation is the manual step of copying generated images from the floorplan folder to the Home Assistant path and then creating the picture-elements card manually. While not a big hurdle, it does require users to be comfortable with Home Assistant’s YAML and UI editing.
Overall, the plugin focuses on solving a practical problem with a clear workflow rather than aiming for an all-in-one integrated smart home solution. This focus is a strength—keeping it simple and compatible—but it means some manual steps remain.
how to get started with home-assistant-floor-plan
Follow these exact steps from the README to start using the plugin:
## How To Use The Plugin
1. Download the latest plugin from the releases page
and install it
2. Prepare your model to fit with the criteria of this plugin
3. Start the plugin by clicking the "Tools"->"Home Assistant Floor Plan" menu
4. Modify the configuration options accordingly
5. Click "Start"
6. Copy all images under `floorplan` folder to your Home Assistant path
7. Create a card of type `picture-elements` in Home Assistant and paste the
contents of the generated `floorplan.yaml`
These steps emphasize that the plugin acts as a converter from your architectural model to Home Assistant assets. The process requires some manual model preparation and post-processing, reflecting a clear but not fully automated workflow.
verdict
home-assistant-floor-plan is a pragmatic tool for Home Assistant users who want to incorporate floor plans into their dashboards without building everything manually. It’s particularly relevant if you already have architectural models and want to leverage them for smart home visualization.
The plugin’s Java foundation and integration via a familiar “Tools” menu make it accessible, though you should be comfortable with manual configuration and Home Assistant YAML editing. It doesn’t fully automate the entire pipeline—some manual copying and card creation are required—which is a fair tradeoff for maintaining compatibility and simplicity.
If you value automating tedious parts of floor plan generation and are fine with some prep work and manual integration, this plugin is worth exploring. However, if you seek a fully integrated or cloud-based solution, you may find this approach limited.
Overall, home-assistant-floor-plan offers a straightforward way to bridge architectural modeling and Home Assistant dashboards, solving a specific pain point in smart home visualization workflows.
Related Articles
- Spatial organization for home data with a self-hosted Django app — Home Information offers a spatial, local-first way to organize home manuals, warranties, and controls via a Django app i
- How IKEA-3D-Model-Download-Button extracts and downloads GLB models from IKEA product pages — A Tampermonkey userscript adds a download button for IKEA’s 3D models, hooking into their viewer to fetch GLB URLs and e
- Exploring Three.js morph target resizing in a React 3D room designer — This repo combines a 2D floor plan editor with a 3D room configurator using React and Three.js, featuring morph target-b
- Open Carrusel: a local AI-powered Instagram carousel builder with Claude Code subprocess — Open Carrusel is a local-first Instagram carousel builder using Claude Code as an AI subprocess to generate HTML/CSS sli
- 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.
→ GitHub Repo: shmuelzon/home-assistant-floor-plan ⭐ 1,028 · Java