A flexible 3D floorplan system for Home Assistant with room management, entity positioning, and location tracking via Bermuda BLE trilateration.
-
Via HACS (recommended):
- Go to HACS → Integrations
- Search for "Floorplan"
- Install and restart Home Assistant
-
Manual:
- Copy
custom_components/floorplanto your custom_components folder - Restart Home Assistant
- Copy
- Go to Settings → Devices & Services → Create Integration
- Search for and select "Floorplan"
- Choose whether to enable Bermuda location provider
- Done! Now configure your floorplan in YAML
Create floorplan/floorplan.yaml in your Home Assistant configuration directory (see floorplan.yaml.example for a complete example):
Auto-reload enabled: The integration automatically watches for changes to
floorplan.yamland reloads every 2 seconds. You can also manually reload using thefloorplan.reloadservice.
floors:
ground_floor:
height: 2.4 # Ceiling height in meters (friendly names auto-fetched from HA)
1st_floor:
height: 5.2 # First floor ceiling height (2.4m ground + 2.8m floor height)
rooms:
living_room:
name: Living Room # Optional - uses area name from HA if omitted
floor: ground_floor
area: living_room # Links to Home Assistant area
boundaries:
- [0, 0]
- [10, 0]
- [10, 8]
- [0, 8]
kitchen:
floor: ground_floor
area: kitchen # Room name auto-fetched from area registry
boundaries:
- [10, 0]
- [15, 0]
- [15, 5]
- [10, 5]
static_entities:
light.living_room:
coordinates: [5, 4, 1.8]
camera.front_door:
coordinates: [0, 0, 2.2]
moving_entities:
beacon_nodes:
"D4:5F:4E:A1:23:45":
coordinates: [12, 2.5, 2.0]
"A3:2B:1C:F9:87:56":
coordinates: [5, 4, 2.0]Coordinate Format: [X, Y, Z] all in meters
- X/Y: Horizontal position in your home
- Z: Absolute height from ground level (not relative to floor)
- Floor Heights: Represent ceiling heights for beacon/entity filtering
- 📐 Room Management - Define room boundaries with 3D coordinates
- 🏠 Multi-Floor Support - Manage multiple floors with different heights
- 📍 Entity Positioning - Position any Home Assistant entity in 3D space
- 📡 Location Tracking - Track moving entities using Bermuda BLE trilateration
- 🎨 Lovelace Card - Render your floorplan as an interactive 2D view
- 🔗 HA Integration - Auto-fetches floor and room names from Home Assistant registries
- 📖 Installation & Configuration - Detailed setup and YAML reference
- 🔌 Services Reference - Complete list of available services
- 🧠 Architecture & Design - How the system works internally
- 📡 Location Providers - Bermuda and future providers
Display your floorplan on the dashboard:
- Install via HACS → Frontend → search "Floorplan Card"
- Add to your dashboard:
type: custom:floorplan-card
floor_id: ground_floor
title: My FloorplanSee home-assistant-floorplan-card for details.
MIT