[RELEASE] HD+ - Android Dashboard

wait for the Play Store version

sounds good.. I hope they don't take the full 7 days but we'll see.. I'm honestly not sure if they'll care that I have "Hubitat" in the name either :slight_smile:

I was originally just going to release it on S3 but figured Google Play would make updates automatic and seamless - even if I did have a 'check for updates' option in the app. So, the transition from S3 to Google just started yesterday and there's always a few things to figure out.. I'm using circleCI to automatically deploy builds.

Speaking of the current 'beta' version.. I was originally building 2 variants of the app - beta and production. They could be installed side-by-side. But, the way Google Play works is - you put your release candidate version in the beta track and then later on 'promote' it to release. Long-story short is - I'm removing the 'beta' variant here shortly. The URL's above will still work - but because the beta app's package name is changing (no more .beta) you'll just have to uninstall the current version if you have it..

an option to make the app the default launcher

good suggestion! The tablets I'm using just turn on and off by themselves and are always on the dashboard screen (app).. I haven't implemented a default launcher before but could look into it

2 Likes

Very interesting. I downloaded the Beta and I am unable to connect. I thought perhaps that I had made a mistake, but when I wanted to check on my connection settings, it seems I cannot edit the connection ?

I then downloaded the stable version, but that seems to use the same settings ? In any case, tried to uninstall, then re-install and confirmed my settings but no connection. It just says loading.

Any idea what can be wrong ?

I have been chatting with someone else who could login but no devices ever showed up in his list. I asked him to open the MakerAPI main page and click on the "Get All Devices w/Full Details" link.

image

He did and initially said that link timed out on his computer. But, later realized it just took a LONG time for anything to return (as in several minutes). He had 100+ devices and I guess the MakerAPI just takes FOREVER to return details about that many devices. I've got 22 and to be honest it's slow even for my liking.. maybe 3-4 seconds.

If anyone who's having issues can try the same.. that might be the problem. I only use that full refresh endpoint to get the initial list of devices and then again every <10> minutes just to make sure things haven't fallen out of sync from the websocket events.

Anyway, the dashboard app will timeout after maybe 20-30 seconds.. and if it doesn't fetch the initial list it won't open a websocket either.

I'll have to research a better way -- maybe only fetch a few devices at a time. I can use the Get All Details link to get all of the device ID's and then fetch the details in batches. I can also increase the timeout for the connection but that seems kind of hacky IMO

forgot to mention.. he was able to get the app working by reducing the number of devices available in the Maker API. Not a solution - just a way to see devices show up in the app until I get a real fix in

Yes, got it to connect. Going to take a look around. I have also previously tried another app, but I currently have my control currently in Sharptools.

I have also previously tried another app

I haven't heard of that one and am curious how they were able to work with Wink (as a former developer).. probably using the old developer API which I didn't even know still worked..

Anyway, sharptools has a LOT of features.. clearly it's been around for a while and has had a lot of support. I can't compete with that in terms of customizations/icons/colors/etc. My hope is to get to a point where I'm really happy with the UI and hopefully help some others out with another option. As a mobile developer I'm definitely biased to native apps (iOS or Android) over the 'webview'.. but, sharptools does maximize that from what I can see.

Oh - I should also mention I just tried to use the best icons I could find from iconsdb.com. But, they're definitely not my favorite.. I miss having a UI designer like I did at Wink! Anyway, my point is -- if you think you have a better set of icons and don't mind sharing - I'm all for it.

I do want to keep the UI consistent though.. so for any new 'theme' I'd want to get a set of on/off icons for every supported device type. Right now I only have support for the device types I know about too.. so more icons as that list grows..

3 Likes

I just installed your app on a Chromebook and it looks great on a big screen. I thought I would try it on a Fire TV device but it appears I am unable to move around on screen with the remote or the app so no way to set it up. I really think this would be a great addition to Android TV or Amazon TV devices. Being able to check the door locks on the bedroom TV etc. I currently use the browser links on the TVs but they are quite awkward. Your app would be perfect.

2 Likes

While sharptools is nice, it also has it's limitations (like anything). Of course one of them is that they are cloud based. to combat that I have tried a couple of times to create something in the Hubitat dashboard, but I always retreat, mainly due to how clunky it is to move the tiles around.

On my Vera, I used Imperihome, which I found to be a great allround app that also allowed me to have HTML tiles for cams etc. I see they support Wink.

I am looking forward to seeing what might come out of this. I don´t have any icons, nor am I a UI designer, but I feel that I do have some feeling to what looks nice (to me at least).

Getting good quality graphics is always a challenge, especially for the low price of free. I found a site called the Noun project that does have free icons on CC, but there seems to be yearly subscription which seems to give you more features and you can keep the icons even after cancelling the account. https://thenounproject.com/ (https://thenounproject.com/accounts/upgrade/)

1 Like

Working on re-writing how I get the initial list of devices.. bypassing that 'full' list will result in much faster response times (many smaller requests vs 1 large one). However, I'm finding the Maker API to return a different structure in the individual device response vs the full list one.. things like returning completely invalid JSON (not sure how that got overlooked). This isn't valid JSON as far as I can tell..

"capabilities" : 
[
    "Switch",

{
    "attributes" : 
    [
        
        {
            "name" : "switch",
            "dataType" : null
        }
    ]
},
"Polling",

Anyway, dealing with this mess might take a little longer.. but still expect to push an update today or tomorrow.

I thought I would try it on a Fire TV device

I like that idea! I've got a few Fire TV's and a Shield TV so testing won't be a problem. I bet I just need to implement that leanback interface.. anyway, while I can't say I plan to have an always on TV view of my devices -- I'll add that to the list.

1 Like

Awesome project!!

1 Like

I have 2 - 7" Fire Tablets coming from the recent Woot deal. Once I get them in I will definitely try this out.

I just pushed out an update which refactors how the app fetches all of the devices. I used to use the MakerAPI 'all devices' to get everything in a single request but that turns out to take way too long for people who have lots of devices. Now, I'm getting the devices 1 by 1. From a UI perspective it's better because devices will start to populate as they're returned from the hub. I'll attach a video showing this.

Ultimately, this 'fetch all' isn't needed once the dashboard is running.. I use a websocket connection to the hub so it will 'push' any changes instantly to the app.

I also changed the package name of the beta version.. previously both beta and release apps could be installed at the same time. But, due to how Google Play works I'm just sticking with a single package name. What this means is -- if you had the previous beta version you'll just want to uninstall it since this one will install separately.

Anyway, I'd love to get some feedback from anyone with lots of devices! While I realize this dashboard as it stands today isn't ideal for people that many devices (no advanced grouping like other dashboards have) - I will do my best to get there.

5 Likes

version 1.0.73

  • added support for weather (add virtual 'weather' device in hubitat)
  • added refresh option
  • refactored dialogs

I think next on the TODO is a brightness/dimmer control

2 Likes

I also just found out the app is live on Google Play: https://play.google.com/store/apps/details?id=com.jpage4500.hubitat

There's an open beta track as well which will get more frequent updates too.. subscribe for it here: https://play.google.com/apps/testing/com.jpage4500.hubitat

1 Like

version 1.0.76

btw - I never actually mentioned this earlier but tap to toggle things on/off and press and hold to bring up device details screen like this one.

I wanted to make the dimmer control part of the main tile but found it kind of small / hard to control.. anyway, I wanted to get it working and can always tweak it later

2 Likes

Nice job just downloaded it to have a play and seems good so far.

Color scheme looks familiar.

3 Likes

Color scheme looks familiar

100% - I included a little section about the UI but since the whole document was becoming too long it's in the Google Docs version that's linked above (under the backstory/why section) Hubitat Dashboard - Google Docs

Basically, my original dashboard for Wink copied a lot of the look of ActionTiles which used the same multi-color backgrounds. I prefer a darker more uniform background color but with Wink I had a full-time UI designer for icons.. without that I thought the next best thing I could do to keep the UI consistent was use white icons and change the background color. I had setup a sharptools.io account and started with that color scheme as a baseline. Eventually it'll be more customizable - likely never as flexible as a web-based tool though.

1 Like

Hm. Drawing inspiration from something or borrowing concepts is one thing. Straight up copying seems like a step too far.

PS. I'm the lead SharpTools.io dashboard developer.

8 Likes

Wait.. You're upset because I used 5 background colors and even gave you credit for having a nice UI for a web app. Literally nothing else was copied/borrowed/inspired or even close.. if you really feel like using orange for a lock background belongs to sharptools.io, I can probably find another color to use.

I hadn't even heard of sharptools.io until I had started writing this app and I can tell you I didn't even use it for more than a few minutes - just saw it mentioned in a thread and gave it a quick look. As for inspiration -- well, that would be ActionTiles.. never used that either but found several good screenshots like this one a few years ago when I was working on a dashboard for Wink:

.

I'm writing this app because I didn't find anything that I was happy with for my 2 wall-mounted tablets. Sharptools.io might have been the closest thing for me but I really prefer a native mobile app. There's several things that a web app just can't do which I wanted. I also wasn't interested in paying $3/month to a 3rd party service. I left Wink because they were going to charge $5/month and to me that seems a LOT more justified then providing a dashboard.

I was sold on the Hubitat hub because it didn't rely on any central server and all of the device control was handled locally. That seems like what sharptools.io is offering so I wasn't interested. However, that said - to each their own. I built this app in ~2 weeks - nights and weekends only. I'll never get to the point where sharptools.io or any of the web apps are in terms of customization.. I just don't have the time and I'm not getting paid for any of this. It's just something I'm really interested in and if there's others who might find it useful I'm happy to share.

26 Likes