[RELEASE] HD+ - Android Dashboard

Thanks! All better now.

I noticed it wasn't working for me so I checked my wife's phone, her's was working until I upgraded to the latest version at the time.
She loves it when I make things better. :wink:

Another thing I'd like to change is the widget tap to open I have set for my outdoor temperature sensor.
Unlike the door lock widget that opens a small pop-up that is dismissed by tapping elsewhere on the screen, my widget for the outdoor temp opens a full screen display that can only be dismissed by tapping on the x in the top right corner.
Any suggestions on how to configure it so it opens a smaller, easier to close pop-up?

@jpage4500 I created a virtual presence device in Hubitat but your tracking device selection doesn't see it. It's that device type allowed in the list? I originally set it as my phone as the tracking device but that doesn't seem to flip from present to not present on the dashboard although the activity section in settings it seems to be tracking properly.

I changed that virtual presence sensor to a switch temporarily and your presence tracking was able to use it, though it didn't flip status. I think han was able to change it back into a presence sensor but again it won't flip my presence on the dashboard. The activity seems to be working.

Also I noticed that there can be up to 10-20 "pings" for lack of better word at the exact same time. Is that normal?

Also, Joe is it possible to have more than one geofence. I'd like my hub to know when I'm at work based on a geofence. More specifically I'd like it to know when I leave work so my house can do a little prepping for my arrival.

I do use that full screen popup for several device types and maybe not all of them need it. Generally I want images and videos to show full-screen when clicked - or any other device type that could take advantage of being full-screen.

I did test a temperature sensor as a widget and it's not showing full-screen for me. Are you using a different device type?

The app does do a full refresh every <10> minutes by default. This is primarily to supplement the 'websocket' connection to the hub which pushes out device changes in realtime. For example, if you add a new device to MakerAPI the only way the app will know about it is to do a full refresh.

This refresh is the same as doing a manual 'pull to refresh' on the main screen

That said - I've also had some stale/out-of-date tiles on 1 of my Fire tablets. When I've noticed it and did a pull-to-refresh, everything updated so clearly something wasn't working right. In my case I know my tablet has connection issues due to it's location in the house -- but I'd still like the app to handle these by retrying when it's back online.. anyway, it's one of my top things to solve.

Video tiles don't fall into any of this though.. each of the video drivers (RTSP, MJPEG, etc) has a way to know when the connection fails. Assuming the app can find that out - it should just auto-retry to connect after some short period of time. I've tested some of this but unfortunately I never get enough time in the day to keep a video connection going long enough to see some of the issues you're seeing. It's definitely on my TODO list and I do have at least 1 RTSP device which I can use to test with

1 Like

I had to get node-red to seperate the values to use the http get command to set the temeperature. but now, as of this morning, both samsung tablets will not start the dashboard. I factory reset one of the tablets and loaded the stable version with the same result. I rebooted the hub, same. I took out all devices but one, and still can't get the dashboard, either stable nor beta, to start without crashing. I noticed the version of the dashboard in the shop is 1.0.1707

I think that's probably the issue, mine is an Ecowitt WH32 using the community integration.

I don't remember if I had to change the device type during installation of the app.
I'll dig out another phone/tablet and do a fresh install to check.

Maker API output

{"name":"Outdoor Ambient Sensor","label":"Outdoor Ambient Sensor","type":"Ecowitt RF Sensor","id":"1640","date":"2022-08-24T17:01:34+0000","model":null,"manufacturer":null,"room":null,"capabilities":["RelativeHumidityMeasurement","Battery","PressureMeasurement","IlluminanceMeasurement","UltravioletIndex","WaterSensor","AirQuality","CarbonDioxideMeasurement","TemperatureMeasurement","Sensor"],"attributes":{"water":null,"dataType":"NUMBER","values":null,"windGustMaxDaily":null,"lightningEnergy":null,"rainRate":null,"batteryWindIcon":null,"pm10":null,"rainYearly":null,"status":null,"batteryRain":null,"humidityAbs":null,"carbonDioxide":null,"windCompass":null,"batteryRainOrg":null,"temperature":"21.9","aqiDanger":null,"ultravioletDanger":null,"ultravioletIndex":null,"aqiDanger_avg_24h":null,"pm25_avg_24h":null,"html":" 21.9 °C 57 %","pressureAbs":null,"windCompass_avg_10m":null,"airQualityIndex":null,"rainEvent":null,"windSpeed":null,"orphanedTemp":null,"rainMonthly":null,"lightningDistance":null,"batteryOrg":"0","batteryTemp":null,"dewPoint":null,"orphanedWind":null,"windDirection":null,"batteryWind":null,"html4":null,"aqi":null,"batteryWindOrg":null,"orphanedRain":null,"windColor":null,"html2":null,"aqi_avg_24h":null,"waterMsg":null,"rainWeekly":null,"batteryRainIcon":null,"leafWetness":null,"windGust":null,"batteryIcon":"100","rainDaily":null,"humidity":"57","battery":"100","simmerIndex":null,"windDanger":null,"heatIndex":null,"lightningCount":null,"pm25":null,"windSpeed_avg_10m":null,"solarRadiation":null,"heatDanger":null,"aqiColor":null,"aqiColor_avg_24h":null,"simmerDanger":null,"ultravioletColor":null,"heatColor":null,"orphaned":"false","rainTotal":null,"batteryTempOrg":null,"pm10_avg_24h":null,"simmerColor":null,"pressure":null,"windChill":null,"waterColor":null,"lightningTime":null,"rainHourly":null,"windDirection_avg_10m":null,"batteryTempIcon":null,"html1":null,"html3":null,"illuminance":null,"carbonDioxide_avg_24h":null},"commands":[]}

Hi Tony - not sure if you're the only running the app on the Wink Relay but I finally replaced mine a few weeks ago with (2) $13 Kasa switches. I did love the Relay but it was just too slow to use the touchscreen and I was noticing the 2 device 'buttons' that were added to the Hub weren't always in sync (ie: I could turn the Relay connected lights on/off via the Hub but sometimes it'd say a light was ON when it was really OFF).

Both the memory and storage space on the Relay are so limited I'm not surprised any memory intensive tiles (such as images) cause issues. The radar tile itself doesn't do much - it simply downloads a weather.com forecast page and scrapes all of the embedded radar/image URL's from the resulting page. Then, it displays them one at a time with a second or 2 delay -- creating a semi-animation.

Anyway, I haven't seen any crash reports for that OS (Android 4.3 - which I think the Wink Relay is running) since 8/9. It's possible that they're not sending of course - that's just what I can see. The crash details that I have for that example doesn't make sense to me either.. which could just be a result of low or no memory causing unrelated things to break. Sorry that's not much help - but I'm not sure how else to debug now that I don't have a device to test on

If the app is crashing and you want to start over - can you try a 'clear data' on the app (usually long-pressing the icon in the launcher -> app info -> storage -> clear data)? Then, if you login again and the app crashes there's definitely a problem with one of the devices being returned via MakerAPI! Otherwise, there was something else in the saved preferences which the app isn't handling well.

In either case, a crash on startup means I won't get any kind of crash log. It's more painful to get device logs manually but that's the only other way I can think of to figure out what the issue is.

On both tablets, I removed the app completely, then tried to add the app again. Google play actually crases, but the icon does come back on. I cannot get past the setup screen before it crashes. I tried the manual setup, but once I add the IP, it crashes. I removed all the devices, except one light, but that did not help. I'm trying to find a way to revert back to the previous firmware if I can.

doh! Yeah, I left that device type off the list on accident. I just tested on a switch (an outlet in my house) before just now changing to use my 'mobile app device' which was created by the Hub's app.

Edit: I see why I left it off the list.. according to the Hubitat docs the presence sensor device type doesn't support any commands. But, I also see the virtual presence sensor supports arrived and departed so I'll just look for that.

I will say I've been mostly paying attention to the notifications of when I enter and exit and less to the actual toggling of device presence (which I realize is the actual end-goal!).

I did confirm a switch and mobile device type works but I should double-check that I'm sending the correct commands.. When EXITING a geofence, I'm sending "on" to a switch device type and "departed" for a mobile app device type (and vice-versa for ENTERING)

Anyway, now that I'm using my mobile app device I also disabled the native Hubitat's geofencing so I should know pretty quickly if it's actually marking the device as departed/arrived.

I'll add support for the presence type.. I can support others too if it makes sense just let me know

Also I noticed that there can be up to 10-20 "pings" for lack of better word at the exact same time. Is that normal?

I'm not sure what you mean by pings here.. system notifications? There should only ever be 1 of those (enter/exit). I am careful not to do any work if the app gets multiple ENTER or EXIT events too.

Also, Joe is it possible to have more than one geofence. I'd like my hub to know when I'm at work based on a geofence. More specifically I'd like it to know when I leave work so my house can do a little prepping for my arrival.

I was wondering if that would be desired by anyone. I really wanted to make sure 1 geofence worked first though before thinking about multiple. There's also the possibility for sending your mobile location (lat/lng/accuracy) to your hub. I didn't implement it of course but figured that might be some future option (like Life360 does -- except this wouldn't involve any 3rd party server)..

If this does reliably work, (I am testing it) then I certainly could see a use for multiple geofences. Certainly could initiate commonly used routines when leaving work geofence to turn on lights, adjust HVAC, notify wife, etc. before arriving home.

1 Like

Here's an example of the multiple "pings"

I see - yes those are all location checks in response to some system 'events' such as connection events (ie: WIFI -> Cellular) or physical activity events (IN_CAR, WALKING, etc). They wouldn't be needed at all if the Geofencing API actually delivered results in a timely manner.

As such, I've done my best to make sure each time they're called the app does as little as possible and exits if no change is necessary (hence the "NO_CHANGE" entry). It'll take time and lots of testing to find the right balance for sure!

That makes sense, I am moving all day at work but why the same time stamp?

I'm sure I am blind, but where did the long press and hold option go to turn off all the lights/fans/etc?

I have a folder that I put all of my switches, plug modules, Hue blubs, etc. into, but when I long press and hold, I no longer get the All On or All Off option like I have in the past. I am running build 1695 and I recall seeing something this option in the past, but having to search/scroll through almost 3600 posts will take a while.

No worries; the Relay is an outlier for sure and is tedious to interact with. But it suits my needs as a status display. Using it rooted with @josh's Wink Relay app I haven't had any issues with the built-in switches; HE has been able to control and display the status of those correctly.

It definitely runs better (as in, the app will stay running as long as the intervals between Dashboard releases) when it's not showing the homescreen for some reason. Do the periodic full refreshes also happen when folders are being displayed? I'll try changing the refresh interval to 'never' to see if that makes a difference; maybe the refreshes sap its meager resources.

It should still work - it only shows if all of the devices are toggle-able but they don't have to be the same device type.. ie: lights, switches, valves. Is there a device in that folder which might not be? (side-note - I'm not sure I ignore things like 'empty space' tiles so that's something I can fix

EDIT:

It should still work - it only shows if all of the devices are toggle-able but they don't have to be the same device type.. ie: lights, switches, valves.

I was wrong.. looks like they do have to be all the same 'type' -- so all lights, all switches, etc. It's probably because I'm displaying the device type image in the buttons so it's obvious what you're turning on or off.

version 1.0.1717 (beta)

  • add support for image widgets
  • fix issue showing radar dialog
  • support presence device for geofencing
  • long click of folder shows all on / all off option (modified)

You can now select 'image' device types to be used as widgets:

I'm going to try and spend some time debugging a couple of nagging issues for the next release -- primarily one where tiles don't refresh correctly. I'm also going to be doing more geofencing/presence testing

3 Likes

@jpage4500 So far so good with the presence tracking. Joe I had a nifty idea for the presence tracker. If you do infact incorporate multiple geofences can you give us more options than present and non present in a single tile. Home, away, work, cabin, etc would be really cool all in one tile.

1 Like

Glad to hear! It's working for me too but definitely could be better IMO. I just went out for an hour and it took maybe 5-10 minutes after leaving the geofence area before I got the 'exit' notification.

Looking at the logs later I see the app got an activity/motion event for 'DRIVING' but it wasn't able to get the location at that time. I'm pretty sure it's Samsung not allowing apps to do things like this in the background -- and I'm also unsure if there's any way around it either -- but still it'd be nice if was a little faster.