Patched webCoRE for Hubitat (2018/09/09)

I’m trying to get my android device and the webcore Presence to now register to the webcore I have on my Rpi.

It was previously used to connect to the ST environment. How do I properly remove the data on that phone and connect to the webcore over on my Rpi?

On the iPhones it was pretty straight forward. Just delete the app and reinstalling it and registering the browser and all was good. But no luck for the android device.

Any pointers?

I installed WebCoRE and enabled Oath, am able to select devices it can manage, but when creating a piston, none of hte devices are available in the drop-down. What am i doing wrong?

I tried in multiple browsers, with the same result

Same thing happened with me at first. I then went into Hubitat and clicked on "Apps". Locate the WebCore section, then you should see the app with the type "Storage". Clicking on that app and selecting the devices there worked for me. The Storage app didn't show up in the list until after I opened Webcore the first time.

Is it possible to access webCoRE (local install) from outside LAN?

I have port forwarding configured. I do the whole register browser thing, and after entering the code, the webcore circle just continuously spin before finally opening to a blank dashboard.

The safest way to so this is to set up your home router as an OpenVPN server. Then, connect to your home using an OpenVPN client. You will then have full access to everything on your home network, in a safe, secure, encrypted manner.

1 Like

Hi there, I'm slowing trying to move from ST to Hubitat but having a ton of issues getting webCoRE to work on Hubitat over the last 2 weeks of trying multiple times.

When I try to create a piston, the piston will never create with the webCoRE logo just spinning like it's loading but nothing ever loads. I tried both using the webCoRE server I have running on my network on Raspberry and using dashboard.webcore.co but getting the same results. I rebooted Hubitat hub, removed/readded webCoRE app and deleted the App Code several times and readded it. I have just webCoRE setup as OAuth:

I tried multiple ways with setting up the custom endpoints and have them setup correctly and even tried with it disabled.

Logs of the Piston I'm trying to create
[app:null] (http://10.100.90.36/logs#appnull)2018-06-22 21:36:25.162:errorgroovy.lang.MissingMethodException: No signature of method: com.hubitat.hub.dao.InstalledAppDao.saveState() is applicable for argument types: (null, java.util.LinkedHashMap) values: [null, [created:1529717785139, modified:1529717785140, build:0, ...]] Possible solutions: saveState(long, java.util.Map) on line 1067 (installed)

Logs of webCoRE Instance I have installed:
[app:173] (http://10.100.90.36/logs#app173)2018-06-22 21:56:12.802:errorjava.lang.IllegalArgumentException: Maps with null keys can't be converted to JSON (api_intf_dashboard_piston_get)

[app:173] (http://10.100.90.36/logs#app173)2018-06-22 21:56:10.146:errorjava.lang.IllegalArgumentException: Maps with null keys can't be converted to JSON (api_intf_dashboard_load)

[app:173] (http://10.100.90.36/logs#app173)2018-06-22 21:55:59.853:errorDashboard: Authentication failed due to an invalid token null

[app:173] (http://10.100.90.36/logs#app173)2018-06-22 21:55:49.758:errorDashboard: Authentication failed due to an invalid token null

Anyone have any suggestions, short of factory resetting my Hubitat hub which I can't find instructions for, I don't know what else I can try since it replicates on both the regular webCoRE Dashboard and my Raspberry server on my local network. RM is working fine on my Hubitat hub on a few that I setup but I would rather move over the 112 pistons I already have setup.

webCoRE works fine on my ST hub as well. With the authentication errors, I have tried multiple passwords, tried multiple computers and cleared cache on Chrome and IE to rule out password or browser issues.

Have you tried it, without using your own server 1st? Turn off custom endpoints and prove that first before you go into creating you local dashboard.

Thanks for suggestion, I did try that before but won't hurt if I delete webCoRE again and try that again first. I'll try when I'm home later today.

Everything was working fine for the IFTTT but as of today, this stopped working. Coincided with the hub update to 1.1. Is it just me?

Did a quick test and it was still working for me:

damn....more testing on my end i guess.

out of curiosity, is your hub on version 1.1.0.120?

Also for some reason, directly clicking the external links also don't seem to work anymore. When i click it, i get a message saying Ok with the timestamp, but nothing happens to the piston.

Any ideas what could be wrong?

I had to reset my hub yesterday, when updating to the new version and restored a back up copy of my database....and all this started. Not sure was it because of the back up or was it because of the new version.

I hate quoting myself, but the above is helpful for context. I have had hit-or-miss success in keeping access to the Hubitat WebCoRE dashboard. Until a couple of days ago, it worked great for a several days - that seems to be the pattern: good for a week or two, then it disappears and strangely re-appears without reason. By "worked great", I mean I can have a browser window that has the choice in the top left that looks like this (but with a choice of both ST and Hubitat versions - what I show is the working ST-only):

image

The above is what I have now, ST only. Now, when I try to register an instance of the Hubitat dashboard, after entering the one-time code, I get a variety of errors. Usually this:

followed by:

image

At any time, I can go to ST and register a new browser and it works. So, I don't have any way of controlling my HE pistons. Is there a step I'm missing? Am I the only one?

I noticed that it depends on how many devices I expose to WebCore. Remove some devices that you don't need to see if that will help.

I was using 1.1.0.120 and the local hub link.

@CAL.hub Are you running a local version of the webcore site? If not, I've found hubitat's cloud inconsistent with responses with webcore. You can try looking in the network tab in chrome to see if you are getting 502 errors like users were above your post.

A local version of webcore on your lan will always be consistent until their cloud links can handle larger responses without erroring out.

I scrutinized it and removed redundant devices (although I don't think that matters) and brought the total down to 33. Still no joy. Do you think 33 is too many?

No, web at dashboard.webcore.co

I've tried Internet Explorer, Firefox, Chrome and Opera (on an Android tablet); fi that matters.

EDIT: reduced the device list to 16 and it works. I'll try to stay at a minimal list to see if it's longstanding. Interested to know if others are higher and seeing successs.

I have more then 33. Remove them all and start adding one by one. Have dashboard open when you adding devices back. You will see 'That was a problem loading your dashboard" as soon as you add bad device. Uncheck bad device and see if you can add next. Some device types may not play with Webcore well, I guess it has something to do with device capabilities.

Will do.

Do these issues go away with an rPi hosted dashboard? It's new ground for me, but if that's what it takes....

Try holding off that for now if you're uncomfortable. Got something in the works that should help soon.

2 Likes

I've updated my repo with changes to improve the startup performance of pistons, and to help get around the 502 errors if you aren't using a local version of webcore.

Pistons should now start executing ~70% faster (80-120ms vs 300-600ms for runtime loading in my tests) making it much faster for motion and lighting based automations. If you have multiple pistons that subscribe to the same motion sensor or another device that is time sensitive, combine them into a single piston for the best results as apps subscribed to the same event seem to be a little sluggish.

*Note to devs that multiple calls to atomicState are expensive in hubitat. Smartthings did some type of optimization for faster loading that isn't present here so I added caching in webcore when possible to help combat this.

When retrieving pistons, the logs and stats are dropped from the retrieval to help bring the response below 100KB to prevent 502 errors from hubitat's cloud links. These stats are loaded a few seconds anyway after viewing a piston, and this should only affect loading the dashboard for the first time on a new browser.

App Update

4 Likes