webCORE Dashboard Completely Broken. Please Help [UndeclaredThrowableException]


#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.


#29

Please bear with me, there is another update to copy and paste over the webCoRE Storage app. Save and publish, then follow a new step just to make sure the device data has to be reloaded.

In the ST app go to Automation > webCoRE > Settings > Available devices > Available devices (again) then tap Done in the upper right. No changes to authorized devices required, this is just a way to ensure that webCoRE refreshes some data for the devices and dashboard.

Then go to the All tab in Live Logging and load up dashboard.webcore.co