Custom UI for iPad

So I’ve been using Smartthings for a couple of years now. Recently I’ve been checking out the competition to see if there was a better alternative. For me, Smartthings is great for controlling devices. I like that I can create my own handlers etc. My biggest gripe is with the UI.

So I looked at Openhab and Home-Assistant, and spent a few days on each trying to create something I was happy with… Home-Assistant was limited by some bad CSS, and Openhab didn’t support all of the devices I had. And I wasn’t in the mood to compile Java to try and fix it.

Anyway, I ended up back at Smartthings and decided to just create my own UI. I wanted a dashboard where I could quickly and easily see what’s going on. I wanted to control devices, but didn’t want to be bogged down in them. I also wanted to be able to control Apple TV, which I don’t think can be done within ST at the moment.

This is a work in progress, and only has a few sections at the moment. It’s also completely bespoke to me, but I’m happy to share code or answer questions if it’ll help anyone else out! It’s inspired by a theme I saw on openhab (matrix theme) and some other stuff on behance etc.

Graphs are from Graphana.

Be great to see what you guys think and if you have any cool suggestions of what you’d want to see.

11 Likes

Looks great… would love something like this .

Does it run remotely too ?

It’s a big step to make something like this nicely configurable for everyone rather than just for yourself, not just in doing it but the ongoing support. For me It would be useful as sample code to adapt if you didn’t want to invest that time.

Well done… very professional looking.

2 Likes

Yea, it connects to a simple smart app that exposes everything ST can do as JSON. So it will work remotely. The appleTv stuff won’t - but probably could if I set up port forwarding on the router - but it would be fairly pointless.

It is very bespoke at the moment. I’m just working on a lighting section that displays all my rooms, on different floors. It’s hard coded, but with more work it could be set up to be generic. I’m taking a few shortcuts just to get it working at the moment (hard coding device names etc).

Really Nice

would love to see the evolution!

If you never looked into actiontiles, it’s a great dashboard add-on to ST that makes the UI much more useable and it’s pretty customizable. It costs extra since it’s made by a third party developer, but it’s well worth it in my opinion.

3 Likes

UI looks awesome! How did you do the Apple TV control?

That looks great! Loving the graphs and: smooth UI!

Yea, I’ve looked into ActionTiles. I’ve yet to see a design or example that I’ve liked. It’s very subjective obviously, but I really didn’t like the look of it.

It’s a shame ST seems to have placed a hold on approving 3rd party smart apps as I think it really stifles the competition with things like this.

The Apple TV stuff I figured out using this documentation:
https://media.readthedocs.org/pdf/pyatv/master/pyatv.pdf

It was a bit of a pain, because the responses come back in Hex and need to be decoded. It may be possible to make it into a Device Handler, but I’m not great at groovy!

Added a few more views.
The lighting control groups lights together (mainly IKEA Tradfri bulbs, but a few hues). I need to work on a dimmer/colour picker at some point.

The tide times are from another external API. It’d probably be really easy to make a smart app and virtual device out of it if anyones interested who lives near the sea!

Finally the heating control is a nice simple way for me to control the heating set point, and turn the hot water on/off if required.

3 Likes

This is great! I would love to build something similar? Do you have your code in github? Would you mind sharing as I would like to see if I can implement something similar on my end as well. You can email me at samikhan001@gmail

Pretty interested in this, I’m also not 100% sold on the UI, any chance you could post a “how to”?

Would love to know where you found documentation on doing this, or what this was built using?

There’s a simple smart app that exposes all the devices as JSON data, and the UI is a native iOS app, so built on a Mac using Xcode. not really something you can document.

You could achieve the same sort of thing with a web app if you know what you’re doing.

There were also a few custom bits like apple-tv control that you can’t do in ST I don’t think

Do you think you can something like that available to us?

Hi Rob

This is such a cool project
Have you mounted The iPad on the wall?
I would love to get a copy of the code, im starting to learn xcode.

Many thanks!