Houseplan - interactive floor plan

Hi everyone! I’d like to show you my new Home Assistant component — an interactive house plan — and gather some feedback.

demo-new

What makes it different from the alternatives?

First, you build the plan with no code at all: no YAML configuration, no layer-by-layer assembly in graphic editors. Everything is done with clicks, right in the card. And the setup is partially automated: once you outline a room and bind it to an area, the devices of that area place themselves inside it.

Besides the devices you already have in Home Assistant, you can add virtual ones — say, a plain fridge with no Wi-Fi, a breaker panel, or any other appliance. Every device can carry attached documents and a link to the manufacturer’s site, so the plan doubles as a knowledge base for your home: you always know where to find the manual for any device.

And of course, it’s interactive. The devices on the plan actually work: you can switch lights, toggle outlets and more, right from the map. You can also bind any device to run your own automation, script or scene on tap.

A note on how it was built: the project is written entirely with Claude — there is no hand-written code at all. That said, I aimed for the highest code quality I could get, sparing no tokens: the latest models, constant cross-review by other models, plus unit and smoke tests that run before every release. Still, my testing abilities are limited, so the product is admittedly a bit rough around the edges — if you hit a bug, don’t be scared off, just report it and I’ll fix it as fast as I can.

Looking forward to your feedback!

GitHub: GitHub - Matysh/houseplan-card: Interactive floor plan card for Home Assistant (HACS): draw rooms with your mouse, live device states, tap-to-toggle lights, glowing light pools, room climate cards, doors & locks, kiosk mode for wall tablets. No YAML, no Inkscape. · GitHub
Support chat: Telegram: View @ha_houseplan

2 Likes

Nice project, i like the dynamic approach of placing a device/ entity.
Is it possible (or planned) to add some devices dynamically on the card (e.q. vacuum robots, who can be in different places) based on provided coordinates?

2 Likes

Thanks fot the response.
I got the newest version installed.
Unfortunatelly i don’t find any dynamic coordinates input when editing a device on the plan.
Am I in the correct area to configure this? Can you maybe provide an example or screenshot?

Hi! You’re close — there is no manual coordinates input by design. The live position is configured in a dedicated section that appears automatically, and the coordinate binding is solved for you. Here’s how it works:

Open the Device editor and click your vacuum’s marker to open its dialog. The spot where you place the marker is the dock — the marker itself never moves.
If the device is a vacuum, you’ll see a section called “Robot vacuum: live position”. Its status line tells you whether a position source was found. The card auto-detects entities that report vacuum_position — this comes from integrations like Xiaomi Cloud Map Extractor, dreame-vacuum (Tasshack) or a Valetudo map camera. The stock/core vacuum integration alone usually does not expose coordinates — in that case the section will say so, and the robot is only shown at its base.
Click “Set up automatically” — if at least 3 of the robot’s room names match your plan’s room names, the coordinate transform is solved in one click. Otherwise use “Fit manually”: the robot’s map is overlaid on your plan as a dashed ghost — drag it into place, stretch it by the corner handles, rotate/mirror with the buttons, and save.
Start a cleanup: a round puck drives across the plan in real time and pours its path out behind it. The path options (never / while cleaning / always) are in the same section.

You can see it live on our demo: https://demo.houseplan.tech (login demo / demo) — the demo house has a simulated robot; open its dialog to see the section, or just start a cleanup and watch. Full details: docs/VACUUM.md.

If the section doesn’t appear at all for your vacuum, tell me which integration provides it — most likely it just doesn’t expose coordinates, and we may be able to add an adapter.

1 Like

Thanks for this - it seems like a nice addition to HA. However, I’m giving this a try, but having a really hard time finding out how to fine tune the dimensions of a room once it’s been drawn, I’m thinking this is perhaps not possible. I can select it an move it around on the canvas, but do not seem to be able to reposition any corners.

There really isn’t any resizing functionality right now, it doesn’t seem like it’s really necessary. You can re-draw a room, divide it, or combine it with another one - this also allows you to change the size.

1 Like

OK, Thanks, I’ll try out those approaches - cheers

resize added in latest release

1 Like

Oh that is Quality of life - Thank you Matysh

Highlights worth mentioning:

  • You can watch your robot vacuum drive around the map, along with its route. Seems like a small thing, but it’s delightful.
  • Walls now have thickness. Originally I planned this to be a simple schematic that wouldn’t match reality perfectly, but now you can draw your plan centimetre by centimetre — your inner perfectionist will be pleased.
  • The plan shows which windows the sun is shining through right now, and at what angle.
  • A click on a device can do whatever you want: run your automations, scenes, toggle things on/off, and so on.
  • Virtual walls — sometimes rooms are only separated nominally; now you can reflect that on the plan too.
1 Like