Forgive me as this is likely already been posted but can’t see it. I’m about to start moving all of my webcore automation to Sharptools, I understand that some that use custom device handlers won’t work after the move to edge but will all the others work? Or am I better waiting until after Sep 30th and see how this transition plays out , get my Sharptools subscription then and start moving my automation?
The SmartThings Platform Transition FAQ has some details about how things will work with the device transition.
The short version is:
No Custom DTH (Zigbee/Z-wave): If you aren’t using any Custom DTHs, many ‘normal’ Zigbee and Z-wave devices should automatically transition to an Edge equivalent. There will be exceptions to this and SmartThings has noted some cases where devices will lose some functionality.
Custom DTH (Zigbee/Z-wave): Anything Z-wave/Zigbee devices using a Custom DTH should automatically transition to a generic Edge Equivalent… so those might lose custom commands from the Custom DTH. You can add a custom driver if there’s one available for it though.
LAN devices are much less clear. LAN devices with a Custom DTH will not automatically transition. Some first party LAN DTHs will automatically transition, but there are many exceptions noted.
I think the ideal approach is going to vary from person to person. Some people prefer to get ahead of things and have been manually transitioning devices – this requires reonboarding the device which can be a major pain for some devices.
Some people have mostly ‘normal’ Zigbee/Z-wave devices (eg. basic light switches, dimmers, motion sensors, contact sensors, etc) and in that case will likely be covered by the automatic transition in which case it might be way easier to just wait for it to happen.
If you have Custom DTHs, I would be taking a look at what features those DTHs provide and why you used them over a stock DTH – it would probably be good to start looking for a equivalent driver that you want to move those to. For Z-wave/Zigbee devices that will be automatically transitioned, you then have to decide if you want to just let it get auto transitioned or if you want take the effort to physically reonboard the device and get ahead of things.
I have successfully migrated over (2 locations about 100 devices and 70 rules). Key facts I have found/learned
Triggering is always OR based and on the actual triggering actions. If you bundled trigger and state checks, you would need to refactor. and add the state checks as the starting if in the flow. If you had AND in your triggers, you need to refactor, or add a subsequent if in the FLOW to enforce the AND. I tried to refactor where I could.
Time functions are non existent beyond the time trigger. My workaround was 3 variables (DayOfMonth, DayofWeek, and MonthOfYear) and a function I run daily to set them. You can then use these in the if clause of the flow.
Random time triggers/delay are nearly impossible. You can use the random function from the labs /Math endpoint, but Delay doesn’t take a variable. So you’re only semi random function is a big ugly if.
I assumed the Edge migration will address the device moves and not invalidate the actions. This is another short coming, while its correctly managed with Sharptools (Rules will fail), Bad device, or bad action on device are non obvious, once you have written the rule. While you can look at the by rule log by rule and find this, this would be much easier if there was a centralized notify on rule error. i.e. when a rule encounters an error send an email to an identified email ID, identifying the rule that failed. That would at least allow proactive actioning.
Hard logic is almost impossible, the nice GUI around IF/then/else quickly runs out of screen real estate and becomes unusable after 4 or so levels of nesting.
I did pay for the yearly license for email support.
On the plus side
Variables are easier than simulated/virtual switches
Dashboards are great for presenting your devices as you want, and avoid the Smartthings app, and customize it to your liking. Super Tiles are key to doing this and are quite good.
Location support is far better than webcore, where they were separate, and you needed http triggers to make cross trigger, In Sharptools, location is basically an attribute (for time triggers) and all devices are available. That said if you have multiple locations, you will need to manually name devices, variables and rules, so you can identify what is where. If you have Alexa linked, simply put the base action in the location linked to Alexa, and it can act directly on the other locations.
HTTP driven rules are supported, in a straightforward manner, and can be used with Dashboards and rule chaining,
Thanks for taking the time to share your feedback!
- Triggers are OR; Requires adding IF in Flow to support AND: I wonder if a concept of ‘Preconditions’ similar to what SmartThings has in automations could help here. In most cases, this is probably just “syntax sugar” for not having to create a top-level IF condition, but depending on if it’s applied to an individual trigger vs ALL triggers, I could see it being helpful. I’m open to a feature request on this if you want to create one.
- Time Functions: These are available in beta with the new expression feature. Happy to get you added to beta if you want to PM @support
- Random Time: I saw your reply in the Random Number / Random Time feature request, but linking it here in case others want to vote on it.
- Centralized Notify on Rule Error: feel free to create a feature request for this. It’s a neat idea and I could see different ways of implementing it. Either an interface specifically dedicated to rule failures and related notifications… or perhaps even better would be a separate ‘Rule Error’ trigger that could then use to customize what action you wanted to take - sending emails, pushes, HTTP actions, etc.
- Deeply Nested IF conditions: I’m seeing more people from WebCoRE running into this and have noted the feedback. As a workaround, you can shrink your browser window to approximately mobile width and the IF conditions will stack on top of each other.
Thanks for your support in getting premium and the kind words for the plus sides!
Just an obvious one, but why move local webcore rules to cloud/sharptools?
Unless you’re using smartthings. In which case it’s probably long overdue an upgrade.
I use webcore extensively. The difference is immense between smartthings and hubitat webcore rules
This. With the SmartThings Groovy shutdown, we’ve seen an influx of SmartThings WebCoRE users. So in that case, WebCoRE is running in the SmartThings cloud.