A couple of years ago I got tired of all the (in my opinion) not so beautiful looking UI’s that are available for Openhab. I have worked with Crestron earlier and are used to the UI’s being at a different level.
So, I decided I wanted to make my own UI for Openhab, even though I do not have any real programming experience. As I wanted everything to be fluent and running smoothly without the delay of loading webpages, I decided that Unity3D might be a good place to build an app. There are also good possibilities to compile the app to different platforms; iOS, Android, HTML5, Windows, (Maybe Raspberry, I have not checked) etc.
I am not a UX’er or anything so I straight up found a nice-looking GUI and got inspired. I tried contacting the developer and ask if I could use his design but did not get an answer. Link to UI Design: HEIMA — Dmitrij Paškevič
I figured out along the way that you can buy a lot of different assets in the Unity ecosystem, so you basically can get going quite quickly if you are willing to pay a few euros here and there. Which I did, since I am fine paying 10 euros for an asset so I can save 10 days doing something.
This was done during a period where we were hospitalized when our first kid was born (all is good today and I just got another one – that is why I have time to write this), so I was not working and there was just a lot of waiting time I filled by diving into this project. As I have not really touched the project since but got sort of a proof of concept up and working, I have decided to put it out on Github for anybody to move forward with as I still think that designing a GUI in Unity is a perfect. But I simply don’t have the time to finish it, but would love to use it none the less.
I’ve started to look into upgrading to Openhab 3 and have installed a VM to test it out. I think that the model way of sorting things out would be good for the App I’ve started. Now everything is hardcoded in. So, the rooms and light are hardcoded to certain items. This should be able to be done dynamically and populate the lists. Anyway… lots of ideas. And I am sure you all got more.
So, what is working?
Now, only the Lights section are somewhat populated to show it works. So, I can get states out from the REST API on items and send commands.
Please don’t ask how to get it working as this is only meant for somebody with knowledge of programming to continue or be inspired by as it is simply not a finished solution. If you have the required programming skills, you won’t ask how to get it working. Some of the commenting is in Danish as well, but a quick google translate should help you there. But to be honest it is not a lot commenting I’ve done.
If I do anything illegal by sharing some of the assets (DoozyUI, BestHTTP or any other) on Github or having basically been heavy inspired by the Heima GUI please let me know and I’ll take down the Repo on Github and this post. But hopefully I have inspired somebody to start developing a GUI in Unity.
See example of how it works here: