Open-source project
Mastershort/neonplan3d avatar
Mastershort/neonplan3d

NeonPlan 3D draws your home inside Home Assistant and drives it from there

3D floor plan for Home Assistant: draw your home in the built-in editor (rooms, walls, doors, windows, furniture, roof) and see and control lights, covers, windows, climate, media, sensors and cameras live in a neon 3D view – as a sidebar panel and dashboard card.

884 stars86 forksTypeScriptMIT

At a glance

What is it?
NeonPlan 3D is a Home Assistant integration and Lovelace card that renders your house as a live 3D scene you can draw, walk through and control. The core editor, lighting and safety warnings are MIT licensed, while the live director and time travel replay are sold as paid add-ons, which is the main thing to weigh before installing.
Who is it for?
Adopt NeonPlan 3D if you already run Home Assistant on a wall tablet and want a plan editor and controllable 3D view inside the same frontend, and you are willing to model your own house room by room. Skip it if you expect a floor plan that draws itself, if your household will not accept a commercial add-on for the live director and replay features, or if the tablet you have cannot run the modern browser build.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The house is a scene you draw, not a floor plan you import

NeonPlan 3D lives inside Home Assistant as a custom integration and a dashboard card, and the plan editor is the part that takes real effort. You draw floors, rooms as rectangles or free shapes, and the tool derives walls from them, with free-standing partitions alongside them. On top of that base you place doors, windows, garage doors, stairs, floor openings and cellars with light wells. Roofs carry dormers, and the outside of the plan covers outdoor areas, pools, balconies and solar fields.

Two details tell you this is an editor rather than a viewer. The 3D view runs next to the plan while you draw, so you see the geometry change as you work. And there is a wall view that shows each wall from the front, which is how you place a window or a switch at an exact position.

The result is a twin you maintain, and the cost of that is the drawing time. Nothing in the documentation suggests the plan is generated for you from anything. If you expect to describe your home once and have a full 3D model appear, this is the wrong expectation.

A dashboard card rather than a separate application

The integration is not a separate program you open on a schedule. It ships a Lovelace card that you place on a dashboard, and the configuration key is:

yaml
custom:neonplan3d-card

The card has a visual editor and is loaded automatically, so there is no YAML surgery needed to add it to a view.

The installation route is HACS. The README points to a badge that opens your Home Assistant instance and then the NeonPlan 3D repository inside HACS, using this address:

code
https://my.home-assistant.io/redirect/hacs_repository/?owner=Mastershort&repository=neonplan3d&category=integration

That badge is the documented path. The repository also ships hacs.json, which is what makes the repository appear as a HACS category in the first place.

The repository layout explains the split between the Python side and the browser side. The `custom_components/` directory holds the Home Assistant integration, `frontend/` holds the browser code that draws the scene, and `site/` holds the companion website, including the import page and the online demo. The project description notes the build refuses browser features that old Fire WebViews lack, and that a Tablet quality level draws nothing while nothing changes.

Lights, covers and windows move because they are bound to entities

The live 3D view is where the integration earns its name. Tap a lamp to switch it, swipe to dim it, long press for colours. Doors swing, windows tilt, and curtains and awnings run with whatever cover entity drives them. A room panel lists everything belonging to that Home Assistant area, and gardens and terraces open as if they were rooms.

The library supplies the objects. Built-in models and purchasable furniture packs cover living room, kitchen, bedroom, bath, kids, office and gaming, garden and terrace, garage and workshop, fitness, smart home and tech, cinema and hi-fi, utility, architecture, stairs and railings, and vehicles. Lamps light their own room in their own colour, and the light also reaches the floor below through a stairwell. TVs, washers and radiators glow while they run, robot vacuums drive their lanes and pets roam the house.

Values are drawn on top of the geometry too. Temperature, humidity and CO2 are shown per room, sunlight comes in through the windows from `sun.sun`, and the weather is drawn around the house. Warnings for smoke, gas, CO, water and alarm pulse in the room they belong to, and the card adds a warning when a window is open in the rain or when power goes out.

That entity binding is the point of the design. The scene is a rendering of Home Assistant state, not a separate control layer, so anything the integration can map onto an entity can appear in the house.

What is MIT licensed and what is sold as an add-on

The split between free and paid is stated clearly in the README, and it should drive the adoption decision.

The integration and everything described above is free and open source under the MIT license. Safety features, meaning smoke, water, alarm, rain warning and power outage, are always free and are not part of the paid tier. Furniture packs are sold once with no subscription, and there are free fun packs for pets and Halloween available with a customer account.

The Pro add-ons are a separate list. Camera Cockpit brings looking through a camera, a camera wall, motion trails, detection pins and the live director. Weather outside adds rain, snow, fog, clouds, lightning and sun. Time travel replays the last day or week with a timeline of events, and it is marked as Pro.

So the honest framing is that the editor and the controllable house are the open part, and the passive viewing extras are the commercial part. The paid items install from the Extensions tab at mastershort.de, and the project describes the purchase as one-off rather than recurring.

That model means the useful core does not rot if you stop paying, but it also means a house with cameras gets less impressive the moment the add-on lapses.

The live director and time travel depend on history the integration has to collect

Two features stand apart from the rest because they need more than current state.

The live director, also called Camera Cockpit, is described as the wall tablet showing by itself what happens. The doorbell rings and the view flies to the front door and looks through its camera. It also reacts when a camera sees someone, when the washer finishes, or when a new warning appears, then goes back to the whole house. The README notes that every event is opt-in, which is the right instinct for a feature that moves the screen on its own.

Time travel is the other one. It replays the last day or week in the house, showing lights, doors, motion and the robot's run along a timeline of events. Replay by definition needs retained history, and the README does not say how that history is stored or how long it is kept.

This is where the documentation is thinnest, and it is worth being explicit about that gap. The README states that time travel is a Pro add-on and that it replays the last day or week, but it does not document the storage mechanism, the retention limit, or the entity history settings a Home Assistant install needs to be configured with. Anyone planning to rely on the replay should verify that against their own recorder setup before paying.

Voice control passes most requests to Assist

The microphone button gives the house three example commands that it handles itself: "Show the living room", "Where is the washing machine?" and "Show the front door camera". Anything else is handed to Home Assistant's Assist, and the answer comes back as a bubble. The README describes this as new and growing, and says speech to text runs through your own Assist pipeline, which means the voice stack is the one you already run in Home Assistant rather than a separate service.

The third example, showing the front door camera, needs a camera to point at, which lands back on the paid Camera Cockpit territory if you want the view to fly there on its own.

A second interaction mode is walking through the house at eye level with keys or a touch stick. That is a navigation aid for the 3D view, useful on a wall tablet where the plan is too small to tap accurately, and a way to check whether a light or a door ended up in the right room.

Importing an existing plan, and the limits of that route

There is an import page, and it covers more source formats than most competitors manage. It converts Sweet Home 3D, iPhone LiDAR scans through RoomPlan, CAD in DXF, Blender and SketchUp models in glTF, OBJ and STL, Floorplanner and Valetudo robot maps into a NeonPlan plan, all in the browser. There is also a template for letting an AI write the plan, with the format documented separately.

The formats are diverse, but the outcome is not guaranteed to be a finished plan. The project description calls the tool a plan editor in Home Assistant, and the drawing features listed earlier, from walls derived from rooms to wall views for centimetre placement, exist because plans need adjusting after import. A Sweet Home 3D file arriving as room outlines and a DXF arriving as lines both need a human pass to become a house with working walls.

If your plan already exists in one of these formats, the import saves the drawing work but not the modelling decisions. If it does not, you are drawing from scratch either way.

Maintenance pace, licence and the cost of a wall tablet

The repository is not archived and the last push was on 2026-10-20, so work on it is current. Release v1.21.0 went out on 2026-10-19 with sloping walls, switches and sockets, ceiling fans and a 3D lock. v1.20.2 shipped earlier the same day with light wells, stairwells, a media card and voice on Android tablets, and v1.20.1 arrived on 2026-10-18 with old wall tablets, waste bin days and supporters. Three releases in three days is a fast pace, and the changelog and roadmap are kept in the repository.

The licence is MIT, covering the integration and the frontend. That matters for a Home Assistant custom integration, where the ecosystem expects it.

The repository also shows the tooling conventions. Ruff runs with a line length of 120 targeting Python 3.13, mypy is configured for Python 3.13 with untyped definitions checked, and pytest is set to asyncio mode auto with tests in `tests/`. The `custom_components/` directory is declared as first-party for import sorting, and `homeassistant` as third-party. It is a conventional Home Assistant integration layout with the usual separation between the Python integration and the browser frontend.

The real deployment cost is the tablet. The project explicitly targets old Fire tablets, and the README notes the build refuses browser features old Fire WebViews lack, with a Tablet quality level that avoids drawing while nothing changes. A Neo-era Fire tablet is the stated target, so hardware that cannot run a current browser rules the project out before any feature discussion.

Editorial conclusion

Adopt NeonPlan 3D if you already run Home Assistant on a wall tablet and want a plan editor and controllable 3D view inside the same frontend, and you are willing to model your own house room by room. Skip it if you expect a floor plan that draws itself, if your household will not accept a commercial add-on for the live director and replay features, or if the tablet you have cannot run the modern browser build. Verify first that the HACS category resolves for your Home Assistant version and that the free core covers what you need, since Camera Cockpit and time travel sit behind the Extensions tab at mastershort.de.

Frequently asked questions

How do I install NeonPlan 3D in Home Assistant?

The README points to a HACS badge that opens your Home Assistant instance and then the NeonPlan 3D repository inside HACS. The repository ships hacs.json, which is what registers the integration as a HACS category.

Is NeonPlan 3D free to use?

The integration and the plan editor, the live 3D view and the safety warnings are free and open source under the MIT license. Camera Cockpit, Weather outside and the Time travel replay are paid Pro add-ons sold once through the Extensions tab at mastershort.de, and furniture packs are also sold separately.

Can I import an existing floor plan into NeonPlan 3D?

The import page converts Sweet Home 3D, iPhone LiDAR RoomPlan scans, DXF, glTF, OBJ, STL, Floorplanner and Valetudo robot maps into a NeonPlan plan in the browser. The imported result still needs editing, since the plan editor exists to add walls, doors, windows and other details.

Official sources

  1. Issues
  2. License: MIT
  3. Mastershort/neonplan3d on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/mastershort-neonplan3d.svg)](https://hysenlabs.com/projects/mastershort-neonplan3d)

Was this useful?