[RELEASE] HD+ - Android Dashboard

@jpage4500 Maybe I misunderstand the function here. I use a Pixel 6 with gesture navigation. I like to go back using gesture instead of the HD+ back button. In addition it gives me more space on the HD+ desk. But I don't want to open the nav drawer all time. Opening the nav drawer works fine from the left side even with activated gesture navigation. Is it possible to have settings to control the behavior?

You're right - I got munged by the post character stripping.
I meant to say"
As I understand it (and I'm not an expert) an html tile used to start with '<html>'. In todays html5/css3 it can also start with <style>.

lol - guessing you had more than just a single " :slight_smile:

Today I'm looking for any one of these things in the attribute.. if found, you can use it for an HTML tile.

"<html", "<div", "<table", "<img", "<iframe", "<span", "<ul"

I'll add <style to that list

1 Like

@jpage4500, thank for fixing the option to remove the back button :raised_hands:

I like the new "Set timer" option for switches, but its 5 hour limit is not enough for some of my use cases. Sometimes I want to turn on floor heating in 7 or 8h.
Would it be possible to extend the options a bit?
An option to set a specific time (based on the device's time) would also be great.

You're right - this won't work on a TV

The intent was only to change the behavior for viewing folders. Previously, there was no way to 'drag' the navigation drawer open from the left edge of the screen because the 'back' gesture would take over. And the back gesture would navigate back to the main screen.

The change was to first show the nav drawer when you used the back gesture and then back out to the main folder.

However, I didn't want to do this for devices where you could actually 'drag' the nav drawer open from left to right - so I only am doing this for gesture navigation devices. What I failed to remember is that I also need to take into account if the device has a touchscreen too.. like a TV

1 Like

I wasn't able to open the nav drawer (by touching the screen) at all on a Pixel 7. Every time I tried it activated the 'back' gesture. Is this not the case for your phone? I don't have my phone in front of me but is there a setting to only look at the right->left gesture and ignore the left->right one?


Actually, there might be a way to disable this system 'back' gesture in the app itself.. that would be ideal so I'll play with it. link

@jpage4500 Thanks for looking into it. I can go back using left gesture and right gesture. I can use both gestures on my Pixel 6. To open the nav drawer in the HD+ app I don't swipe from left->right, instead of that I just touch the display close to the left handside of the screen. The nav drawer opens a bit and then I swipe to the right and the nav drawer opens completely. It works flawlessly on my Pixel 6.

@jpage4500 This app continues to shine and make me very happy!

I've another one for you - and maybe I just need to learn more - can I reference an external css file stored in file manager for use on a tile in anyway you can think of? I haven't yet tried it and I'm just now delving but it seems a project I am in could really take advantage... is there anyway? I actually think this may be a more 'community' based question now I think it further...

version 1.0.2125 (beta)

  • add ability to set background color to transparent
  • tile builder: try to minimize padding around the table
  • BACK key will open nav drawer only on main screen (second BACK to exit)
  • look for 'style' to support HTML tiles

There's a couple of changes in here to try and make Tile Builder tiles look a little better in HD+:

  • The first change is a small and a little hard to find. If you want to remove the background for any tile, go into edit -> background color and scroll to the right for the 'favorite colors'. The 2nd to last one in the list is "Clear" which will clear the background. The last option, "Default" will revert back to the default color.

  • The second Tile Builder change is to remove extra padding around the HTML tables. The screenshots below show the before and after of this:

    ->

Of note - these changes were done to help Tile Builder tiles but they also apply to any tile

I also tried to fix the BACK key navigation issue. I'll have a future change which will help this further as well.

4 Likes

@jpage4500 you are genius. I love the back key solution you implemted.

Thanks

@jpage4500 Wow! I just ran update a few minutes ago - and all my HTML tiles improved! incredibly update JP!

I did get 2 failures - I had 2 tiles go bad - both were hard URL's to Grafana charts use web tiles. the tiles says "Invalid HTML!"
I'm going to attempt recreating

image

*updated - * recreation was unsuccessful - iframe and pure link, kiosk mode or not. I have no SSL on this and didn't need it before but this went strange on me!

I was able to reproduce this and will get it fixed

version 1.0.2133 (bets)

  • prevent back gesture from interfering with opening nav drawer
  • fix web tile - URL
  • support new permissions in API 33+

This version has several behind the scenes changes in it due to this requirement from Google Play:

Starting on August 31, 2023:

* App updates must target Android 13 or higher and adjust for behavioral changes in Android 13 

Don't worry if you have an older device - this just means apps must support new permissions which were added in Android 13. For example, apps now need permission to set an alarm for a specific time (which I use to wake the device); It also needs permission to show a system notification.

I have an Android 13 device (Pixel 7) and everything is working so far but I'll continue testing.

I also fixed the Web tile (showing "Invalid HTML!")

Lastly, I made a change that only affects Android 13+ devices.. it's supposed to prevent the BACK gesture (left to right) from interfering with the navigation drawer. I still need to test it more but if it works reliably than I will remove the logic that opens the nav drawer on a BACK key. But, I want to be sure before removing that

3 Likes

@jpage4500 How about just having a settings tile. It needs to be in the dashboard upon creation. I must be using my devices differently then others as I dont understand why this is even a problem.

Hi @jpage4500, whatever mojo you have with Android is exceptional. The presence detection on your app has been the most reliable 2 fold over Owntracks, Life 360, and the native Geofence stuff.
I was wondering if you'd reconsider a feature request to have the lat and lon populate some devices (or variables) just like the presence detect can control presence on a device. Something conceptionally simple (I say simple but I do not know Android programming to know if that's truly the case) as update the selected lat and lon devices (variables) every xx sec when not on wi-fi. I know you mentioned battery drain as a primary reason not to implement but if it's optional with an update time that can be adjusted and disabled when on wi-fi maybe it would be an acceptable drain.
Again, thanks for your exceptional work!

2 Likes

I can add this to the TODO list.. is there a Hubitat virtual device that supports lat/lng? I know the virtual presence device just supports 'present/not present'

Thanks for the consideration. With that feature anyone can remove OwnTracks, Life360 completely, since your presence stuff works so much better.

I envisioned a numeric hub variable for each. Worst case I'd be happy to attempt to make a new virtual device that would support both lat/lon in one device if needed.

1 Like

I feel like that's the best route but I'm happy to hear other ideas. I was kind of hoping there already was a virtual 'location' device but if so I can't find one.

Something that has a command like 'setLocation' which takes in a "lat,lng,accuracy" string maybe? The accuracy part isn't necessary but I find it useful as actual location results come with an accuracy value which equates to how accurate that given lat/lng coordinate is in meters. So, a very low accuracy value like "5" would mean the location is accurate down to 5 meters. You'll also see locations with accuracy like "250" which is a lot less accurate. It has to do with how the actual location is gathered (ie: GPS, cell towers, etc)

Thanks, I'll get right on that then. A device with command called setLocation that will parse the incoming string (CSV as you show) and populate the 3 values. I've written a couple very very simple groovy devices so I should be able to get this done with a little more research but it will take me a little time as I'm that proficient at groovy yet. My expertise is in PLC code for industrial automation.

version 1.0.2136 (beta)

  • Life360: better starting map position / animation
  • Life360: fix "ERROR: NotInstalled" popup

2 small changes in this version for Life360 (or OwnTracks) devices

2 Likes