webCoRE Update v0.3.108.20180906 - restore pistons from backup file, bug fixes


#1

Please update your smart apps and reload the dashboard for this release which fixes a number of bugs and introduces the ability to restore pistons from a backup file.

Restore pistons from a backup file

The Backup Piston(s) feature on the dashboard is now accompanied by a way to restore from that backup file. When restoring from a backup you will be guided through the process with the following screen:

screen shot 2018-08-24 at 9 09 48 pm

screen shot 2018-08-24 at 9 10 22 pm

The default sort encourages you to restore the “safest” pistons first but you can also sort by name, created date, last modified, or category. Unfortunately we don’t have category names in the backup file, just numbers. The screen shows warnings for pistons that:

  • Use global variables, because you may want to create globals before importing those pistons
  • Have tiles, because you probably need to configure a category for any piston that will show tiles
  • Requires IFTTT to be configured
  • Expects arguments, because it is likely to be called by another piston or remotely executed by URL
  • Has devices in expressions like [Hallway Light: switch] , just in case you need to update them
  • Use the Execute Piston command since the dashboard can only update to your new piston IDs if the corresponding piston has already been imported

When a piston is imported it moves to the bottom of the list so that you can always restore the topmost piston. You can view the imported piston from this screen or restore another copy. When the import file is loaded, any pistons with identical name are indicated as imported.

Any Execute Piston actions are automatically updated to the new piston ID if you have already imported the target piston.

This feature is primarily useful for transferring pistons to a new webCoRE install on the same SmartThings account (i.e. same platform and devices) as an alternative to private backup bin codes which cannot be accessed on a different instance.

We have plans for a second phase of work on backup and import that can operate as a more comprehensive migration tool. The ability to copy over global variables and categories and globally replace devices would be convenient for significant changes like transitioning to a different automation platform. In this first phase the import will save time over manually recreating pistons, but you’ll still have a lot of work to manually update all devices and settings.

Restore workflow

This is not a one-click import, by any means. webCoRE code is organized in a way that requires certain actions to occur on certain screens. I don’t think that is a bad thing for a big operation like restoring all of your pistons, but you will need to review imported pistons.

Here is the basic workflow:

  1. Upload backup file (it doesn’t actually upload anywhere, this is all in-browser)
  2. Unlock the backup file with the password used to create it (not account password)
  3. webCoRE shows a list of all pistons in the file, sorted by “safest” to import
  4. Click Import to add a single piston
  5. webCoRE creates the piston and redirects to the editor
  6. Editor shows the piston code with any Execute Piston actions mapped to the new imported piston IDs
    • Pistons that use Execute Piston should always appear last in the “safest” sort order; the mapping will not work if the callee piston has not yet been imported
  7. Review and save the piston
  8. Adjust piston name and category if necessary
  9. Resume piston now or later (all imported pistons are automatically paused to prevent mid-import mayhem)
  10. Click “continue import” in the banner on the piston page
  11. Import list appears again, piston you just imported is moved to the bottom of the list
  12. Repeat steps 4-11 as necessary
  13. Click X to ignore pistons that you don’t want to import (just removes them from the local import data)
  14. Click New Import to reset all of the import data (not the imported pistons, just the local data from the import file)

Bug fixes galore

Also new in this release


The minions and out new beta testing team will be underground testing the next version of webCoRE for awhile. Unless any urgent bug fixes come up the next release will feature a major community contribution that bumps us up to version 0.4!


"There was a problem loading the dashboard data...."
Piston restore?
Local Time Conversions Across DST Shift - Bug or My Design Flaw?
Migrating WebCoRE to a New Hub
Using the "copy piston to clipboard" option
Problem Loading Dashboard Data
FIXED: Chrome: WebCore Overall type: Unknown_Type server type: No_Server_Data Dialogue Error
(unknown) location in Dashboard
Some variables not show proper value [integer numbers missing trailing zero]
“Backup Bin Updated” msg while trying to save Piston - Does not save to cloud
Addressing the end of webCoRE
pinned globally #2

#3

Forgive me for having to ask further questions but just to be clear these backup files are saved locally? I’ve only tried doing the backup using be iOS app and it never gives you any sort of option where to save and doubt you’re going to have everyone saving to your server. The import features clearly asking for a file.


#4

Local file. I don’t have an iOS device so not sure how that works :slight_smile:
image


#5

Doesn’t work on iOS, the backup needs to be performed on a computer that can download and save files generated in the browser. We’ll have to identify that limitation on-screen to avoid confusion. The webCoRE servers are uninvolved in the backup and SmartThings platform is only used for fetching the piston data. The file is created and encrypted entirely in your browser, so unlike a normal “download this URL” the download is triggered from local data that exists only in the browser environment.

Backup bin codes are the existing remote backup solution, but public backups are anonymized and private backups are encrypted and only accessible to the webCoRE smart app install that created them.


#6

Not sure if I should post this here or under bug reports - seems like a new issue so I’ll try here. Can’t seem to select “location” from the menu when trying to set actions. It allows you to create task anyway with location selected but can’t actualy click and check it.

https://app.box.com/s/f3shubqvbgjrksye2uq0gclr1gryngbx


FIXED: Chrome: WebCore Overall type: Unknown_Type server type: No_Server_Data Dialogue Error
#7

Oh cool, webCoRE was using the same attribute that Chrome was abusing for form filling. I’ll fix that and other instances of missing default text.


#8

Are you referring to what I posted? I’ve tried sharing the same video with three different cloud storage platforms and none seem to be visible in the post. :grinning:


#9

Yes I downloaded the video and am working on a fix


#10

This should be fixed now if you refresh the dashboard.


WebCoRE Logging & Debug Output
#11

All set thanks!


#12

Immediately after updating SmartApps and reloading the dashboard, I noted that a couple of my longest-running pistons were failing. It appears they are getting ‘stuck’ on Wait statements (see image below) and in one case that was creating some kind of odd loop.

I was trying to nail that issue down and determine whether it was an ST or webCoRE issue I was seeing, but in the process discovered that ‘Create Duplicate Piston’ isn’t working for me any more. It only creates a new, blank piston.

Image1


Pistons with waits failing [TCP piston state change]
#13

The webCoRE dashboard states “A newer SmartApp version (v0.3.108.20180906)” is available, yet when I try to update in IDE there is no new SmartApp. There does seem to be a new Device Handler, but when I try to update from the repo it isn’t listing an obsolete version. Help?


#14

Confirmed, I’ll take a look at that ASAP.


#15

This is fixed now, just force reload the dashboard. Sorry but I don’t have any insight into your original observations about wait statements.


#16

Wasn’t expecting any, at least not yet. Just putting it out there in case anyone else observes anything similar.


#17

Ditto, same issue…


#18

Same here. and It seems Ive got pistons malfunctioning saying they will never fore because not subscribed when they were working just fine days ago.


#19

I’m having issues with waits as well, same as above.

The log shows that it’s requesting a wake up, but Next scheduled time shows never:

image

I also don’t show any updates available in IDE.


#20

Count me in as another.

Pulled perhaps due to the above noted issues?