My Unreal Engine 5 based dashboard is here!

Hey there! :wave: I’d like to share my “dashboard” with you. It’s a complete replica of my house in Unreal Engine 5, complete with functioning lights and a TV both synced with Home Assistant. Although the house is still a work in progress, I couldn’t resist exploring automation possibilities ahead of time. I initially designed the 3D model using Sketchup and UE5, primarily for interior design planning purposes. So, here’s what I came up with!

Here’s a video to the demo:

I’d love to receive your feedback!

14 Likes

That is SUPERB. Now if you imbue it with controls to move and actuators on the walls, you can walk around your home controlling devices while you walk around your home controlling devices, YO DAWG.

Thanks! It does look a bit overkill indeed, but once lights and devices controls are made more visible through the 3d environment it would work as a really advanced floor plan view. Next I would like to add some HUD to the interface to make controls simpler.

This is very close to what I want to make myself for my office, but without the animations only static view like isometric 3D view with dynamic lights syncing with HA state.

I have my model and lighting almost ready in UE, and also my HA working, but not sure how to go from there and create the integration. Could you point me in the right direction on how to control HA from within a UE blueprint, is there a good tutorial somewhere on this? I could not really make out the details in your event graph so can’t see which modules you are using, some sort of MQTT client plugin? Anyway, super cool project!!

Is this Floorplan in UE controlled by HA? How is this connected with each other?

Yes the 3d model is controlled by Home Assistant. There’s a video in the icloud folder that shows how the blueprint works. It makes use of the Http plugin (experimental) provided out of the box by UE5

2 Likes

Saw the video. What I see is a much to learn process :slight_smile: the flow in UR seems complex.

There’s not really much going on, it’s mainly a timer that polls data over the HTTP Hass API and adjusts color, brightness, and on/off state. And then a click listener that makes a POST call to toggle the light state.

I packaged it into a blueprint class actor with a few of configurable variables, so what it means is I can drop an actor in the scene, define the width of the “light strip”, the hass entity name, and it will automatically spawn a reasonable number of rectangular lights to cover the length, make the emissive material cover the desired length, and run the Hass integration logic on the defined entity.

I would argue the most complex part is the Json read/write logic since the UE utilities are quite terrible.

Very cool stuff - your environment looks great.
I’ve been working on a similar project; though I decided to use Websockets instead of polling using the REST API.
But I still need to do a lot of work in interpreting the JSON in blueprint since, as you say, the UE utilities are lacking!
I hope to eventually build it into a mobile and VR project; and release it as a template so others can build out their 3D realtime dashboards.

What did you use for the websocket? I couldn’t find anything working on 5.3

I used “BlueprintWebSocket” https://github.com/Pandoa/BlueprintWebSocket/blob/4ea4ae50a9b6106517a3999aef0e8c022ddf9dc2/README.md.

I think I ended up using “Json Blueprint” for handling the json - I found it slightly nicer than VaRest that I was using before; but I built this in 4.27 and I’m only in the process of migrating to UE5 now.

This is realy nice looking dashboard:)

Can you share UE5 project files? Da lahko drugi učimo iz tega projekta.

I tried to make out how the blueprint works but the resolution in the video is too low to see the actual text, by any chance would you be able to upload one in full resolution? I tried downloading it instead of viewing in the browser but get the same low res version. Or I mean, It’s not super low resolution, the dashboard button text is legible but I can’t make out the tiny text in the actual blueprint :slight_smile: Cheers!

Can you share the procedure or the uproject?