[RELEASE] Device Watchdog

All devices/brands, it's not picking up the last activity for any devices it seems.

Hi @bptworld and forgive me for asking again, but any progress on providing 2 options for an activity under the 'Special Tracking' options.
I appreciate you are probably very busy and this is likely on your be nice to have list and therefore not that important but thought I would post a gentle reminder .
Thanks again and sorry to be a pain in the :horse:

1 Like

Am I doing something wrong with the device name filters? For example, I am trying to filter out the word 'Door' from the tiles on my dashboard by putting the word 'Door' into the Filter Options for the status report. However, 'Door' still shows up in the report and on the tiles.
Screenshot 2020-11-19 092449

Added to the list to look into. Thanks

2 Likes

I'm trying to use the Special Tracking Report Options for the first time and I selected a Arduino Ethernet parent device and was trying to look at the Presence attribute to alert (for testing) for present, but when I try to run the report it says

Unexpected Error

An unexpected error has occurred trying to load the app. Check Logs for more information.

Error: Cannot invoke method toInteger() on null object


These are my settings:

Thanks.

Show me the device page please, specifically the 'Current States'

Just noticed that notifications (device as well as Pushover) is not working for the Special Tracking Options. Nothing appears to be coming through (device activity notifications are working fine).

Yes. I've just had some strange things happen too.
Every 2 seconds I was getting the "1024 attributes too big thing-a-me-bob" in the logs (can't remember the exact words) every 2 - 3 seconds.
I had to delete everything and start again to fix it.

I have the same error on mine too.

I deleted my previous post because the formatting was not quite right (my first time posting). Here is another try.

This is a great app. I was going to create my own but this is better.
I may have found a bug. I created an activity report and my durations are negative. I noticed a pattern, they were all off by about 7 hours. I am in MST timezone which is 7 hours offset from UTC. I went digging in the code, DW-child.groovy, version 2.3.5 and found the issue on line 1574.

try {
state.since = aDevice.getLastActivity()
def prev = Date.parse("yyy-MM-dd HH:mm:ss","${state.since}".replace("+00:00","+0000"))

def now = new Date()

use(TimeCategory) {
state.dur = now - prev
state.days = state.dur.days
state.hours = state.dur.hours
state.minutes = state.dur.minutes
}

This appears to be stripping the timezone. My date format always end with +0000 so I decided this line is not really needed (maybe this was needed for older systems?). I removed this line and it now works! :slightly_smiling_face: Here are the changes.

try {
**state.since = aDevice.getLastActivity() **
def now = new Date()

use(TimeCategory) {
state.dur = now - state.since
state.days = state.dur.days
state.hours = state.dur.hours
state.minutes = state.dur.minutes
}

1 Like

The parse string should be "yyyy-MM-dd HH:mm:ssZ" which takes the timezone into account. I use something like this:

private Long lastNodeActivity(node)
{
    return Date.parse("yyyy-MM-dd HH:mm:ssZ", "${node.getLastActivity()}").getTime()
}
1 Like

New version:

2.3.6 - 11/27/20 - Adjustments and added features

1 Like

Hi @bptworld, a couple of things to report relating to the new special tracking options.

In Device Watchdog the Device Reports Button throws the following error when special tracking is selected

java.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 661 (reportHandler)

Also the pushover notification option continues to send a notification when special tracking is selected despite the option checked to only send a notification when there is something to report (I get this message [:] on my phone) .

New version:
2.3.7 - 11/28/20 - Push adjustments, other tweaks

1 Like

All good now, thanks!!

1 Like

Thanks for putting in the ability to select two states in the attributes. :+1:

1 Like

Version 2.3.6 fixed the timezone issue, thanks for the quick fix, it is really appreciated.

New to Device Watchdog and HE. Used the Hubitat Package Manager to install Device Watchdog.

HPM shows the following:
Device Watchdog Documentation | Community Thread

  • Device Watchdog v2.0.2 (app)
  • Device Watchdog Child v2.3.7 (app)
  • Device Watchdog Tile v1.1.0 (driver)

Just want to confirm you are only updating the Child app and i should expect the parent app to be a different version number from the child app.

Thank you.

Yes, each piece is updated separately and has it's own versioning.