Using webCoRE with Hubitat

You are right, there is no done button on the screen you shared. You just need to click on '<< App List'.
I am not sure why you do not see any devices within webCoRE though :slightly_frowning_face:

Let me callout the steps I followed once again if it helps...

  1. Go to the Apps page with the Hubitat portal.

  2. If you have already installed webCoRE, you should be able to see it listed as shown in the image below...
    Here, 'Hubitat webCoRE Director' is the name I had given to the webCoRE instance, at the time of installation.


    Here, don't click on the parent level 'Hubitat webCoRE Director' link. Instead, click on the nested child level 'Hubitat webCoRE Director' link (Or whatever is the name you had given your instance).

  3. On the following screen, you would see the Available Devices option shown in the screenshot you shared. Selecting it would take you to the Device selection list. Over here, do you see your devices already selected?

1 Like

Thanks. I think I was clicking on the parent app. I have it working now. Appreciate the help.

As an aside, the latest version of Hubitat now syncs selectable devices in ST. I have a few pistons which I can’t let go of now, so I wrote them to turn on-off virtual switches. Now I can see and use those switches in Hubitat Rules now. That upgrade made things a lot easier for me. YMMV

2 Likes

I agree. I have been doing the same thing.
Glad we have uni-directional sync from both sides now.

Followed the advice here and also got webCoRE installed and mostly working; it appears that time triggers do not work and produce the error noted by ajayjohnm:

An error has occurred while subscribing: groovy.lang.MissingMethodException: No signature of method: app15195358982511898645948.runIn() is applicable for argument types: (java.math.BigDecimal, java.lang.String, java.util.LinkedHashMap) values: [61.915, timeHandler, [data:[t:1519591380000, s:1, i:-1, cs:[], …]]] Possible solutions: run(), run(), println(), println(), dump(), any()

But time conditions seem to work and that makes for a lot of useful automations. I also noticed that the Aeotec Doorbell doesn’t have the ‘playtrack’ capability (apparently due to the way the driver is coded) but that can be worked around using ‘speak’ with a numerical value for the track number.

More significantly, I haven’t found a way to use the Aeon minimote as a trigger; it doesn’t seem to show ‘button’ as an option when choosing it.

I also noticed that using the web dashboard somehow had the ability to bounce me into my SmartTiles instance of webCoRe; this in spite of having logged out of the dashboard the first time I noticed this. It actually offered me the option of copying a ST piston into my Hubitat dashboard (when I did this, it copied the piston with numerical strings where the normal ST device names would have been). I have to confess I really don’t understand how webcore.co interacts with the ST and Hubitat instances and am a little leery of corrupting the environments.

try converting the delay value sent to runin to an integer using toInteger()

You'll need to modify the capability used for buttons, our implementation is here:

Thanks, I will pursue this advice with my feeble programming skills. Hopefully someone smarter than me will beat me to it :grinning:

webCoRE seems to have stopped loading for me all of a sudden. I also see that Adrian has released an updated version of the app (which again does not load for me post all the hubitat related modifications).

Is anyone else facing the same?

It still seems to be working for me; at least for the simple piston I just created. I see the changelog for 2/24/18 refers to a dashboard redesign.

Just resolved my issues by reinstalling webCoRE and adding oAuth to the app again. Not sure what went wrong.
Thanks for sharing your status.

You are right, I did not realize that.
I did test this by disconnecting my hub from the internet and my pistons still ran well :+1:t3:

I see that the asynchttpv1 library that we simply comment out, seems to be used in multiple lines, especially in the piston app. Isn’t this affecting the execution of the overall app?
Just an uneducated guess, but would it be possible to add this library into the Hubitat environment, to ensure better compatibility with webCoRE?

1 Like

Out of my depth here but the log pointed me to line 1135 of WebCoRE Piston where I changed runIn(t, timeHandler, [data: next]) to runIn(toInteger(t), timeHandler, [data: next])

The piston never appeared to do anything, but something actually got scheduled for the appropriate time, and the error message got quite a bit shorter, to wit:

An error has occurred while subscribing: groovy.lang.MissingMethodException: No signature of method: app15196121587141013158970.toInteger() is applicable for argument types: (java.math.BigDecimal) values: [13.747]

The resulting log showed:

2018-02-25 21:33:46.264:info╔ Piston successfully started (426ms)

app:2692018-02-25 21:33:46.262:error║ An error has occurred while subscribing:

app:2692018-02-25 21:33:46.255:info║ Setting up scheduled job for Sun, Feb 25 2018 @ 9:34:00 PM EST (in 13.747s)

This time no line number was logged and I see no other places in the code where this change could apply. Edit: changing piston trigger time conditions from ‘at’ to specify a condition including ‘between two times’ executes but still throws the error and gives the line number of the modified line.

I have no idea if it is possible or not. The SmartThings documentation still shows it as a BETA product.

From looking through the Piston App, it seems to be used minimally. For something called Fuel Stream ( I have no clue what that is, but it sounds optional to me) and one more routine called vcmd_storeMedia(). It is also used in the main webCoRE app for LIFX bulbs and some sort of registration call. You may want to look back through old revisions to see if there was a different, albeit less optimal, way of accomplishing these same calls prior to the asychHTTP_v1 API being available.

I have noticed that webCoRE cannot seem to delete Pistons properly. You have to manually delete those child apps.

1 Like

Fuel Stream is a plotter/grapher. ie: Tell it to add your thermostat temp or energy temp to fuel stream and it will plot it on a graph.

Edit, adding graph example:

2 Likes

I can't seem to delete any piston on the Hubitat side? How do you delete pistons manually? Thanks.

Pistons can’t be paused from the dashboard, either. When you try, the dashboard shows ‘paused’ (until the next time you reload it) but they continue to run and this gets logged:

:errorNo signature of method: com.hubitat.hub.executor.AppExecutor.sleep() is applicable for argument types: (null) values: [null] Possible solutions: sleep(long), sleep(long, groovy.lang.Closure), grep(), grep(java.lang.Object), every(), dump() on line 1248

You should see them listed under the webCoRE app when you view your Hubitat Apps. You click on the one you want and there will be a red ‘Remove’ button.

1 Like

I see them there. When I select them and open them, then select the red ‘Delete’ button it appears to work (no errors presented), but then they still show on the list?

I also have some ‘Paused’ pistons and I cannot ‘Resume’ them either. I click the ‘Resume’ button and they still show under the ‘Paused’ category.

I’m seeing a few inconsistencies here as well; for example I had two pistons listed in Apps; one of them when selected would show a ‘Remove’ button; the other one didn’t. To remove the one that did not show the button, it was necessary to click on the blue ‘i’ circle next to it in the apps list, then it showed a screen with a remove button on the bottom. Can you try that method to delete it?

I haven’t figured what’s going on with Pause. When you select Pause, an error is generated in the log so something is not working correctly there.

I was able to delete the pistons by using the blue ‘i’ circle then giong to the bottom and clicking the ‘Remove App’ button.

1 Like