[RELEASE] HD+ - Android Dashboard

I'm thinking that the calendar URL you used in gCalendar isn't publicly visible - otherwise you shouldn't have to login to view it.

The keyboard issue - yeah, I haven't really tried interacting with the WebView (embedded HTML browser).. it's definitely possible though and I'll look into it. Generally speaking I don't want the main dashboard screen to interact with web tiles (ie: zoom, navigate to links, etc) but the full-screen version should be able to behave like a mini-browser

I don't have any way today to hide some of the elements on the 'status' text.. there's only a few attributes that display on tiles like this and temp is one of them. I'm not sure how useful it is for my devices either.. I've got several contact sensors and a few Blink cameras which have temp sensors on them

It might not help but I am adding an option to change the status text size globally as well as hide the status text completely (same with the device name text). But, you'd also lose the other status elements like "Open" and "Disarmed" in the screen above.

I can add an option to hide the temp sensor.. not sure if it should be global or per device though.. it'd be a pain to hide them for several devices

1 Like

How about if there was a choice of tiles that could display for any particular type of device so you could choose the one with everything on or the one with only the temperature on etc, rather than having one tile and it being configurable? Not necessarily my preference but it might be one way around this issue.

I always liked the already built 'Manage Display Items'. If that were expanded - have a 'title' selection, a 'main' selection and a 'footer' selection where a user could pick what attributes for each section of the tile?

Understood. Not willing to make my calendar publicly visible.

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