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

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • 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
    • Secure your Zigbee network
    • 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 S4SW-002P16EU-COVER

ModelS4SW-002P16EU-COVER
VendorShelly
Description2PM Gen4 (Cover mode)
Exposescover (state, position, tilt), wifi_status, ip_address, dhcp_enabled, wifi_config
PictureShelly S4SW-002P16EU-COVER

Notes

Zigbee / Matter mode

The device ships in Matter mode by default. To use the device with Zigbee2MQTT, switching to Zigbee mode is required. This can either be done via the Web UI, or by pressing the button on the back of the device 5 times. Afterwards, the device will start pairing mode for 3 minutes. To restart pairing mode, press the button three times again.

Usage scenarios

The Shelly 2PM Gen4 device allows two different usage scenarios that appear as separate devices in Zigbee2MQTT:

  • Cover Control (S4SW-002P16EU-COVER) - This device supports window covering controls with lift and tilt functionality with power monitoring
  • Switch Control (S4SW-002P16EU-SWITCH) - Provides dual switch functionality with power monitoring

The usage is automatically detected based on the endpoint configuration. For now, changing usage is only possible through Shelly WebUI.

Cover Mode Features

When operating in cover mode, this device provides:

  • Window covering controls (lift and tilt)
  • Position feedback
  • State reporting (OPEN/CLOSE)

Vendor product page: Shelly 2PM Gen4

Maintenance and factory reset

To enable the on-device access point and bluetooth for maintenance, press and hold the button on the back of the device for 5 seconds. Doing so for 10 seconds will trigger a factory reset.

Options

How to use device type specific configuration

  • invert_cover: Inverts the cover position, false: open=100,close=0, true: open=0,close=100 (default false). The value must be true or false

  • cover_position_tilt_disable_report: Do not publish set cover target position as a normal 'position' value (default false). The value must be true or false

Exposes

Cover

The current state of this cover is in the published state under the state property (value is OPEN or CLOSE). To control this cover publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state": "OPEN"}, {"state": "CLOSE"}, {"state": "STOP"}. It's not possible to read (/get) this value. To change the position publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"position": VALUE} where VALUE is a number between 0 and 100. To change the tilt publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"tilt": VALUE} where VALUE is a number between 0 and 100.

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 ✌
Last Updated: 3/3/26, 6:09 AM