[DEPRECATED THREAD] webCoRE Beta Milestone 1

webCoRE is currently in Beta Milestone 2. As a result, this thread has been deprecated and you should please follow the discussion on this thread instead. Thank you.

Exactly one year ago, CoRE was born (v0.0.000.20160429). It was meant to replace the gap that bravenel’s Rule Machine left behind when it was withdrew from the SmartThings platform on April 27th, 2016 (2 days earlier). It took 45 days to make it to Beta Milestone 1 and eventually made it to a (final) Release Candidate stage on September 20th, 2016. Soon after, CoRE has reached its maximum code size, pushing ST to the max. Partly because CoRE was no longer able to keep adding features and improvements, and partly because the shortcomings of not being able to backup pistons, on October 28th, 2016, webCoRE was born. Coincidentally, webCoRE was born exactly half a year after CoRE. Its main purpose, to fill the gap that CoRE was not able to. Fast forward 183 days (yes, half a year), webCoRE reaches Beta, exactly one year after CoRE was born. Coincidentally, of course. Wink wink.

Now, the warnings:

WARNING #1
The legal boring stuff. This software is free to use, modify, distribute, install on a potato, anything you wish to do with it. As it happens, by using it, you must understand that I cannot be held responsible for anything that stems from the use of this software.

WARNING #2 This software is currently in a BETA release stage. If you don’t know what that means, PLEASE read this!

WARNING #3
If you see any white text on a red banner reading “DO NOT SHARE WITH ANYONE”, it is probably best you follow that advice. There is a public way of sharing pistons (anonymized) and a private way. The private one is for you and you alone.

WARNING #4
Things may still break here and there, things can get refactored here and there, depending on things we realize need changing down the road, so take this with a grain of salt.

WARNING #5
As with the CoRE dashboard, opening the webCoRE dashboard may interfere with your IDE. This is because webCoRE is still using SmartApp endpoints underneath the hood, and opening a SmartApp endpoint in the same browser as the IDE causes the authentication cookies for the IDE to be corrupted, logging you out of the IDE. If you need to use both the IDE and the webCoRE dashboard at the same time, please try using two different browsers, or open the IDE in incognito mode.

Beta Milestone 1 will focus mostly on ironing out bugs and issues. While it will add some features, it’s main intent is to improve on stability and performance of the predecessor Alpha stage. Beta Milestone 2 will focus on adding features that we determine are needed during M1. The third and last milestone, M3 will again focus on stability and performance, before webCoRE hits the Release Candidate stage. But all in due time…

There are a few things that have changed between CoRE and webCoRE. I will add details about these at a later time.

IMPORTANT
There is a wiki. I am pretty sure there is a wiki. Not sure where it’s hiding, but there is one, I promise. You can look for it in the webCoRE dashboard, it’s hiding there, somewhere. While it’s not complete, it’s being worked on, so please, before asking for help, try and find your ways in the wiki first. The answer you need may be lurking there.

INSTALLATION
Please follow this guide to install webCoRE. If you survive, that is :slight_smile:

FEEDBACK
If you decided to install webCoRE and ran into any issue at all, please take a moment and share that experience so I can improve on it. Find the installation feedback thread here.

CREDITS
Many many thanks to everyone who helped developing this software. I don’t usually name people, for fears of forgetting anyone, but I’ll try a list (conveniently alphabetically ordered). If you helped and don’t find yourself on the list, sorry, please contact me and I’ll add you. If you find yourself on the list and don’t want to be there, tough luck. I was not able to mention the users (there is a limit of maximum 10 users being mentioned)

bamarayne
bobbles
c1arkbar
destructure00
eibyer
einars
elf
jjslegacy
Jonpho
Kevin_Prefer
rontalley
SBDOBRESCU
whoismoses

HELP NEEDED
We need writers for the wiki. If you are a fluent English writer, please help us write the wiki. Please request an account here.

NOTE: It is not required, nor necessary to donate to use this SmartApp. This is a free open source software and it is my way to pay my dues to those before me. But if you feel like it, you can donate here.

36 Likes

The parent source code is still ALPHA on Github and webcore is still telling me to upgrade.

Fixed now. Congrats on BETA!

1 Like

well done on getting this far - I wanted to find out about two potential features, and if they re likely to be on the todo list:

  1. In the original CoRE you gave us a method for defining custom commands and events in our device handlers, these could then be selected in Core to trigger something else. In webCore, although you can manually write what the custom command / event is, it would be nice if it pre imported it like it used to.
  2. I’m not sure if this is possible, but is it possible to export current pistons from core to webcore?

You cannot import from CoRE to webCoRE. That said, I can testify that I was able to take 120ish CoRE pistons and move them manually to webCoRE in 4-5 hours over a few days. I should also note that with the ease and flexibility of webCore I went from 120ish down to around 74. I’ve since added about 10 new automations taking me to 85. All in a single webCoRE instance. I had 20 CoRE instances. I recommend pausing your CoRE pistons instead of deleting them for now once you rebuild the functionality in webCoRE.

Think of this an an opportunity to use a much better tool and rethink your automations.

5 Likes

When I go to update from repo and add it nothing shows up for me once I click on webCORE(master).

I searched the wiki but was unable to find instructions for potato installation. Any help would be appreciated.

5 Likes

You need all these “ingredients”.

11 Likes

webCoRE is trying to retrieve information about them from the DTH. I guess I will eventuallyadd those two commands - what were they, describeAttributes and describeCommands?

Yes those are the ones. In the meantime it’s fine writing them in manually, but it was super convenient when it did it automatically!

Working on migrating pistons over. (Just shutting the old ones off as I go.)

Is there a working dashboard for webCoRE? Right now it seems more like a placeholder for SmartTiles. :slight_smile: Will there be a dash like the one for CoRE?

One other thing, Will direct editing be an option for users? or is it just an illustration of the choices?

I’m not complaining, just curious. The new interface is MUCH better than the old one.

Also, there is a copy/paste glitch. If I try to copy a new segment (even after clearing the clipboard) the old copied piece remains in the buffer.

Will we be able to type in the code directly?

I found the logging, I was kind of hoping for a truth table such as the CoRE dashboard had. (To see what conditions were satisfied)

The “glitch” you speak of is actually a feature. The clipboard has 10 slots (last 10 copied blocks are retained). Trust me, the glitch took time to become a glitch and it really comes in handy.

4 Likes

Congrats! Just a heads up, I noticed one of my pistons that is supposed to refresh my Harmony Hub status wasn’t running for the last 3 days. I went in and paused it and re-enabled it, and now it’s working. I also upgraded to beta version as well. I realize without logs, this won’t be helpful, but wanted to see if this was a known issue?

Sometimes ST fails… there are no recovery points in the parent app yet, there will be

1 Like

Understood. This same piston in CoRE was rock solid for a very long, so I figured it was worth mentioning.

@ady624, first of, awesome work - so much easier to create and manage pistons than with core! Thank you so much for all your work.

Couple things after a day of moving my pistons from core to webcore:

  1. moving blocks up and down is hard to get working properly. I was wondering if making those arrows work by just clicking on the one up or down would be much easier and better user experience, rather than dragging lines / blocks and hoping they land where you need them

  2. I still can’t figure out to save my life what it expects for the condition “is any of”? So for instance, I have a variable that might have string values of “Morning”, “Day”, “Night”, and for Morning and Day I need to do something. Would you care to elaborate what I need to put in the field to get these working properly? If I use Value and put a comma separated list of value, in the code I get “Value A, Value B” in quotes and I suspect that is not right.

  3. I might be missing something simple here, but i don’t see a way to set a type of a global variable. When I create a new one, all it asks is name and value (or none) and thus I can’t initialize a boolean variable.

  1. Start dragging from the arrows, try and move the items on the script sheet, not the gutter. Drag over the “add new whatever”.

  2. It should work like that, not sure I implemented it correctly though. For enumerations, there is a combo, but for strings, just an input - will look into it

  3. The blue section before the name input, open it…