--- 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.