Skip to content

BenWolstencroft/home-assistant-floorplan

Repository files navigation

Home Assistant Floorplan Integration

A flexible 3D floorplan system for Home Assistant with room management, entity positioning, and location tracking via Bermuda BLE trilateration.

Quick Start

Installation

  1. Via HACS (recommended):

    • Go to HACS → Integrations
    • Search for "Floorplan"
    • Install and restart Home Assistant
  2. Manual:

    • Copy custom_components/floorplan to your custom_components folder
    • Restart Home Assistant

Setup

  1. Go to Settings → Devices & Services → Create Integration
  2. Search for and select "Floorplan"
  3. Choose whether to enable Bermuda location provider
  4. Done! Now configure your floorplan in YAML

Basic Configuration

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.yaml and reloads every 2 seconds. You can also manually reload using the floorplan.reload service.

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

Features

  • 📐 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

Documentation

Lovelace Card

Display your floorplan on the dashboard:

  1. Install via HACS → Frontend → search "Floorplan Card"
  2. Add to your dashboard:
type: custom:floorplan-card
floor_id: ground_floor
title: My Floorplan

See home-assistant-floorplan-card for details.

Support

License

MIT

About

A Home Assistant integration for managing and storing 3D floorplans with room boundaries and floor levels.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages