[DEPRECATED] webCoRE Beta Milestone 2

I’m having an issue specifically on my android phone. Every time I go to dashboard.webcore.co, I get redirected to the register page and have to enter the registration code from the ST app. I have tried “clear & reset” within chrome for anything with webcore.co in it, and I did a “Clean up & rebuild data cache” in the ST app. Any suggestions?

Switch to Firefox … I had the same problem after I updated to the latest Chrome.

2 Likes

Thanks, I now see the previous posts about issues with chrome… sorry about that.

1 Like

That was the problem. Didn’t realize that any time something changes in the piston it stops working. Changed task cancel settings to Never and resolved the issue. Thanks for the tip

Would someone be so kind as to help me understand the scope of ‘Cancel all Pending Tasks’ ??

If I run that from a webcore piston does it cancel tasks, such as waits, that are in process for other webcore pistons as well?

What bounds does this have?

@ady624
I just updated Webcore, and now my date-time problem is back (which was fixed a week ago)

As you can see, the stringvalue is the correct date, but after parsing with datetime function it turns into today (again).

19:33:00: debug ║ lastCheckin stringvalue: 2017 Jun 29 Thu 6:33:39 PM
19:32:59: debug ║ lastCheckinDate variable: Thu, Jul 6 2017

Latest update seems to have fixed my Mobile Chrome issues. (Android Nougat)

2 Likes

The mobile Chrome issues should be fixed. More info on the issue can be found here:

Chrome’s shift-right-fill-with-zeros operator seems to have a bug causing the decryption of stored local data to fail.

The fix consists of replacing this line:

-      out += String.fromCharCode(tmp >>> 24);

with this line:

+      out += String.fromCharCode(tmp >>> 8 >>> 8 >>> 8);

The first would shift tmp 24 bits to the right (effectively dividing by 16,777,216). The second line repeatedly shifts tmp 8 bits to the right, 3 times, effectively dividing by 256, then by 256, then by 256, for a total of 16,777,216 times. Same exact thing, but NOT the same results anymore :smiley:

I’ve updated the sjcl library that is responsible for encrypting and decrypting the locally stored data…

Many thanks to @Dan_Fox for assisting with figuring out the issue.

5 Likes

I can now see information in a piston.
Before it was just empty if statements.

3 Likes

Been thinking about making the jump from CoRE to webCoRE. Is it stable enough to make the switch at this point and use as a daily driver?

2 Likes

Absolutely!

I have had webcore running for awhile now but mostly just to test the waters.

I am just now starting to duplicate a number of functions, I am simply pausing my core pistons and testing the webcore pistons at this point. Just a few at a time as I figure things out and gain confidence.

So far, so good.

1 Like

Quite a few of us have been fully migrated for some time … a couple have even deleted their coRE installations (I won’t name names to protect the guilty, LOL). In my opinion, you’re probably gonna have more issues from ST in general than you are from webCoRE. Having said that, remember, webCoRE is still in beta 2, soooo …

3 Likes

queues up Danger Zone

installs webCoRE

2 Likes

@ady624 Glad to be part of the project! Finally got to work on the wiki and I can’t wait to do much more. Also, webCoRE itself is awesome because now I have some resources available for more SmartApps :upside_down:

1 Like

v0.2.0d0.20170708 - BETA M2 - Fixed a bug allowing the script to continue outside of timers, added Followed By support - basic tests performed

Followed by is finally here - and better than CoRE’s! :smiley: you get to specify the time limit for each step of the followed by conditional ladder - so you can say:

if
  Door opens
  followed within 5 minutes by
  Door closes
then
  //door stayed open for less than 5 minutes
end if;

You can also look for the lack of such event:

if
   Door opens
   not followed within 5 minutes by
   Door closes
then
   //door stayed opened for more than 5 minutes
end if;

Of course, these examples are just that: examples. You can do the door stayed open much easier by using:

if
   door stays open for 5 minutes
then
   //door stayed open for more than 5 minutes
end if;

The followed by should be used for more complex stuff, like mixing two devices:

if
   Door 1 opens
   not followed within 1 minute by
   Door 2 opens
then
   //something happened, a door opened, but not the other...
end if;

You guys get the idea, right? :smiley:

There is a third mode called “strict” - which will fail the ladder if any event OTHER than the next expected event happens - this is the default CoRE behavior and the only mode CoRE knows - without the time limits, of course.

if
   Door 1 opens
   followed strictly within 1 minute by Door 1 closes
then
   //door 1 opened, then door 1 closed, with no other events in between
end if;
9 Likes

Ady -

Small request and if too much trouble, no big deal. Any chance of adding drag and drop functionality to the define section where Variables are listed in a Piston? Just so you can re-order your variables to keep related ones together as the Piston iterates?

2 Likes

I can try that - a bit busy right now with other more needed features - will publish automatic piston recovery soon.

1 Like

v0.2.0d1.20170708 - BETA M2 - Added Piston recovery procedures to the main app

Bam!

Piston recovery happens automatically based on other running pistons (ie each piston run will give webCoRE the opportunity to check for missed time events and kick start the failed piston. There is a new option in settings for setting up a schedule to check pistons out too. It defaults to every 30 minutes and can be set to never, 1, 10, 15, 30 minutes, 1 hour, or 3 hours.

7 Likes

Understood - straight alpha sort within the Pistons local device variables would be helpful if the add drop is a pain