Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)

Shelly S4SN-0U61X

ModelS4SN-0U61X
VendorShelly
DescriptionPresence Gen4 Zigbee
Exposesoccupancy, light_level, dark_threshold, bright_threshold, identify, wifi_status, ip_address, dhcp_enabled, wifi_config
PictureShelly S4SN-0U61X

Notes

Presence zones

Zigbee2MQTT discovers configured presence zones from the Shelly device configuration over RPC. After the configuration has been read, only configured zones are exposed. Before this discovery has completed, or when the RPC read fails, Zigbee2MQTT falls back to the maximum supported zone list.

Options

How to use device type specific configuration

  • shelly_wifi_ssid: Full Wi-Fi SSID to use when the Shelly Wi-Fi setup cluster reports a shortened network name. The value must be textual.

  • identify_timeout: Sets the duration of the identification procedure in seconds (i.e., how long the device would flash).The value ranges from 1 to 30 seconds (default: 3). The value must be a number with a minimum value of 1 and with a maximum value of 30

Exposes

Occupancy (binary, 1 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_1 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_1": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 2 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_2 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_2": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 3 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_3 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_3": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 4 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_4 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_4": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 5 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_5 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_5": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 6 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_6 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_6": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 7 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_7 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_7": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 8 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_8 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_8": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 9 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_9 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_9": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Occupancy (binary, 10 endpoint)

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy_10 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupancy_10": ""}. It's not possible to write (/set) this value. If value equals true occupancy is ON, if false OFF.

Light level (enum)

Coarse light level. Value can be found in the published state on the light_level property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"light_level": ""}. It's not possible to write (/set) this value. The possible values are: dark, twilight, bright.

Dark threshold (numeric)

Lux threshold below which light level is dark. Value can be found in the published state on the dark_threshold property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"dark_threshold": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"dark_threshold": NEW_VALUE}. The minimal value is 0 and the maximum value is 65535. The unit of this value is lx.

Bright threshold (numeric)

Lux threshold above which light level is bright. Value can be found in the published state on the bright_threshold property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"bright_threshold": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"bright_threshold": NEW_VALUE}. The minimal value is 0 and the maximum value is 65535. The unit of this value is lx.

Identify (enum)

Initiate device identification. Value will not be published in the state. It's not possible to read (/get) this value. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"identify": NEW_VALUE}. The possible values are: identify.

Wi-Fi status (text)

Current connection status. Value can be found in the published state on the wifi_status property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"wifi_status": ""}. It's not possible to write (/set) this value.

IP address (text)

IP address currently assigned to the device. Value can be found in the published state on the ip_address property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"ip_address": ""}. It's not possible to write (/set) this value.

DHCP enabled (binary)

Indicates whether DHCP is used to automatically assign network settings. Value can be found in the published state on the dhcp_enabled property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"dhcp_enabled": ""}. It's not possible to write (/set) this value. If value equals true dHCP enabled is ON, if false OFF.

Wi-Fi Configuration (composite)

Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set with payload {"wifi_config": {"enabled": VALUE, "ssid": VALUE, "password": VALUE, "static_ip": VALUE, "net_mask": VALUE, "gateway": VALUE, "name_server": VALUE}} To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"wifi_config": ""}.

  • enabled (binary): Enable/disable Wi-Fi connectivity allowed values: true or false
  • ssid (text): Name (SSID) of the Wi-Fi network to connect to
  • password (text): Password for the selected Wi-Fi network
  • static_ip (text): Manually assigned IP address (used when DHCP is disabled)
  • net_mask (text): Subnet mask for the static IP configuration
  • gateway (text): Default gateway address for static IP configuration
  • name_server (text): Name server address for static IP configuration
Help to make the docu better and edit this page on Github ✌
Page was last updated on: 6/30/26, 7:20 PM