[RELEASE] HD+ - Android Dashboard

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.

I am using Pixel 6 and it's flawless. It's matching my Alexa presence routine by the minute, which has been working perfectly for a month.

@jpage4500 Joe I am switching your tracking to track when I'm at work. Can you please allow for the geofence to be larger than 1000m. My job has me driving around about a 5 mile area.

Alternatively and maybe better for me does anybody know how to craft a rule that requires me to pass through a geofence twice. One puts me in work mode and I stay in that mode till I pass through it again, like a check point.

45 minutes late for me.

I have a test Pixel 4a and it also handles geofencing perfectly. It's the Samsung devices (and probably others) which are adding layers of 'performance enhancing' software into the OS which makes this difficult.

45 minutes late for me.

Now that sounds more like a Samsung device :slight_smile:

The good news is I'm seeing the OS notify the app for some of the other sensors - like the 'Physical Activity' detection.. it reported to the app that I was in the car/driving (it has some generic activities it gives with a % confidence) right after I started driving. The app tries to get the current location at that point and nothing happened. But, if I can just get it to check the current location it'd likely realize I'm out of the geofence and I could notify the Hub.. anyway, still working on ways to get that to happen.

Can you please allow for the geofence to be larger than 1000m.

Sure

On my Pixel 4a that I was having issues with, the one that would get stuck in the fetching location loop, I was able to get the Radar tile options to show with the latest 1717 build. But when I clicked on Current Location, nothing would populate and the tile was a blank empty tile. Not an empty space, a colored tile that matched my theme, just emtpy.

As a test I added the Radar tile to my Pixel 6 Pro and as soon as I clicked Current Location, it prompted me for the permissions, then populated my current lat and long degrees. I'm going to chalk up the Pixel 4a issue to what you were seeing in the logs Joe. And the 'null' field never getting cleared. I ended up manually entering the coordinates and the radar image appeared. Now I just need to get some weather.

1 Like