Webcore groovy

Webcore groovy

SmartThings is the brain of your smart home. It connects wirelessly with a wide range of smart devices and makes them work together. SmartThings allows you to monitor, control, and automate a wide range of connected devices in your home. Will eventually support local execution. At the presentation, they forked WebCoRE to use it as a demonstration. More reading to do to see where, exactly, this is all going.

No dates. Not sure where the FUD related to limiting V2 functionality is coming from. I didn't even consider that kind of big company shenanigans.

Hopefully so, they haven't seemed like they're playing the same corporate BS games that Samsung and the other big hitters play.

V2 Hub Users are People Too! I'm super excited about this. Been meaning to get into WebCore, but Adding programming capability directly to ST would be awesome. Well without an easy way to migrate all of my devices and automations from a V2 to a V3 hub, it doubt that I'll be tempted to upgrade my hub anytime soon no matter what they offer. Hopefully they offer a way to migrate to a newer hub, or at least make these changes backwards compatible with older hubs.

So one can't just buy a new v3 hub, tell Smartthings that it's new hardware from v2 and migrate right on over? It's always been this way. Back when V2 came out, there was talk about a migration tool "coming soon," but it never materialized. Correct, but that's not a Smartthings issue It's a Z wave and zigbee issue. Devices have to be unpaired from a hub before they can be repaired with a new hub.

What Samsung needs to do is allow us to create some configuration file that saves device Id's, device names along with scenes and routines.

webcore groovy

Then import that to the new hub. Then when a device is added to the new hub it automatically renames it and incorporates it into the correct automations.

Easier said than done I'm sure. Its honestly really easy and incredibly powerful! So as I'm reading more into this and learning more about what is being announced. It doesn't look like WebCoRE is actually getting integrated. That is correct. Local execution is on the horizon. Not just a wish, but an actual task we have to complete. The man himself. Hey, thank you so much for your work on this. WebCoRe has made my life measurably easier. This is huge.SmartThings uses the Groovy programming language.

This tutorial will familiarize you with Groovy and its use in SmartThings, but is not a complete reference for the language. If you already know Groovy, or prefer to learn as you go, you can skip this tutorial and refer to this page as a mini-reference of sorts. It is important, however, that you understand how Groovy is used in SmartThings. That is discussed in the Groovy With SmartThings tutorial.

To develop with SmartThings, you do not need to be an expert in Groovy. The SmartThings development environment was created to be easy-to-use, so that it does not require someone to be proficient in Groovy or any other language. That said, having a basic understanding of some of the core concepts of Groovy will help you be most productive in your development.

Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. We choose Groovy as the SmartThings programming language for its simplicity and flexibility, as well as the performance and stability of the JVM. The standard Java libraries are available to Groovy programs. The best way to get familiar with Groovy is by installing it and experimenting. SmartThings development does not require you to have a copy of Groovy installed, since SmartThings code is executed within SmartThings infrastructure, but having a local copy of Groovy is useful for learning.

Head over to the Groovy Documentation site and follow the Getting Started guides for downloading and installing Groovy the rest of the Getting Started material is pretty awesome too, and definitely worth a read. This method is built in to Groovy, and we use it to verify assumptions. If the value passed to assert is not true, the program will terminate.

This lets us test out our code easily. For example, assert true is valid, and the program will continue. Anything that evaluates to false will cause the program to halt, so assert false will terminate with an informative message. Neither is the method printlnfor that matter. For security and performance reasons, SmartThings runs in a sandboxed environment that restricts access to certain features.

The sandboxed environment is discussed further in the Groovy With SmartThings tutorial. Methods are the things the object can do, and similar to other languages, are optionally more on that later invoked with parentheses that may contain arguments. In Groovy, we can use def in place of an explicit type. The exact type of object that will be assigned will vary when using def. Why use def instead of explicit types?

While not required, def is commonly used in Groovy and in SmartThings because it provides greater flexibility and readability. In the example above, addThem is defined to accept two String parameters.

What happens when we try to invoke addThem with two numbers?In the 2. Most long-time SmartThings customers have seen the effect of this in the move to the new mobile app. But over the years, SmartThings has also been creating new developer tools. SDC and both featured many new tools from SmartThings for developers to integrate devices and create automations. That is, until later this year and into SmartThings announced last week they are ready to finally start turning off parts of the legacy mobile app and developer portals.

Community's own Rule Engine meets Web

SmartThings has announced this upcoming change through several sources. There is a post in the community forum about it, an article on Business Insider yes, strangeand Stacey on IoT has an article and podcast about it. None are particularly heavy on details at this point, but we commend SmartThings for giving plenty of notice to its community and developers that this is incoming ahem, Wink.

They want to offer out-of-the-box solutions that help consumers find value in using SmartThings and therefore buy Samsung TVs, appliances, etc. Success Criteria: The new SmartThings app is already a good step in the ease-of-use direction.

SmartThings has 62 million users now, and the traditional hub user is probably the minority compared to TV and appliance owners that would use SmartThings to set up their new Samsung gadget. SmartThings will need to balance ease of use while not abandoning its hub users who tend to be more technical. Change: Samsung wants SmartThings to integrate with everyone. Related to the item above, this makes it easy for users and removes compatibility anxiety.

They use them to integrate their products with SmartThings. But there are still some big names left running legacy Groovy integrations. SmartThings needs to convince or help companies like Ring, Ecobee, and Lutron to rewrite their integrations using the new tools so they still work after the migration.

They also still need to integrate with some big names like Nest and Wyze if they truly want to work with everyone. Success Criteria: This is probably the source of the most heartburn for current SmartThings users, and it will be one of the first legacy items to go. Until recently, SmartThings Classic was the only way to see custom capabilities for community-created devices. Samsung has recently added support to build custom capabilities in the new app.

In order to retire Classic, SmartThings needs to encourage and help device handler creators adapt their code to work in the new app.

This could be harder than it seems. Some developers may not use SmartThings anymore, and some users may not realize that code needs to be updated. Success Criteria: First, we need to know which models. To make matters worse, SmartThings infamously offers no hub backup or migration utilities. To avoid angering their oldest and most loyal customers, SmartThings needs to release a migration utility to upgrade hubs.

But we have a sneaking suspicion this may not be technically feasible with the large gap in firmware revisions.

webcore groovy

Change SmartThings-branded hardware will cease to exist. Instead, SmartThings will be partnering with manufacturers to make compatible devices and embed SmartThings hub functionality in their devices.

Success Criteria: This one is hard to get a read on. The Business Insider article makes it seem like SmartThings-branded hardware will cease to exist altogether. Either way, SmartThings is definitely looking to expand its platform and act more as a service provider.

We saw this push when we covered SDC This will be critical to avoiding fragmentation and rolling new features out to all users. Success Criteria: The Groovy integrated development environment IDE is the legacy development platform that experienced SmartThings users have come to love.SmartThings is the brain of your smart home.

It connects wirelessly with a wide range of smart devices and makes them work together. SmartThings allows you to monitor, control, and automate a wide range of connected devices in your home.

Stringify vs. WebCore self. I'm set up for both and have Stringify running with two "Flows" and have WebCore fully installed.

I started with Stringify as it seemed both the simpler approach and the broader option. However, in using it for a few weeks I've now run into a series of concerns.

My biggest one is it has a abysmally small community and some of the people in it are your typical arrogant types that can't fathom anyone that doesn't immediately think that Stringify is not only the best solution ever created, but also the most intuitive which it isn't.

I'm also surprised to find it doesn't easily support multiple people for location tracking, etc. Locking our Kwikset door at different intervals based on what time it is shorter at night, longer when we're here at other hours. We plan other uses, but this is the starting position. Is WebCore a good approach for this? Sorry if this comes off as a rant, but Stringify seems like a great idea with a lot of great, but mainly unrealized and possibly squandered potential.

webcore groovy

Stringify is fine for simple multi action with simple If and Only IF conditions. However, webCore is much, much more powerful.

No coding experience is required. Once you make a few test pistons, itll come naturally. Would you have any comments on the "limitations" of WebCore given that it lives entirely withing the ST world? That's what drew me to Stringify in the first place. So if your internet goes down, no automations in webcore will work.GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.

Skip to content. Permalink Dismiss Join GitHub today GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together. Sign up. Go to file T Go to line L Copy path. Raw Blame. See the. Same for lastWeek and nextWeek.

Killed it. Added the on statement and the do statement. Implemented more virtual commands the fade suite. Should be more stable. May be VERY quirky, still. Also introduced for each loops and actions on device typed variables. Dynamically assigned variables act as functions - it can be defined as an expression and reuse it in lieu of that expression.

COUNT device list's contact rises above 1 will be true when at least two doors in the list are open :D. UI has an issue with initializing params on editing a task, will get fixed soon. Restore is not implemented yet. The IDs are hashed into a string of letters and numbers that cannot be 'decoded' back to their original value.

These hashed IDs are stored by your browser and can be cleaned up by using the Logout action under the dashboard. The browser never stores this password and it is only used during the initial registration and authentication of your browser.

A security token is generated for each browser and is used for any subsequent communication. This token expires at a preset life length, or when the password is changed, or when the tokens are manually revoked from the webCoRE SmartApp's Settings menu.

Such features include emails sending emails out, or triggering pistons with emailsinter-location communication for superglobal variables, fuel streams, backup bins. The server is therefore unable to access any information that only an authenticated browser can.

It also collects an encrypted version of your SmartApp instances' endpoints that allow the server to trigger pistons on emails if you use that featureproxy IFTTT requests to your pistons, or provide inter-location communication between your webCoRE instances, as well as data points provided by you when using the Fuel Stream feature.

It also allows for automatic browser registration when you use another browser, by providing that browser basic information about your existing instances.RBoy Apps.

To change the appearance of the page, edit the styles of the corresponding elements in most cases by using the "Main Frame" Style Zone. To "activate" displaying of an arrow, use its property "Visible". Your house is your biggest investment. Are you looking after your house or is your house looking after you? It finds your upcoming reservations and creates lock codes for your renters. On check-in day it activates their code, when they use their code to unlock the door, it welcomes them, it turns on the lights, sets the temperature, disarms security and notifies you.

You are on your way Home, your SmartThings device knows you're within 1 mile of your house. As you approach the house, it opens the garage door, unlocks the front door and disarms your security system. It turns on the light in your kitchen and turns on some music. Welcome back home! The sun rises, the house adjusts the temperature in your room to make it a little warmer and turns off the humidifier. Once you get out of bed and head into your bathroom, it knows you're awake, it disarms the security system and turns on some music.

You take a bath and it knows you're ready for your day, the coffee pot comes on. You grab your morning breakfast and head down to the basement to your Home Office.

Your house knows it's a weekday and senses that you're in your basement. You decide to take a break and watch some TV. Your sister gets into town early, you're stuck at the office. She calls you from the Airport. You say hey no issues, go on home and enter your birthdate on the door lock. You whip your phone, fire up SmartThings and tell your house to let your sister use her birthdate to unlock your front door lock.

Also you tell your house that when she unlocks the door, disarm the security system, turn on the lights and send you a text message informing you of her arrival. You also let your house know that this is a one time code. It has made my life as an AirBnB host so much easier. I honestly think this has been the biggest improvement to my workflow ever. I would like to recommend this RLA to all my host friends who use smart locks. I can't even tell you how many hours of lock programming this is going to save me!It does so by using a pseudo scripting language that is easy to read and understand by users.

Each such script is called a piston, because, well, we're talking about an engine, right? You can find out more in-depth info by going to our wiki. This is the central piece of SmartThings' automation platform.

Visit SmartThings for more info. You need some connected devices to control, there's a huge selection online.


Find a starting point at SmartThings. Find more about this process here. This is where you control your webCoRE automations.

It's the central point of webCoRE. Ready to start your journey to better automation? That's great! Find help from the great SmartThings community or visit our wiki page! SmartThings forum. Toggle navigation Menu webCoRE. About Getting started Dashboard Contact. What is webCoRE? You can find out more in-depth info by going to our wiki Get Started!

Getting started Here's what you'll need to use webCoRE. Some Smart devices You need some connected devices to control, there's a huge selection online. Dashboard This is where you control your webCoRE automations.

webcore groovy

Let's Get In Touch!


Leave a Reply

Your email address will not be published. Required fields are marked *