01
Plano navegable por plantas
La casa se gira, se acerca y se mira por dentro. Las plantas superiores se ocultan para ver las inferiores, se pueden mostrar varias a la vez y cada dispositivo recuerda su selección con botones de icono en la barra.
Hogar conectado · Visualización 3D en tiempo real
El gemelo convierte el plano de la casa en la pantalla principal de la domótica: se gira con el dedo, se toca una estancia o una lámpara y responde. La cadena que lo fabrica es reproducible, así que cada cambio en el plano se regenera y se verifica con un script.
Resumen ejecutivo
El plano se dibuja en Sweet Home 3D. Un script en Python extrae del archivo las estancias, los muros, las lámparas y las plantas, y Blender, ejecutado sin interfaz desde Python, convierte la exportación OBJ en un GLB comprimido con Draco y con los objetos nombrados para poder tocarlos. Una tarjeta propia para Lovelace, hecha con three.js, carga ese modelo en la tablet de pared: enciende las lámparas que están encendidas, abre el detalle de cada estancia, muestra el flujo de energía de los paneles a la batería y permite elegir qué estancias limpia la aspiradora.
El reto
La exportación de Sweet Home 3D trae unas 675.000 caras en 1.281 objetos anónimos: se ve bien en un PC, pero no en una tablet, y un clic no distingue la cocina de una maceta.
Reducir polígonos por igual destroza las esquinas de la arquitectura, que es justo lo que hace reconocible una casa, para ahorrar muy poco.
Dentro de Lovelace la tarjeta se desconecta y reconecta con cada cambio de vista, y el navegador solo concede unos 16 contextos WebGL antes de pintar en negro.
Y el panel tiene que arrancar sin internet y sin que la tablet descargue la librería 3D en los paneles que no la usan.
La solución
Una cadena de scripts en Python y Blender que convierte el plano en un GLB con un convenio de nombres (HAB_ para estancias, LUZ_ para lámparas, NIVEL_ para plantas) y un verificador que reabre el archivo generado y comprueba 13 invariantes. La tarjeta three.js usa esos nombres para enlazar cada objeto con su entidad de Home Assistant, con la librería incluida en el propio servidor.
Funcionalidades
01
La casa se gira, se acerca y se mira por dentro. Las plantas superiores se ocultan para ver las inferiores, se pueden mostrar varias a la vez y cada dispositivo recuerda su selección con botones de icono en la barra.
Tocar el suelo de una estancia abre su detalle en Home Assistant. Las lámparas encendidas brillan con un emisivo cálido y al tocarlas se encienden o apagan. Solo se dibujan las que están asociadas a una entidad real.
Los paneles solares del tejado brillan según la producción, y unas chispas recorren el camino de los paneles al inversor y del inversor a la batería, en verde al cargar y en azul al descargar.
En la vista de limpieza se tocan las estancias del plano para elegir dónde pasa la aspiradora; quedan marcadas en verde con borde punteado, y desde ahí se lanza, se pausa o se manda a la base.
Mientras se gira, el render es directo para seguir el dedo. Al soltar se promedian entre 12 y 32 fotogramas desplazados con una secuencia de Halton, con oclusión ambiental y sombras suaves, y la calidad se ajusta según el dispositivo.
Los muebles más visibles se sustituyen por modelos CC0 de Poly Haven colocados en la caja exacta del original. Un script de Blender los reduce, los apoya en el suelo y los deja listos para la tablet.
Cómo funciona
La vivienda se modela con estancias, muros, muebles y lámparas en varias plantas. Es el único archivo que se edita a mano.
Un script en Python lee el Home.xml del archivo y genera un JSON con estancias, lámparas, niveles y la fórmula para pasar de centímetros con Y hacia el sur a metros con Y hacia arriba.
El exportador de Sweet Home 3D coloca cada mueble con su rotación, escala y texturas; no se reimplementa porque es la parte más delicada.
Blender sin interfaz clasifica materiales y cristales, reduce polígonos de forma desigual, renombra por convenio, fusiona por material y exporta a GLB con Draco.
Un segundo script reabre el GLB escrito en disco y comprueba 13 invariantes, como materiales opacos, nombres y posiciones de estancias y lámparas.
La tarjeta three.js carga el modelo bajo demanda, enlaza cada objeto con su entidad de Home Assistant y se actualiza con cada cambio de estado.
Arquitectura
Tecnologías
Ingeniería
En agosto de 2026 se monta la cadena completa: extracción de datos del plano, conversión en Blender con reducción desigual de polígonos y Draco, convenio de nombres y verificador. La primera tarjeta carga el modelo en Lovelace con estancias y lámparas que se pueden tocar.
La tarjeta gana control de aparatos desde el plano, botones de icono para mostrar varias plantas a la vez y la corrección de objetos que se veían duplicados por compartir material con la chimenea del salón.
Llegan los paneles solares sobre el tejado con brillo según la producción y el flujo de energía hacia el inversor y la batería. El render pasa a ser progresivo y los muebles más visibles se sustituyen por modelos CC0.
La vista de limpieza permite elegir estancias en el plano para la aspiradora. El 25 de octubre se despliega la versión 2.15.1 con un estilo visual nuevo y una portada renderizada en Cycles.
Galería
Modelo convertido en Blender
Punto de partida en Sweet Home 3D
Resultados
Cada cifra lleva su fuente y su fecha. Lo que no se ha medido va aparte, como potencial.
3,1 MB
de modelo GLB a partir de 54 MB de OBJ exportado
Cifras de referencia de la cadena en scripts/casa3d/LEEME.md (commit d7d746c) · 2026-08
411
llamadas de dibujado frente a las 1.281 mallas originales
Cifras de referencia de la cadena en scripts/casa3d/LEEME.md (commit d7d746c) · 2026-08
Número de triángulos de la exportación OBJ de Sweet Home 3D y del GLB que carga la tablet tras la reducción desigual en Blender.
Fuente: scripts/casa3d/LEEME.md, cifras de referencia (commit d7d746c) · Datos a 2026-08-09 · Con el parámetro de presupuesto a 600 la cadena baja a unos 216.000 triángulos para tablets más lentas.
| Periodo | Triángulos |
|---|---|
| OBJ exportado | 629.246 |
| GLB para la tablet | 286.355 |
Sin internet
el panel 3D carga y funciona con la librería servida desde la propia casa
Cronología
Cadena Sweet Home 3D, Blender y GLB con verificador, y primera tarjeta en Lovelace.
Energía solar y render progresivo sobre el plano 3D.
Limpieza por estancias y versión 2.15.1 desplegada en el panel.
Proyectos relacionados
Hogar conectado · Domótica e IoT
Domótica de una vivienda sobre Home Assistant: presencia por habitación con radar y Bluetooth, Zigbee, Shelly y avisos de lo que falla en silencio.
Energía solar residencial · Monitorización y gestión de autoconsumo
Producto de laboratorio para el autoconsumo solar: la medida y las alertas funcionan en una vivienda; el optimizador que decide está en fase de diseño.
Hogar conectado · Asistente de voz con IA
Asistente de voz para una casa con Home Assistant: palabra de activación propia, órdenes resueltas en código y cuatro proveedores de LLM con respaldo.
Hablemos
Cuéntanos el problema. Te respondemos con un planteamiento claro: qué haríamos, en cuánto tiempo y con qué entregables.