webCORE Dashboard Completely Broken. Please Help [UndeclaredThrowableException]


#1

1) Give a description of the problem
After upgrading to webCoRE v0.3.108.20180906, I can no longer load the dashboard. The error I get is:

“There was a problem loading the dashboard data. The data shown below may be outdated; please log out if this problem persists.”

No pistons are listed, and the site redirects me to the browser registration screen.

Steps I have tried to resolve since then:

  1. Deleted all browser cookies, logged out, logged back in. Disabled browser extensions like Privacy Badger that may have been an issue (see Can't load dashboard).
  2. Tried different web browsers I never use which had never accessed webCORE on the same machine.
  3. Changed webCORE and Samsung passwords per similar issue on: "There was a problem loading the dashboard data...." . Created a simple dummy routine just to have one, per same thread, I think.
  4. Created a new webCORE instance. Imported a piston backup archive of my old instance on a fresh computer that had never accessed webCORE. This worked temporarily! Started going through and activating my pistons. Got through about 10 of 70. I came back to finish the next day to the SAME !@#$!@$#%ing ERROR.
  5. Changed webCORE and Samsung password again on second computer.
  6. Removed my second location from the IDE at https://graph-na04-useast2.api.smartthings.com/. Removed my old webCORE instance. Removed 2FA. Removed Face ID from SmartThings app. Removed anything I thought could inhibitloading data.

2) What is the expected behavior?
I CAN !@#$!@$!@#ing LOAD THE DASHBOARD AND USE !#$!$#ing webCORE.

3) What is happening/not happening?
DASHBOARD IS NOT LOADING.

4) Post a Green Snapshot of the pistonimage
CAN’T SEE PISTONS

5) Attach any logs (From ST IDE and by turning logging level to Full)

java.lang.reflect.UndeclaredThrowableException @line 1699 (listAvailableDevices)

^^^ this is the only related item in logs.


New ST app update killed webcore dashboard?
Help! Webcore won't load...👎
"There was a problem loading the dashboard data...."
There was a problem loading the dashboard data.... Unable to load webcore dashboard
Dashboard Not Fully Loading / Requesting Sign-in
webCoRE Update v0.3.110.20191009 - Load devices in multiple batches to avoid timeout errors, FontAwesome always at latest version
Another "There was a problem loading the dashboard data" error
#2

Same problem, same error message here too.


#4

@webCoRE_Minions
download


#5

Do you have all 4 webCoRE source files including the storage one?


#8

@whoismoses Yes, have the 4 files from ady264/webCORE repo, master branch, all updated, no outstanding updates available. Updated to v0.3.108.20180906 via ‘Update from repo’ button.


#10

Same here


#11

Someone experiencing this issue and with the patience to debug it please paste this debugging code in place of your webCoRE Storage smart app. This adds exception logging and reformats the device data to multiple lines inside the storage smart app.

  1. Save the new smart app code
  2. publish changes
  3. Go to the Live Logging tab
  4. Reload the dashboard and send me the red errors

@andyhawks @wjarrettc @Yairsmail


#14

Is everyone on this same shard by any chance? i.e. the web address for the IDE after you log in at account.smartthings.com


#17

I’m not having the issue, I’m on na02. Anyways, I was looking through the code around where the exception is getting thrown. I noticed that there is some code in there related to “contacts”. I wonder if the migration process messed up for a few people related to their contacts or the removal of the contacts feature didn’t go correctly for some people.

private getStorageApp(install = false) {
	def name = handle() + ' Storage'
	def storageApp = getChildApps().find{ it.name == name }
    if (storageApp) {
    	if (app.label != storageApp.label) {
    		storageApp.updateLabel(app.label)
        }
    	return storageApp
    }
    if (!install) return null
    try {
    	storageApp = addChildApp("ady624", name, app.label)
    } catch (all) {
    	error "Please install the webCoRE Storage SmartApp for better performance"
        return null
    }
    try {
    	storageApp.initData(settings.collect{ it.key.startsWith('dev:') ? it : null }, settings.contacts)
    	for (item in settings.collect{ it.key.startsWith('dev:') ? it : null }) {
        	if (item && item.key) {
            	app.updateSetting(item.key, [type: 'string', value: null])
            }
        }
		app.updateSetting('contacts', [type: 'string', value: null])
    } catch (all) {
    }
    return storageApp
}

#18

Looks like that code runs when the storage app does not exist yet, it pushes some data initially stored in the webCoRE app into the webCoRE Storage app. However, as of the removal of contacts from SmartThings that settings.contacts data is just an empty map. In a few places you’ll see it’s now just contacts: [:].

I suspect that the UndeclaredThrowableException is related to an error that occurs in the webCoRE Storage smart app but ST/Groovy permissions or whatever prevent the webCoRE smart app from seeing it. The line in the error log is loading devices that are cached in the storage app so I’m hoping that adding the error logging to that app will catch the original exception.


#19

I am having this issue and I am on NA02. It all started in the last 3 days for me as well.


#20

Someone please try this


#21

you just want me to replace the entire storage code with this new code? If that is the case, the only log I am getting is from the webcore app and this is it.

smartapp_pause called by smartAppName=webCoRE, value=250, smartAppVersionId=7f639a4d-5687-455d-a94b-9b7d370b6087

I have not been able to get in the dashboard for the last 2 hours. I just deleted the spare instance and it instantly let me into the dash and pistons. Hope that helps .


#22

When replacing the storage groovy code with the debug code, I get this error message:

9:34:09 PM: error java.util.concurrent.TimeoutException: Execution time exceeded 20 app execution seconds: 367459279018220 @line -1 (doCall)

Also, I"m on na02 shard, fwiw


#23

I pushed a small change to code at the storage app link that I posted above. Please update the storage app (copy and paste the code) and try again.

SmartThings is having some platform issues today but @andyhawks’ and @jasonrwise77’s problems started long before that and the core issues seem unrelated. This timeout though could certainly be related to updates being made to the platform. We saw a large number of timeouts last week following platform upgrades. Please let us know if you get this timeout repeatedly when reloading the dashboard.


#24

Okay, I’m not getting the timeout anymore, but the only error I’m seeing in live logging under WebCoRE is:

10:23:46 PM: error java.lang.reflect.UndeclaredThrowableException @line 1699 (listAvailableDevices)


#25

Is there a second webCoRE tab in Live Logging? The storage app shows up as a separate webCoRE if you’re filtering the logs to only show one app.


#26

Here’s a few more facts that may or may not be relevant.

I’ve been using WebCoRE presence sensors since you were required to install them in a separate instance. I have never migrated my sensors to my primary instance so I do have two instances of WebCoRE running. If I try to login to the dashboard for the instance that only has the presence sensors and no pistons in it, I also get the same error behavior, the log show a slightly different error (but it appears to be related to me).

10:27:26 PM: error java.lang.NullPointerException: Cannot invoke method leftShift() on null object @line 1712 (listAvailableDevices)

And there are two instances of the “WebCoRE Presence” in Live Logging. One simply shows a debug log for “Loaded 5 devices” (those are my presence sensors). The other shows “loaded 5 devices” and the error stated above.

For my main WebCoRE instance, there is only one WebCoRE showing in live logging and it shows only this:

92f5df3f-160e-4f68-a76d-663c2ef7b751 10:26:26 PM: debug getChildDevices(false), children=0

92f5df3f-160e-4f68-a76d-663c2ef7b751 10:23:46 PM: error java.lang.reflect.UndeclaredThrowableException @line 1699 (listAvailableDevices)


#27

Left shift error seems to be caused by the thing I fixed in the original storage debug code. Please update to the latest code at my GitHub link for that app and check the All tab in live logging for errors.


#28

No change in behavior after updating the Storage groovy code again.

8:23:39 AM: error java.lang.reflect.UndeclaredThrowableException @line 1699 (listAvailableDevices)

And you can see from the log header, there’s only one log entry for WebCoRE not 2 as you suggested it should be above.