Is the IDE Really Going Away?

there is talk that if and when they do pull the IDE that only smartthings devices will be natively supported. that is w/o some kind of user-supported server to handle the 3rd party device code.

1 Like

I haven’t heard that, and if it were true, they would probably lose their Z wave hub certification. Every certified Z wave hub has to be able to issue basic commands to any certified Z wave end device, regardless of manufacturer. That’s sort of the whole point of zwave.

“Basic” has a very specific meaning in this context, it’s essentially on/off/dim for switches and accept an event report for sensors, but the hub Has to do that much or it’s not a certified Z wave hub.

The requirements for zigbee are a little more complicated because compatibility is at the profile level: they could wave their hands and say they have a proprietary zigbee profile and then they’d be OK with not supporting any other brand devices.

But for Z wave I think they have to at least provide what are now the generic stock DTHs.

2 Likes

hmmmm i thought ST was getting out of the hardware business :slight_smile: :sunglasses:

1 Like

yes, the next couple of months are going to get very interesting

1 Like

I’ve been seeing for a while there is a new Webcore coming. Do we know what the state of development is or where to find it? Haven’t seen much on this since the 2019 SDC presentation

2 Likes

There’s quite a bit on it now. It’s still in development, so there are more features yet to be added.

.

And it has its own subcategory in the forum now:

2 Likes

We should probably clarify between the Rules API and Webcore. The Rules API has made a lot of strides lately and is now the backend of Automations in the app. There’s also an ongoing beta for it running locally. BUT there has been no indication that Webcore has started any work to adapt it to the new APIs, whether that’s the Rules API or as an endpoint app using the SmartThings API.

4 Likes

Are you sure about that? Ady already showed us a working example of WebCoRE running locally on the SmartThings hub using Rules API, and in those 2 years since, I’m pretty confident, as @ady624 is the father of WebCoRE and an extremely clever developer, he’s got to 80% parity, if not more.

That was a proof of concept for Samsung Developer Conference. Adrian no longer works on webcore since he works for SmartThings. The latest discussion on them making a new version is in their forum

SmartThings might build their own web based GUI for the Rules API, but I wouldn’t expect it to do everything that Webcore can

3 Likes

Since Adrian was hired by SmartThings specifically for his efforts on WebCoRE, and the WebCoRE version he exhibited running locally on the SmartThings hub using the Rules API was created whilst he was an employee of SmartThings, I would say demonstrates that you don’t know as much about what’s going on at SmartThings as you portend to do.

ok buddy, think what you will.

2 Likes

Custom groovy DTHs are generally implemented as hub connected devices regardless of the actual connection method, so the information they have released thus far isn’t that relevant for the hobbyist developer as the hurdles are pretty big (such as deploying your own oath 2 service).

Until they say what the deal is with hub connected devices the future of custom DTHs is completely up in the air.

The other problem is a lot of custom DTHs used groovy smartapps to login, create child devices, etc., and even if they provide us a way to build custom DTHs I’m not sure what the solution is for creating this sort of interface as they seem to be moving away from smartapps.

1 Like

I’m a little nervous asking this question but if I don’t I will never understand.

I am very much a novice and have only been playing with Webcore for the past year. I finally started to get a good understanding of it and have been able to build some pretty complex pistons. I’ve been reading up on the new rules API and it is quit intimidating. If I understand correctly, this will be where you build more complex rules (like in Webcore)?

Is this something a novice (that’s me) should try right now? Or wait until it’s released? Any tips, tricks or input for learning is very much appreciated!

Edit: I don’t know where to put this so I’m tacking on here. I emailed support a question that had something to do with the SmartLighting app. I received an email back very strongly stating that Smart apps and the IDE are not going away and asked where I had gotten that information. I referred them to this forum and told them to Google it. They had no idea.

2 Likes

Bad questions are the unasked ones…

Yes, and?
It’s more like HTML vs. NotePad and (insert your favorite HTML IDE here)

In this case, Rules API is the base language - the method for communicating your hopes and dreams to the SmartThings API in a way that it can interpret and do…
Just as in the Groovy environment where you can use the IDE to upload a text file, you can actually use Notepad to create a Rule in the SmartThings Rules API if you understand the protocols / syntax at that level and use PostMan to send it. I think Graham has it down to that level - I can read it, but I’m still very bad at writing it - I have trouble thinking in JSON files.
SmartThings staff (someone please find the link I think it was Blake) said that they know this is a limitation to adoption and there’s a Rule Builder in development. <<< THIS would be your direct analog to WebCoRE and also where any updated version of WebCoRE would likely live if it becomes a reality in the future.

So

That really depends to what level you want to learn the system mechanics? I suspect we wont be able to do some of the really neat tricks without using Rules API directly But It depends on how rich the upcoming builder will be. That’s an unknown - so until that’s not, I’m reading and understanding the Rules API so I can understand what it can (currently) do. I will probably try portin gsome of my simpler pistons all while hoping this alluded to rule builder becomes reality soon so I can make a determination on how to break up my current webcore environment. (so read: you’re not alone with your uncertainty.)

I’d love to say yes the Rules API is worth trying now. The trouble is that only some basic parts of its functionality have been documented and although the Core SDK seems a little more enlightened, it isn’t by much. Given that Automations are implemented in the Rules API there must already be a lot more functionality implemented than is documented. I only need to do Noddy and Big Ears stuff but I can’t get close at the moment.

When you work with webCoRE you quickly realise that a lot of heavy lifting isn’t done by the basic logical structures, it is performed by the custom logic behind the scenes - stuff like the Task Cancellation Policy. Even trivial pistons need to be able to access event and match variables. You need a lot of functionality.

2 Likes

Just to follow up in nauseating detail, and recognising I am taking the thread ever further away from the original topic:

webCoRE has been wonderful in many ways, but it is every inch the beta product it claims to be and getting worse, and there is a lot of bloat with it. Its future is on Hubitat. I don’t want to still be using it but I still need it, and not for anything complex either.

Smart Lighting is great at what it does, though it has a couple of infuriating quirks. One is that its toggle command assumes nothing else is changing the state of switches (unlike webCoRE which looks to see the current state and toggles that - though even that behaves suspiciously on occasions). The really big one for me is that if you specify multiple motion sensors it does not do the obvious thing of ‘motion on any of the motion sensors’, it uses them independently (curiously I was convinced it did work sensibly for several months but then stopped, but maybe I imagined it). So I have to use separate automations to maintain virtual motion sensors (I use Rules, but used to use webCoRE) . As a legacy app its days must be numbered. Quite whether it will be reimplemented or its functionality absorbed into Automations isn’t clear.

Automations are infuriating. They seem to be maintained as Rules and reverse mapped into Automations by the mobile apps (with independent implementations) which seems to be asking for trouble and getting it. Also it just isn’t clear what the functionality is that is being implemented, for example when timers start and whether they run to completion or can get automatically cancelled. The worst thing is that if you delete a device that they use they are as likely as not to completely vanish (to be more precise the condition or action with the device in is removed and if the automation is no longer complete it is deleted, so you either end up with no automation or one that may not do what you want). I use them as little as possible for simple ‘if … then …’ automations where I have no choice or the convenient ‘on/off’ option comes in handy.

I am still using Smart Lighting for the basic ‘turn on a switch when motion is detected and turn it off x minutes after motion is no longer detected’ because it knows to cancel the timer and reset itself if motion starts up again. Similar functionality in webCoRE would use the stays condition or you could do much the same thing yourself using a wait and exploiting the Task Cancellation Policy. I believe the equivalent in Rules will be remains but if it has been implemented no one has said anything about it and I’ve no idea if a TCP equivalent is planned.

I am using webCoRE for the most basic of announcements like ‘the front door has been opened’ or ‘so and so has arrived’ because I really don’t want to have to write individual Automations and Rules when I can write one and use variables in the announcement. I am also using it for handling buttons for two reasons: one is that I am using toggle and I am too lazy to replicate that manually in a Rule; the other is that buttons report their last attribute change and don’t have a standby state so checking their current value isn’t helpful (although you can get away with it when there is only one button and it is the only possible trigger), neither is changes (which despite being in the proof of concept of webCoRE using Rules, is not documented in the Rules API) as there is no change of state, and there is no sign of an equivalent of gets.

I use Automations for two main reasons (or three if you include simple, quick and dirty automations). One is that Security Mode handling in Rules is barely documented and if the Core SDK is used as a source of undocumented functionality you discover that the Security Mode as a condition and the Security Mode as an action seem barely related which doesn’t inspire confidence. The other is that executing Scenes from Rules is also not documented. Clearly Rules can do all this stuff as Automations are implemented as Rules, but if it is available outside of Automations, it isn’t documented.

4 Likes

i really need to start working on porting from ST to home assistant. but don’t know if home assistant automation even has support for user defined custom device type, user config input aside from picking selection from device list, persistent local variables and nested if for triggers and conditions with user input config as part of the expression.

also for anything i consider secure like camera and locks it’s HomeKit native only for me.

there’s been some small features and fixes i have done in the groovy code last few months, but not motivated to release those anymore.

You can connect your Smartthings to Home Assistant. Then run the systems in parallel and migrate as you feel comfortable. Or keep your Z-Wave & Zigbee devices connected to Smartthings, but use Home Assistant for the logic. Home Assistant has an optional Node-Red add-on, so you could migrate your automation and logic to that. Lots of options that don’t require completely getting rid of Smartthings.

2 Likes

thanks, makes sense. yes, might start with ST acting like a dumb hub just for zwave/zigbee device connectivity. but not keen on leaving ST in there because they might decide to deprecate my V2 hub just when i get comfortable with that setup. so blue with the nortek stick is where i am going to end up if i can figure out how to get rooms occupancy kinda sorta working on home assistant.

I’m a little concerned that 1. We haven’t heard anything about the replacement yet and 2. There is zero developer enthusiasm for writing smartapps for the new API based platform

1 Like