webCoRE for Hubitat Updates

If you are doing that, would you also please add the time zone ID?

I'm not sure I have that in HE. If you know the variable let me know, but I think it uses old style time functions.

location.getTimeZone().getID()

There is an update to the piston file with $latitude, $longitude, $zipCode and $tzId

Separately, if you use local webcore html server, there are updates to the files for html/css.

These updates are on staging.webcore.co at this time (but not on dashboard.webcore.co)

1 Like

They look correct to me, thanks.

Is it possible to put the system variables section in alphabetical order?

New update posted

It sorts system variables for display in webCoRE IDE UI

There is a new driver for users of $weather, that provides an event when $weather is updated - so pistons using $weather can be event driver to run after an update occurs to $weather variable. The piston will need to decide what changed for values, the 'updated' event provides notification that webcore updated $weather.

If you use HPM, you have to use 'modify' to select to add this device handler.

4 Likes

Manual piston state seems to be broken in this update. I have a bunch of pistons with automatic piston state disabled, and the custom status strings no longer display on the web dashboard.

Edit: the $state variable shows the correct string when I open the piston, but the state string no longer shows up in the piston list, or at the top of the piston in the "state" field.

sounds like you should clear your browser cache. There were no changes in these areas. All my test and product pistons are working correctly.

You might also reboot your hub.

1 Like

Clearing cache worked. Thanks

Would it be possible to provide an example of how this would work?

If the driver source file is installed (and webcore-storage app is installed / enabled with with weather data)

In HE console -> Apps -> webCore

  • enable Webcore to use the new driver (it should be created once you hit done in webcore with $weather and storage app installed)

In my case the device is called 'webCoRE home Weather'

Then in a piston that uses $weather

You can place an if statement somewhere (to trigger)

if 'webCoRE home weather' updated changes

so now the piston will run each time $weather is updated (typically every 30 mins).

In my piston with logs enabled I see:

12/9/2020, 2:21:52 PM +652ms
+4ms	╔Received event [webCoRE home Weather].updated = 1607541712601 with a delay of 43ms, canQueue: true, calledMyself: false
+50ms	║Runtime (22014 bytes) successfully initialized in 2ms (v0.3.110.20201015_HE) (Init: 43, Lock: 1, pistonT 2 first state access 40 (5 38) 35
+51ms	║╔Execution stage started
+150ms	║║Executed virtual command setVariable (1ms)
+178ms	║║Executed virtual command setTile (1ms)
+183ms	║║Executed virtual command setVariable (2ms)
+191ms	║║Executed virtual command setVariable (2ms)
+200ms	║║Executed virtual command setVariable (1ms)
+204ms	║║Executed virtual command setVariable (1ms)
+209ms	║║Executed virtual command setVariable (2ms)
+225ms	║║Executed virtual command setTile (3ms)
+255ms	║║Executed virtual command setState (0ms)
+259ms	║╚Execution stage complete. (208ms)
+291ms	║Setting up scheduled job for Thu, Dec 10 2020 @ 2:00:00 PM EST (in 85087s)
+293ms	╚Event processed successfully Total Pauses ms: 0 (291ms)
1 Like

Hi all, quick question on the webcore interface. I want to understand if this is just me.
When you create a new On Event statement and add a condition to it, it seems one can't edit the device(s) in the statement once created? I've tried cleared the browser cache without success. If I save and reload the piston, same deal. Any idea if this is a bug?

I assume you are using dashboard.webcore.co? If so try with staging.webcore.co

@ipaterson recently made some fixes that might address this.

1 Like

That did the trick! I just tried the staging site (never had a need until now) but yes, it allows me to edit an OnEvent statement, thank you! :+1:t3:

Is there a way of time limiting a button push. For example if button is pushed less than 5 seconds since it was last pushed do nothing and let what was running carry on running.
I'm banging my head against a brick wall trying all kinds of stuff with variables but with no success.
Thanks in advance.

How about something like.
IF
Button pressed
AND Private boolean True.
DO
What you want
Set PB False
Wait 5 seconds
Set PB True.
ELSE -IF
Button pressed
AND PB False.
DO
Your stuff
Set PB True.
END-IF

This is only quick off the top of my head but may do what you want.

Managed to sort it by using a mixture of variables and task cancellation policy settings. :slight_smile:

My apologies if this has been asked before but does Webcore on Hubitat have any cloud dependencies? if I examine the External URL of a Webcore piston in Hubitat (or Smartthings for that matter) I'm given a URL that clearly depends on a cloud host.

For example: https://cloud.hubitat.com/api/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/apps/6/execute/:xxxxxxxxxxxxxxxxxxxxx:?access_token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Is there anyway to completely remove any request to an external host and rely 100% on local host(s). I realize the Rule Machine has no cloud dependency but Webcore is just so much more elegant.

By default webCore will edit pistons in the cloud, but there is an option to move the editor to a locally hosted server. Regardless of where you edit the pistons, they are always run local.