---
title: Shelly
description: Integrate Shelly devices
ha_category:
- Binary Sensor
- Cover
- Light
- Sensor
- Switch
ha_release: 0.115
ha_codeowners:
- '@balloob'
- '@bieniu'
- '@thecode'
- '@chemelli74'
ha_iot_class: Local Push
ha_domain: shelly
featured: true
ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- binary_sensor
- cover
- light
- sensor
- switch
---
Integrate [Shelly devices](https://shelly.cloud) into Home Assistant.
Integration is communicating directly with the device; cloud connection is not needed.
{% include integrations/config_flow.md %}
## Entity naming
The integration uses the following strategy to name its entities:
- If `Device Name` or `Channel Name` is set in the device, the integration will use them to generate the entities' name.
- If channel names are set, they will be used in the entity names. The device name will not be used.
- If only the device name is set, and the device has multiple channels, the channel number will be appended to the entity name (e.g., Channel 2).
- In case device name and channel names are not set, the entity name will be generated by the `Device Type`, `Device ID` and `Channel Number`.
Examples:
| Device Name | Channel Name | Entity Name |
| ----------- | -------------- | --------------------------------|
| `Not set` | `Not Set` | shellyswitch25-ABC123 Channel 1 |
| `Not set` | Kids Room Bulb | Kids Room Bulb |
| Kitchen | `Not Set` | Kitchen Channel 1 |
| Bedroom | Round Bulb | Round Bulb |
Names are set from the device web page:
- Device name can be set in **Settings** >> **DEVICE NAME**
- Channel name for single-channel devices can be set in **Settings** >> **CHANNEL NAME**
- Channel name for multi-channel devices can be set in **Settings** >> **CHANNEL NAME** after selecting the channel, by clicking on the channel name.
## Appliance type
Shelly device relays are added to the Home Assistant by default as `switch` entities. A relay can be added as a `light` entity if the device uses firmware version 1.9.0 or newer and the **Settings** >> **APPLIANCE TYPE** value is set to `light`.
## Events
If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, integration fires events when the switch is used. You can use these events in your automations.
### Automation examples
```yaml
- alias: "Toggle living room light"
trigger:
platform: event
event_type: shelly.click
event_data:
device: shellyswitch25-AABBCC
channel: 1
click_type: single
action:
service: light.toggle
target:
entity_id: light.living_room
- alias: "Toggle living room lamp"
trigger:
platform: event
event_type: shelly.click
event_data:
device: shellyswitch25-AABBCC
channel: 2
click_type: long
action:
service: light.toggle
target:
entity_id: light.lamp_living_room
```
### Possible values for `click_type`
| Shelly input event | Click Type |
| ------------------ | --------------|
| `S` | `single` |
| `SS` | `double` |
| `SSS` | `triple` |
| `L` | `long` |
| `SL` | `single_long` |
| `LS` | `long_single` |
Not all devices support all input events. You can check on [Shelly API Reference](https://shelly-api-docs.shelly.cloud/) website what types of Shelly input events your device supports.
## Known issues and limitations
- Only supports firmware 1.8 and later
- Before set up, battery-powered devices must be woken up by pressing the button on the device.