webCoRE Update v0.3.110.20191009 - Load devices in multiple batches to avoid timeout errors, FontAwesome always at latest version


#1

Loading devices in batches

This release introduces significant changes to how device data is loaded into the dashboard. Devices have been completely removed from the requests that load account data and individual piston data. A separate request is responsible for loading devices and that separate request gets its own separate timeout in the platform (more on that in the Background section below).

In this update, devices are loaded in batches; all of your devices may be loaded in one request or it may take several requests to collect them all. The batching is not done by any set number of devices or size of metadata but rather by the amount of time it takes to load. The SmartApp will respond with as many devices as it can load in 10 seconds. This should provide resilience both for changes in your devices and for excess latency in the platform.

Background

The webCoRE smart apps are responsible for providing the dashboard with information about your account and devices, but people with a large number of devices have encountered debilitating errors that can prevent loading the dashboard. This is caused by a timeout enforced in the SmartThings platform; a SmartApp can only run for a certain length of time before it is terminated and these errors are caused by that termination. For more detail on the problem, see

The problem has existed for over a year now and it seems likely that the platform will just continue to get more congested. This workaround is an attempt to squeeze more life out of webCoRE for SmartThings users, and with the help of @E_Sch it also provides some foundation for improvements for users running webCoRE locally on Hubitat Evolution hubs.

If you were experiencing this issue and have been locked out of the dashboard or had to remove devices from webCoRE, this update should allow you to return to normal operations.

Backwards compatibility

The new dashboard is backwards compatible with older versions of the SmartApps. The dashboard will continue to work if you are unable to upgrade to the new SmartApps, but the dashboard update alone does not affect the timeout issues described above.

The new SmartApps are not backwards compatible with older versions of the dashboard. If you run a custom dashboard rather than using dashboard.webcore.co, an upgrade will be required to support the new SmartApps.

FontAwesome always at latest version

The dashboard now loads icons from FontAwesome Kits rather than the FontAwesome CDN, which allows us to automatically load the latest version of FontAwesome. It will no longer be necessary to push code updates for the dashboard in order to support the latest icons.

This update includes hundreds of new icons and a new Duotone icon style. See the changelog for all updates since the last version used by webCoRE, 5.7.2


pinned globally #2