Hello, I’ve recently finished a custom-card for lovelace / home-assistant that renders your 3d model of your home directly on your dashboard. All it takes is a direct export from Sweet Home 3d or other software that can export models in the .obj/.mtl file format.
This card uses three.js to render a 3D model of your home exported from Sweet Home 3d or other software (.obj/.mtl). It is configurable to render your lights in real time by associating them with your light entities and placing the light sources in your model. View Demo »
Sorry, I just mean that if you model is lightweight and doesn’t have a lot of complex furniture, etc…
I had a model with a couple of detailed vehicles in the garage among other things. The .obj file was over 150MB. Took a while to load, but it worked fine until you added a few lights.
I have about 30 lights, if they are all on. It boggs down on my phone and even a core i5 laptop. I’m working to come up with a solution to this. But, if you have a lighter model with less lights you should be fine.
The goal is to not compromise on the visual aspects of this. The shadows are the thing that seems to really slow things down. I’m working on ways to keep them, while preserving performance.
In my current setup with digital twin, yes I have noticed it bog down on a phone.
I am actually using the *.glb model method. (Which improves speed and loading.)
Unfortunately my house is not simple, currently running three separate digital twin cards, with back walls etc. deleted from the images to shrink the file size down.
Hello @johnnyo21 and @Chykan , I kind of abandoned any new development of the card from my side and I welcome the arrival of some new projects leveraging the same architecture. Even if the current code need some heavy refactoring, I implemented a lot of capabilities inside the card and I’m pretty sure you will find a lot of interesting pieces of code. I was also thinking about a restructuring of the config model to make it more 3d object centric instead of the current approach (that is Entity centric). The limitation of the lights is inherent to the WebGL library behind ThreeJS, I’m not sure if you were able to find a workaround.
You can also try to re-use the SweetHome3D plugin I’ve built to ensure the object name would stay consistent across several exports of the same model. Do not hesitate to ask questions if you have some trouble or get into blocking issues, it is probable I have already found a solution…