Skip to main content
Skip table of contents

Shelly BLU Assistant web interface guide

Overview

Shelly devices provide a local web interface that allows you to control and configure your devices through a standard web browser on either your computer or mobile device. With it, you can turn appliances connected to your device on or off, set schedules, and configure actions to execute when certain conditions are met.

Note that you do not need an internet connection or Shelly Cloud to use the local web interface - the only requirement is that your browser must be in the same Wi-Fi network as your Shelly device.

Accessing the web interface

To access the web interface:

  1. Connect your device to a Wi-Fi network with a name (SSID) that follows this format: "DeviceName-XXXXXXXXXX", where ‘DeviceName’ is the name of the device you’d like to connect to, while 'XXXXXXXXXX' represents a unique combination of letters and numbers, constituting the device ID.

  2. After establishing a connection to the device’s Access Point / AP (the Wi-Fi network mentioned in step 1), accessing the web interface is done by entering the universal IP address for all Shelly devices 192.168.33.1 in your browser.

You are now in the web interface of your device.

Connecting your device to a Wi-Fi network

Some of the settings you’ll see in the web interface are only available if the device is connected to the internet. To do that, follow these steps:

  1. From the Web interface, navigate to Settings>Wi-Fi.

  2. Either input or select your preferred Wi-Fi network and then enter its password. Alternatively, connecting to an open network is also an option, facilitated by selecting the checkbox for connecting to open Wi-Fi networks. Additionally, it is recommended to set a static IP address.

  3. Allow your device a few seconds, so it can try to connect to the Wi-Fi network you provided. If the password you typed in is incorrect, or the Wi-Fi network lacks sufficient strength or stability, a message will be displayed in the web interface, notifying you that a connection couldn’t be established. Upon successful connection to the Wi-Fi, a link, containing the new IP address will appear as text above the Wi-Fi settings. Simply copy and paste this link into your browser.

You are now in the web interface of your internet-connected device. The next time you need to access the web UI, simply connect to the same Wi-Fi network as your device and type in the new IP address, obtained in step 3. Setting a static IP address is recommended because it guarantees consistent accessibility at that specific address.

Understanding the layout

The web interface can be divided into four main sections - the header, footer, main menu, and main content.

Header

The header consists of two components - the name of your device on the left and a few icons, which display your device’s main network and connectivity features on the right. These icons can encompass functionalities such as Wi-Fi, Bluetooth, MQTT, and more, as well as an icon that shows if there are any new firmware updates for your device. Hovering with your mouse on an icon will provide you with further information. You’ll find a legend with the meaning of each icon in the web interface guide of each device. Please note that the individual guides explain only the connectivity features available for that specific device.

At the bottom of the screen from left to right in order are the device model name, its ID, the version of the web interface, the firmware version of the device, and finally, the current time. If the time is not synced, you will recieve a notification at the top of the screen, and some schedules and actions may not work as expected. Some previous versions of the web interface do not include all of these components.

Main menu

The main menu in the desktop version of the web interface is on the left, whereas on mobile, it looks like a hamburger menu with an icon of three horizontal lines, stacked on top of each other. The menu contains different things, depending on the device, but clicking an item from it takes you to a different page. You can also use it to get back to the Home page by clicking Home.

Main content

By clicking on an item from the main menu, you’ll be able to navigate through the web interface. Everything that you see on the screen, excluding the header, footer, and main menu is considered main content.

*Please note that not all of the web interface screenshots displayed at the top of each web interface guide page (where there is a screenshot present) are of the latest version. Therefore, they may look a bit different than the latest version and may not represent the look of every device's web interface.

Main Menu

Below are explanations of each setting in the main menu, including what is visualised as main content upon clicking on the different settings. A brief introduction of the icons in the header, specific to this device, is also present in the Home page explanation. Note that the header is present in all of the screens, not just the Home page.

Home page

Each icon displayed in the header has status colors that change. Here is what they mean:

  • AP icon :

    • Gray: AP mode is disabled.

    • Blue: AP mode is enabled.

  • Wi-Fi icon :

    • Gray: Wi-Fi connection is disabled.

    • White: Wi-Fi connection is enabled, but not established.

    • Blue: The device is connected to Wi-Fi.

  • Bluetooth icon :

    • Gray: Connection is disabled.

    • Blue: Connection is enabled.

  • Cloud icon :

    • Gray: Connection to Shelly Cloud is disabled.

    • White: Connection to Shelly Cloud is enabled, but not established.

    • Blue: The device is connected to Shelly Cloud.

  • MQTT icon :

    • Gray: MQTT is disabled.

    • Blue: MQTT is enabled.

package.png
  • Firmware update icon:

    • Blue: There is a new stable version of the firmware for your device.

    • Doesn’t appear: The device’s firmware is up to date.

websocket.svg

  • Websocket connection icon:

    • Blue: Websocket connected.

    • Grey: Websocket is not connected.

The Home page of the web interface is divided into four collapsible panels:

Favorites

This panel is initially empty. Click ★ on a device discovered in the Results panel to add it to favorites and display it here.

You can pin up to 6 devices in this panel.

Each device has:

  • a custom alias (saved in KVS, but not sent to the device itself with a rename command).

  • up to 4 buttons for arbitrary RPC calls with custom labels.

Find Shelly devices

Find and sort specific Shelly devices in this panel. The found devices appear in the Results panel.

Here is how to use each control in this section:

Control

Function

Filter by Model ID

Select from the drop-down of all Shelly models, or start typing to find the desired model.

Filter by Device Name

Type in the advertised name of the Shelly device you want to find.

RSSI threshold (dBm)

Set a threshold for a specific signal and hide all devices with a weaker signal.

Sort by

Sort by either

  • RSSI (from strongest to weakest)

  • Device name (from A to Z)

Scan

Start a BLE scan to find the target devices. Found devices appear in Results pane.

Reset query

Clear all filter fields.

Send RPC

Send RPC to up to 5 devices at the same time:

  1. Select one or more devices from the Results pane (tick the checkbox on the right of the device name).

  2. Begin typing an RPC. The auto-complete shows commands only valid for the specific device model you’ve selected.

  3. Optional: Add parameters in JSON format.

  4. Click Send to execute the command to up to 5 devices simultaneously.

See how many RPCs are successfully executed under the title of the panel.

Results

See all the found devices matching the criteria you selected in the Find Shelly devices pane.

At the top of the panel is an overview displaying:

  • Number of scanned devices

  • Number of filtered devices

  • Number of selected devices (done by clicking the checkbox, or clicking Select All to quickly check all devices)

  • Number of favorited devices

Each device card shows model, name, MAC, and RSSI. During operations, a progress bar appears.

View Success/Fail details expanded underneath the device card.

Settings

Network settings

  • Access Point - Configure the device's AP, including switching it on or off (by using the toggle), and setting a password. The access point of the device is an open network by default. The SSID is unique and cannot be changed.

  • Wi-Fi - Register the Shelly device to connect to up to 2 different Wi-Fi networks.

    Either input (through writing in the text field) or select the Wi-Fi network by clicking on the chevron (arrow) icon to browse through all available networks. Can select an open network, and also set a static IP address.

    Enable Wi-Fi 1, or Wi-Fi 2, or both at the same time (by using the toggle next to each one). If both Wi-Fi 1 and Wi-Fi 2 are enabled, and the Shelly device disconnects from one of the networks, it will connect to the other. It is possible to enable Wi-Fi only once the network name (SSID) is set. If the device has no other connections available (AP, Bluetooth, Ethernet (if it applies), or a second Wi-Fi network), trying to disable the Wi-Fi will cause a pop-up asking you if you wish to continue.

  • Bluetooth - Disable/enable Bluetooth by toggling the switch. The device's default Bluetooth setting is enabled.

Connectivity

Note for RPC communication: When an RPC call fails to be executed, a banner message appears - it notifies you that the device is not responding in time, and has lost connection. When the connection is restored, the request will be sent again.

  • MQTT - Configure the Shelly device to execute actions via MQTT. By default, MQTT is disabled, but you can enable it by toggling the switch. Changing these settings will cause the device to reboot. There are some other settings, such as RPC status notifications over MQTT (which enables you to communicate with your device through RPC notifications) and Generic status update over MQTT (to get an overall status update), which you can enable/disable by toggling the switches on their right. You can also enable SSL and type in your server, username, and password, but be aware that enabling SSL will hurt the battery life and most likely shorten it by half.

  • Outbound Websocket - Specifies whether the HTTP channel creates an I/O exception when an inbound connection is closed while still in use by the servlet. By default, this setting is disabled. To enable it, click the toggle switch next to Enable. Enter your service address in the text box and from the drop-down menu under SSL Connectivity choose *, ca.pem or user_ca.pem.

  • RPC over UDP - Communicate with your device and send requests through a Remote Procedure Call (RPC) over a User Datagram Protocol (UDP) server. This can be useful in controlling and monitoring your device remotely, without the need for a dedicated server or connection.

    To use this setting, you'll need to enter the listen port and destination address for the UDP server. The listen port is the port number that the device will listen on for incoming requests, while the destination address is the IP address of the server to which the requests will be sent.

    Once you've entered the required information, you can use the RPC over UDP protocol to send requests to your device and receive responses.

Device settings

  • Device name (info) - See your device’s ID, the Wi-Fi it’s connected to, and the Wi-Fi RSSI.

  • Reboot - After clicking on the Reboot button, you will be asked if you’re sure you want to reboot your device. Click OK for device reboot and Cancel if you don’t want the device to reboot.

  • Factory reset - By clicking on the Reset button, your device’s settings will all be reset to the default. Any changes you’ve made will be reverted. You can confirm that you want the device to factory reset by clicking OK on the pop-up, or Cancel to cancel the factory reset.

  • Location and timezone - Your timezone and location will be autodetected, but you can manually change them from this setting by choosing a timezone from the drop-down menu and typing in your latitude and longitude. There is also a button Auto detect location, which will make the device automatically detect the location once again if it failed the previous time.

If the device’s time is not synced with the current time, schedules and actions may not work as expected. A message will appear to let you know if the time is not synced.

  • Authentication - If you enable authentication, you will be asked to type in a password, which you will then use to access the Web UI of the device. Once enabled, to disable it, click the toggle and enter your authentication pass once prompted.

  • Firmware - In this setting, you can see your device's ID, firmware version, build ID, and web build ID. Use the Copy button above the firmware ID or the web build ID to copy the contents to your clipboard. You can also see the available new versions, check for updates and easily update your device. There is also an option to upload your own firmware, however flashing devices with custom firmware irreversibly voids the device warranty.

  • User certificate (TLS Configuration) - Upload custom certificate authority, client certificate, and client key by dragging and dropping the file(s), or by browsing your files, which you can do by clicking the designated button. Click Upload to upload the files, and Clear to remove files you don’t want to upload.

  • Debug - This setting includes Mqtt, Websocket, and Udp debug. To enable any of these, click the toggle switch next to the specific setting. For Udp debug you will also be asked to type in a Udp address.

Scripts

This device features scripting capabilities. You can use them to customize and enhance device functionality based on a user’s specific needs. These scripts can take into consideration device state, communicate with other devices, or pull data from external services like weather forecasts. A script is a program, written in a subset of JavaScript.

In the web UI, when you go to the Scripts menu, you will see the existing scripts, or if you don’t have any, you can create one, or open the library to explore what is already available. Next to each script you have, you will be able to see its status (whether it’s running or stopped), and a toggle allowing you to run the script on startup. If your script has any errors, the last saved error will be shown under the script’s name.

When you are in the editing view of the script, you will see the console underneath, as well as any errors that pop up. Above the code field are options to Save, Start/Stop, or Delete your script. You can also access Snippets and Docs by clicking on the corresponding labels.

Components

Creating a component

The Components setting allows the user to create Dynamic Components, which don’t initially exist in the device. Virtual components, a type of dynamic component, are used to store or transfer data between scripts or runs and display the script’s functionality on the home page. Components can be grouped together; only the groups and the components inside of them will be displayed on the home page. Components that don’t belong to a group will not be visualized there. The number of components and groups of components per device is limited.

To create a component:

  • Click the Create new button next to User-defined components.

  • Select the type of component you’d like to create - Boolean, Number, Text, Enum, or Button. When created, each component type has Name, View, and Custom Icon URL fields, which you have to fill in. The Custom Icon URL field isn’t required, but it can be used to customise how your components look in the home page. You can rename or delete a component, as well as create actions for it, using the buttons located next to each component.

The different component types may have additional fields, specific to that type. They are explained below

The Boolean component type stores a true/false value and has two different titles that the user can enter depending on if its value is true or false, as well as two separate icons. The drop-down menu for the default value will include the different states of your device. The view options are Hidden, Toggle, and Label. The Toggle view displays a toggle button, so the component’s value changes on each hit. The Label view shows the title for the component’s value.

The Number component type stores values between -999999999999999 and 999999999999999. The default value should be a number in this range. You can also change the unit and step. The view options are Hidden, Field, Slider, Progress bar, and Label. The Field view shows an input field, the Label view displays the value, the Progress bar view visually represents progress, and the Slider view displays a slider interface for interaction.

The Text component type stores a string with up to 255 characters. The view options are Hidden, Field, Label, and Image. The Field view shows an input field, the Label view displays the title, and the Image view requires a URL value, which it uses to display an image.

The Enum component type stores a group of named constants. The view options are Hidden, Dropdown, and Label. If you select Label view, the component will display the title by default, but if an image is specified, it will take precedence and be shown instead.

The Button component type provides a simulated virtual input that allows users to interact with the user interface by registering and reporting clicks. It then sends notifications through connected channels and can be used to trigger automations, and activate webhooks. It features two view options - Button, which displays the button component in your home page, and Hidden.

If a component is set to Hidden, it won’t be displayed in the home page. Otherwise, your component groups will appear below your device’s input(s) and/or output(s) and will display the components, which are part of those groups.

Creating a group of components

To create a group:

  • Click on the + next to User-defined groups, and you’ll be taken to the group creation menu.

  • Enter the name of the group.

  • Select the desired components that you’d like to have in that group.

Editing your groups menu is done through the pencil icon next to the + and it allows you to change the order of your groups by clicking on the up and down arrows to move a group up or down.

Component actions

The Actions menu is now structured based on component type. So, you can create actions for your components and they’ll be separated into the aforementioned five categories.

Scripting

Components can be included in scripts and programmed to change values depending on a condition. To specify a component in a script, you’ll need to use its ID. Component IDs start from 200 and are limited to 299. You’ll be able to see your component’s ID in the Components menu.

For this device specifically, you can have up to 20 virtual components.

BTHome components

BTHome components allow you to create virtual/dynamic components paired to real devices emitting BTHome packets, such as the Shelly BLU devices. To use BTHome components, a successful Bluetooth connection must be established first. A message will appear informing you if the Bluetooth observer is disabled, as well as a button to enable it and reboot your device.

Once a connection has been made, to add a BTHome (Bluetooth) device, click on the + sign next to BTHome components. The device will scan for available Bluetooth devices, but you can click on the Scan button to scan again. Any found devices will appear below that button. In order for a device to be found during the scan, that device needs to be in pairing mode, which is done by holding down the device button. Another option for adding a device is using a MAC address. To do that, click on Add device by MAC address and enter the MAC address of the device you wish to add.

To add sensors, click Configure next to the Bluetooth device of your choice. On this screen, you can name your BTHome (Bluetooth) device, add an encryption key, as well as enter a Custom Icon URL to customise the look of the BTHome component in the home page. The encryption key is used for packet decryption and can be retrieved using the Shelly BLU Debug application.

Below the encryption key field are the supported sensors, which you can add by clicking on the + sign next to the ones you wish to add. Once added, a pencil icon appears next to the sensor and by clicking it you can edit its name, add a Custom Icon URL, or use the trash can icon to delete the sensor entirely.

To save your BTHome component, click on Save settings. To delete a component, click on the trash can icon above the text fields.

To edit a BTHome component, click on the gear wheel icon. You’ll be taken to its settings, which is the same screen as the one you see when you’re adding the component.

Advanced Settings

Upon clicking on the arrow next to this setting, you will reveal the advanced settings. They are explained below.

KVS

KVS stands for Key-Value Storage and is a type of non-relational database, which works by using a simple key-value method to store data. In one device, you can store up to 50 key-value pairs. Upon clicking on the Add value button, you will be taken to the value creation screen, which prompts you to enter a key (up to 42 characters), and value (up to 253 characters). You’ll notice under the text box for the value is the current value type. By default, the value type is Number, but by entering text, the type will change to String. To save the key, simply click the Save button. To edit an existing value, simply click on it. To delete a key-value pair, click the Delete button that appears below it when you go to edit the key. Clicking on the question mark next to the setting name will take you to the API documentation, which will provide you with further information on how the KVS works for Shelly devices.

Diagnostics

From this setting, you can download the debug logs. Enabling the debug log without a reason isn’t recommended, since your device will be slowed down and this setting will cause aging of the flash memory. If you do decide to enable it, you can also download the previous and current logs. Be aware that leaving this page will reset the logger and log data.

HTTP ping

Enter a URL in the designated text field to send an HTTP request to it from your device. The web interface will then let you know if the request was successful or failed.

Device clients

View the devices connected to your device, and sorted in the proper category. There are two options for most devices:

  • Bluetooth clients - devices connected to your device through Bluetooth.

  • AP clients - devices connected to your device’s Access Point.

In this menu, you’ll be able to see information about the clients.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.