Write a Shelly script and upload it to a device — quickly, with minimal setup.
NB: This extension is currently in development and may not support all features of Shelly devices or may contain bugs.
Features
Write plain JavaScript directly in any file ending with .shelly.js.
No project setup needed — works in any folder or workspace.
Autocompletion and type hints for Shelly’s built-in JS APIs.
Syntax validation and warnings for unsupported features.
Direct upload to a Shelly device with a single click.
Device management: add, remove, and switch between multiple devices.
Device IP selection via a simple command.
How to Use
1. Write a Script
Create or open any file with the .shelly.js extension.
Start writing your Shelly script in JavaScript.
Autocompletion and type hints will appear as you type.
2. Validate Your Script
The extension automatically checks your script for syntax errors and unsupported features.
Warnings and errors will appear in the Problems panel.
3. Connect to a Device
Click the device icon in the sidebar or use the command palette (Cmd+Shift+P / Ctrl+Shift+P) and run Shelly: Set device host.
Enter your device's IP address (e.g., 192.168.33.1).
The device will be saved for quick access in the future.
4. Upload a Script
Open the script toy want to upload
Select Send script.
The script will be uploaded directly to your Shelly device.
5. Download or Manage Scripts
Use the device explorer to download scripts from your device, remove devices, or view device logs.
What's Possible
Write, validate, and upload Shelly scripts with zero setup.
Manage multiple devices and switch between them easily.
Get instant feedback on your code with autocompletion and validation.
Download scripts from devices for backup or editing.
View device logs and debug output directly in VS Code.
Troubleshooting
Make sure your Shelly device is on the same network as your computer.
If you can't connect, double-check the device IP and your network settings.
For more help, check the output panel (View > Output) and select Shelly Debug Log from the dropdown.
Terms and Conditions
This extension is currently in development.
By using this extension, you acknowledge and agree that it is provided as a pre-release version and may contain bugs, incomplete features, or other issues. The extension is provided "as is" without any warranties. Features and functionality are subject to change at any time. Use at your own risk.
Contact
For support, feedback, or business inquiries, please contact: vscode@shelly.cloud