HomeTwin3D
My home as an interactive 3D twin for Home Assistant
The project
HomeTwin3D shows every device where it really is. Lights, blinds, doors, appliances, media and energy flow are controlled right inside the 3D model of the apartment and update live, on a tablet, a PC or as a wall dashboard.
The apartment is modelled in Blender, and a wizard links the objects of the model to entities in Home Assistant. The project grew out of 3Dash, is developed independently and runs as a Home Assistant app on my Raspberry Pi 5, next to Zigbee, MQTT, Hue, QNAP and coffee by voice command.
Source on GitHubFeatures
- Lights dimming, colour, groups, Hue Sync
- Blinds & openings positions plus door and window contacts
- Appliances & media laundry, coffee, TV, control of PCs and NAS
- Energy flow consumption from Home Assistant on the model
- Surroundings sun position, weather, day & night
- Alerts water leak & battery at the device
- Walkable orbit, walk and fly modes
- Everywhere tablet, PC, wall display, PWA
Architecture
Create
Blender
- GLB export
- stable device IDs
- lights & animations
GLB
Browser
Webapp
- React · TypeScript
- Babylon.js · WebGL 2
- PWA · IndexedDB
WebSocket
Control
Home Assistant
- live states
- service calls
- energy & events
serves
Integrations
Serve
HA app · Pi 5
- Docker AMD64 / ARM64
- nginx & media proxy
- sync across devices
Devices
Smart Home
- Zigbee · Matter · Thread
- WiFi · MQTT · Hue
- SHIELD · TV · Echo
- QNAP · Synology
Tech
- Runs smoothly: 30 to 50 frames per second on modern tablets, considerably more on desktop.
- Frames are rendered only when something moves; shadow maps are refreshed within a budget per frame.
- Mappings survive every model import; uploads are stored atomically, with rollback.
- Automated checks with 186 tests, type checking and a privacy check; new versions are built on every push.
- React 18
- TypeScript
- Babylon.js 9
- Vite
- PWA
- Home Assistant API
- Docker
- nginx
- GitHub Actions
- Blender
- Raspberry Pi 5
Based on 3Dash by Kdcius and contributors (Apache 2.0). The demo scenes are simulated, and the apartment model is not part of the repository.