[RELEASE] HD+ - Android Dashboard

There is a old cobra driver which is both a switch and presence. I use that, but can't remember which way around it is what ever it is that has always been the standard. I'll report back once I double checked.

That is how I have all of my devices setup as well. Seems to make the most sense.

version 1.0.2029 (beta)

  • fix bug updating devices in cloud mode
  • reverse presence states: on=present and off=away

This is just a small update. I found a small (but important) bug that I wanted to get fixed.

  • Note that if it's a switch I'm setting the switch to 'ON' if you're OUTSIDE the geofence and OFF when you're INSIDE. My original reasoning was that I have logic in the app to highlight devices/tiles when they're on/open. But, the more I think about it I could be persuaded to reverse this if the opposite is more standard.

I also figured I'd change this at the same time. A switch will be set to 'ON' when you ENTER the geofence and 'OFF' when you EXIT the geofence. It also has the side effect of marking presence devices as 'on' when present and 'off' when away (see image below). This affects any custom icons or background colors set for the tiles. In the image below I'm using the 'Highlight ON/OFF' theme which sets the background color of any tiles that are 'ON' as blue (OFF = grey). So, before this change these colors would be reversed.

3 Likes

Hi,

I have a small problem with one Life360 user who does not have a photo loaded. This means that Life360 has the avatar status of not set. In Life360 itself the user shows an avatar as a plain colour with the first letter of their name in it.

The biggest problem in HD+ is that the user is not shown on the map and if you open the tile up the map stays at the initial world view, it does not zoom to the location.

Would it be possible to make a synthetic avatar in this situation? Not sure whether this is something that should be in HD+ or the Life360+ driver. BTW, this not only happens with Life360+, it is the exact behaviour in both the other Life360 drivers that are available, none of them handle the not set avatar.

Looking forward to trying this.

Can we rename the location?

I would like to do a local location of within my town of a large radius then another with a much smaller radius. The intention is to warm up the house if entering the larger geo but not disarming and going to home mode unless within the smaller one. So if it's possible to have more than 1000m that would be great :+1:t2:

sounds like a bug.. I try to handle that case with a solid color 'pin' but haven't tested it since all my Life360 users have avatars. I'll try to figure out a way to test it out

I also support the OwnTracks driver with the same map and it doesn't have avatar images either. So, what you're seeing those users would also likely see.

Would it be possible to make a synthetic avatar in this situation?

like a generic user/profile image? I thought about that but I'd need a few of them in case there's lots of devices (I display all of them on the same map). I like the initials idea too and can look at that.

EDIT: I just realized something.. I wonder if the problem isn't that you don't have the 'avatar' attribute set but that you have it set to an invalid URL? Can you look at the device in Hubitat and see if the avatar field is a valid URL?
image

I thought about that.. there's no name right now associated with a location. I was thinking the device that you update on the Hub would reflect the name though. I could add an optional name if it helps keep track though.

So if it's possible to have more than 1000m that would be great :+1:t2:

sure that's easy enough


btw - for anyone else interested, here's how I tested multiple geofences. I created several virtual presence devices in the Hub so I could assign each one a location in HD+.
image

I then created a new rule in the built-in Notifier app which would alert my phone when any of the presence devices changed states (present/away).

yes it was more to track so you know location 1 is x rather than just 1, 2 ,3 etc.

great thanks

The easiest and cleanest way is to create a hub variable. Then create a connector from that this way they all group under the connector device.

I'm assuming it's the lack of avatar that is causing the problem here. It could be something else.

Screen Shot 2023-06-08 at 9.04.57 AM

This is what it looks like in the Life360 app:

image

Uses the first letter but random colour, that gives a fair number of options.

I hadn't thought of that. I just created one.. yeah that's much easier. Do you make the type Boolean or does it even matter?

1 Like

lol.. I think it's actually set to "not set". So any app that tries to display it will try to load the URL "not set" and fail.

In fact I just looked at the Life360+ driver and that's exactly what it's doing.. I'll change that in the driver so it simply doesn't set the value at all. But, I'll also update HD+ so it handles this case too

    if (member.avatar != null){
        avatar = member.avatar
        avatarHtml =  "<img src= \"${avatar}\">"
    } else {
        avatar = "not set"
        avatarHtml = "not set"
    }
    sendEvent( name: "avatar", value: avatar )

yes boolean then it will allow the option of presence device as the connector. you can actually then change the driver to be a different presence device and it will still work. So if you needed a way to manually change it the driver which also have ON/OFF works for that.

I see why I made it max out at 1000.. the larger the value the harder it is to make smaller adjustments to the seedbar
image

However, I did built in a way to set the radius to anything you want. Just long-press the Location label in either the map view or in the dialog that shows all of the locations. It'll bring up a dialog that lets you set lat/lng/radius to any value you'd like

1 Like

Ha, that's a good one. Great that you found it. Love your work!

Great idea and very user-friendly. :+1:t2:

This is quite awesome. If you plan to be able to rename the geofences, would there every be the possibility of being able to create a simple string hub variable that would populated with the geofence location name like Home, Work, Mom's, In Transit (when not in any geofence), etc? This would allow for readable text on a display tile without any ancillary rules and would also work in RM. It's probably 6 of one, half dozen of another with the use cases but it's just a thought.

@jpage4500 Out of a sudden HD+ isn't working propperly anymore. Status will not stated correctly and only updated if app will be closed upfront. If I turn on a device using HD+ the device turns on but the shown status in HD+ is still the opposite. Trying to turn off doesn't work. In this situation I firstly have to close the app and open it again to turn the device off.

Happens in local and cloud mode. Reproducible on a second phone. Started happening in the last days not quite sure the exact day but before the latest beta update.

Please help......

I'm also seeing this with 2026

EDIT:
It may be too early to say but 2029 appears to have fixed this.

Same problem here. I have to restart my phone. Also, when the phone first reboots it displays the status my dashboard was showing before the last patch. After a few seconds it updates to current status of my devices.

Unrelated, I can't figure out how to disable presence tracking in your app. I know I've done it before but it really needs a switch to turn it on and off. Looking a bit deeper maybe a quick change for an on/off for each of the items in the more settings menu would be nice.

Can you try the latest version - 2029? I pushed it yesterday so it should be available in Google Play. If that doesn't work let me know and I'll figure out what else changed