Hello, hello! It is Dimitar Stanishev here from the Shelly Support team. We would like to provide you with more explanation of the new feature, which our Plus and Pro series will have. It is "Shelly Script" and below you can find more information.
Developing a solution that uses complex logic or inter-component interactions that are asynchronous in time requires flexibility that can not easily be provided by constantly complicating the underlying OS of the device. As with any other software system, the "user space" software solution(s) are better suited to implement logic that is specific to the use case and can be developed by the end-user.
The natural solution to the complexity of users' "job to be done" is to distribute the computational load of the solution building process. We here just can't be that smart to come up with all the right formulas. So we empower our users to create solutions by deploying scripts on Shelly devices (second generation). Actually, we don't know of any other device that offers that at the moment.
Now you can have even more of the _creative autonomy_, which has been one of the main success product themes of our products. We don't want to tell you how to solve the problem, we don't want you to use a third-party integration, we don't want you to buy a hub.
## What is a "Shelly script"?
A script is a program, written in a subset of JavaScript, which is a tried and proven technology - Mongoose OS, the same stack that we have the rest of our devices built on. The secret sauce is the exposure of the RPC APIs to the script. And the extra needed functionality - HTTP.GET (soon POST), Timers for scheduling, the ability to use the local web interface of the device to upload, edit and manage running scripts.
We will publish links to the documentation and repository with examples in the coming days.