[RELEASE] HD+ - Android Dashboard

version 1.0.1217 (beta)

  • allow any tile to be resized
  • new slider (easier to use)
  • show time remaining on Orbit BHyve valve
  • HTML device type improvements
  • add new display option to control status text size

There's a lot that changed behind the scenes with this one and several UI tweaks as well.

  • I tried to fix the case where sometimes the main device 'text' would appear too small or much larger than similar values around it. Essentially, if a device 'text' is 3 characters or less (ie: "25%", "100", "71°") I don't let the text grow to fill the entire tile. I want to keep several values like in this screenshot from looking like they're all using different sized fonts. For every other value, however, I always want to fill the space available and fit the entire text - shrinking the font size if necessary. It's fairly complex but something I'm always trying to improve on

  • if you have an Orbit BHyve valve and this driver, now when the valve is ON I display how many minutes are left before the valve closes

image

3 Likes

Can someone just confirm this app won't be bothering the hub other than when I have it open on my phone? I'd like to include quite a lot of my devices so I want to know how freely I can do that without slowing down or overtaxing the hub.

I do not have any specific numbers, but I have it running on 4 pads and my phone. I have multiple devices included in each. I have not noticed any performance hit on my C7.

1 Like

Confirmed :slight_smile:

2 Likes

I notice my GameTime tile doesn't load until I scroll past it and then come back to it. I only started noticing that behavior in the last couple of days. Have you experienced this?

I do feel this should insist on the user filling in the access token. My other half decided to have his own dashboard with his own copy of Maker API (he's interested in different devices) and it automatically filled in MY access token and filled his screen with the devices I chose. What if that Maker API instance had been paired with some unrelated app? Also it would be good to have at least part of the access token and/or device name as part of the backup file name as otherwise it will risk us overwriting each other's backup.

The automatic logic looks for the first Hub that can be discovered via UPNP and then looks for the first MakerAPI instance on that hub and uses the app ID and token of that to fetch devices. I think in the majority of cases that's going to work fine. But, if you have a second Hub or second instance of MakerAPI the manual login route should still work as well. If you just fill in the App ID of the second MakerAPI instance the app should get the token from that one instead.

While you can use multiple instance of MakerAPI you could also just use a single instance and hide devices you don't want to see in the app. In my mind anyway, that seems more efficient although I can see how it might be simpler to just have a separate instance too

What if that Maker API instance had been paired with some unrelated app?

I've always thought of Maker API as something you'd just have 1 instance of and could use with any app that wants to interact with devices using it's 'API'. But, I suppose there's always reasons to separate things that I haven't run into yet either

Also it would be good to have at least part of the access token and/or device name as part of the backup file name as otherwise it will risk us overwriting each other's backup.

I think I default the backup name to the IP address of the device only because I wanted a way to have multiple devices not overwrite the same backup file. But, you can change it to anything. Once you change it - it'll default to that name next time as well

EDIT: you're right.. I default to the hub's IP address and not the device's IP address (which I don't think I can even get without location permissions).. I should probably just make you type something in the first time in that case or come up with something device-specific

EDIT 2: I know why I used the hub's IP address.. I was logging into multiple hubs from the same device.. so, maybe a better 'default' backup name would be device + hub related.. (or just make you type it in lol)

I haven't noticed this and I've got 3 GameTime tiles. What does it look like? Do you see a little progress 'spinner' that doesn't get replaced with the tile? When you click on the tile - does the same thing ever happen in the popup window? Also, what device are you running on?

I posted some details about how the app works a while back but am dreading trying to search for them so I'll try to re-post the highlights

  • When connected in local mode (same network as the hub), the app does a MakerAPI 'refresh' on start and then every <10> minutes after
  • The reason I don't need to do frequent refreshing (polling) is because I'm using an API on the hub (not MakerAPI) called /eventsocket which is a websocket connection.. basically, it's a single connection where the Hub will 'push' device changes directly to the app. This is the ideal way to detect changes and why the app shows updates instantly.
  • When in cloud mode, I don't have access to /eventsocket so I need to refresh (poll) every <2> seconds. Note this value is configurable and I got the <2> second default from the Hubitat's built-in dashboard
  • All of the above only apply while the app is running and visible on the screen. If you put the app in the background - all connections are closed - meaning no app updates of course. But, the next time you re-open the app it'll do that MakerAPI refresh to get the state of any devices that may have changed while it wasn't running

side-note - I really want to create a good user guide + FAQ page somewhere.. I started one in Google Docs but that's not really a great format for browsing/searching.. still looking for a good wiki or website builder that will make it easy

1 Like

But you'd have to be able to specify devices separately per app using it, so you have to have separate instance of Maker API per app, not just one list. That would be kind of messy

But if I backup to hub I don't get the opportunity to enter a filename. My husband and I were hoping to use the backup to hub option, as that seems the logical place to store the backup. So yes if you can make it so we can enter a name for save to hub, and remember that so it defaults to that each save, then that would be helpful

I'd feel more secure if your app insisted on an API key being entered rather than going in and finding one itself, tbh

It seems to me that save to device doesn't do anything or at least I can't find a new file afterwards either on phone or hub. I also tried the save to share with and chose google Keep, but I didn't get any option to restore from there, and all it did was paste the filename into a note. As it's a plain text file I thought I would be able to save anywhere that accepts text? Saving and restoring from Google Drive does work however, and does have a field on that dialog to choose a filename

You could write your guide in Google Docs as that has the ability to import images and stuff. When you've finished you can save as PDF and maybe upload to your top post

What does ID mean on Hub Details? Does one need to change that as well as the API key? It's refusing so far to use the Maker API instance I set up for it. We've tried ID 1 (the default) and ID 2 just in case.

Later: Ah! It's the Maker app ID it wants. And it wasn't the slightest bit interested in the API key :slight_smile: Well we have the two separate dashboards now. So basically if the save filename could append the app ID to the hub address as its default filename, I think this particular issue would be sorted

I see the spinner for a split second and then blank tile:

However the expanded tile loads immediately:

I'm running this on Samsung Galaxy S10 5G.

thanks for this info! I've tried again and again and can't reproduce this one. If you have any ideas let me know. Otherwise, I'll keep an eye out for it. I am currently working on a GameTime update to show the team's schedule when you click on the tile

I should have asked if you were using the beta version of the app. This is how the backup screen looks there (not sure what the production version looks like at the moment.. it's usually a few weeks out of date)

I'd feel more secure if your app insisted on an API key being entered rather than going in and finding one itself, tbh

You can always enable username/password security on the hub. If the app (beta version) detects this is enabled when you try to login it'll prompt you for a username/password. However, using the advanced login screen you can skip that entirely and manually enter the access token/app ID/cloud token

It saves to an internal app folder - so not something that another app would be able to see. Android keeps locking down access to shared folders so I'd need permission to be able to write there I believe (it depends on the OS you're running). Anyway, 'Save to other' is a way to save the file to any installed app that supports text files such as Google Drive.

The restore dialog (1st image below) lists all of the files saved using "Save to device" for a quick way to restore. The last choice is "Select file..." which is supposed to be a way to restore from an external location or app such as Google Drive. Note my test device doesn't have Google Drive installed but my personal device does and it shows up in the nav drawer (2nd image below)

Yes I am using Beta, So in your screenshot, the first 5 files in the list are the "on device" ones? What do I do when I want to delete obsolete saves?

Now a question about icons. There seem to be plenty to do with airconditioners and fans, but I didn't see anything that depicts heaters. In particular I am looking for something suitable for my electric fake log stove, and something for convector heaters and radiators. Am I just not looking hard enough? I think I might like to make some custom icons but have them fit in with the appearance of the inbuilt ones. Is it possible for me to export one of your icons so I get the size and colours the same?

Thanks for improving the tile. I'll check on a different device. I tried clearing the app cache as well but that didn't fix it.

Any way to get all of the text to change color with the icon color. Currently it only changes the icon color even though it states that it is the icon/text color. Is this a bug?
Screenshot 2021-09-22 4.31.27 PM
Screenshot 2021-09-22 4.35.01 PM

Can you please check with Amazon since I am still seeing the May 2021 version. Thanks.