Shelly S4PL-00416EU
| Model | S4PL-00416EU |
| Vendor | Shelly |
| Description | Power strip 4 Gen4 |
| Exposes | switch (state), power, voltage, current, energy, wifi_status, ip_address, dhcp_enabled, wifi_config |
| Picture | ![]() |
Options
How to use device type specific configuration
power_calibration: Calibrates the power value (percentual offset), takes into effect on next report of device. The value must be a number.power_precision: Number of digits after decimal point for power, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of0and with a maximum value of3voltage_calibration: Calibrates the voltage value (percentual offset), takes into effect on next report of device. The value must be a number.voltage_precision: Number of digits after decimal point for voltage, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of0and with a maximum value of3current_calibration: Calibrates the current value (percentual offset), takes into effect on next report of device. The value must be a number.current_precision: Number of digits after decimal point for current, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of0and with a maximum value of3energy_calibration: Calibrates the energy value (percentual offset), takes into effect on next report of device. The value must be a number.energy_precision: Number of digits after decimal point for energy, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of0and with a maximum value of3state_action: State actions will also be published as 'action' when true (default false). The value must betrueorfalse
Exposes
Switch (1 endpoint)
The current state of this switch is in the published state under the state_1 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_1": "ON"}, {"state_1": "OFF"} or {"state_1": "TOGGLE"}. To read the current state of this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state_1": ""}.
On with timed off
When setting the state to ON, it might be possible to specify an automatic shutoff after a certain amount of time. To do this add an additional property on_time to the payload which is the time in seconds the state should remain on. Additionally an off_wait_time property can be added to the payload to specify the cooldown time in seconds when the switch will not answer to other on with timed off commands. Support depends on the switch firmware. Some devices might require both on_time and off_wait_time to work Examples : {"state" : "ON", "on_time": 300}, {"state" : "ON", "on_time": 300, "off_wait_time": 120}.
Switch (2 endpoint)
The current state of this switch is in the published state under the state_2 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_2": "ON"}, {"state_2": "OFF"} or {"state_2": "TOGGLE"}. To read the current state of this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state_2": ""}.
On with timed off
When setting the state to ON, it might be possible to specify an automatic shutoff after a certain amount of time. To do this add an additional property on_time to the payload which is the time in seconds the state should remain on. Additionally an off_wait_time property can be added to the payload to specify the cooldown time in seconds when the switch will not answer to other on with timed off commands. Support depends on the switch firmware. Some devices might require both on_time and off_wait_time to work Examples : {"state" : "ON", "on_time": 300}, {"state" : "ON", "on_time": 300, "off_wait_time": 120}.
Switch (3 endpoint)
The current state of this switch is in the published state under the state_3 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_3": "ON"}, {"state_3": "OFF"} or {"state_3": "TOGGLE"}. To read the current state of this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state_3": ""}.
On with timed off
When setting the state to ON, it might be possible to specify an automatic shutoff after a certain amount of time. To do this add an additional property on_time to the payload which is the time in seconds the state should remain on. Additionally an off_wait_time property can be added to the payload to specify the cooldown time in seconds when the switch will not answer to other on with timed off commands. Support depends on the switch firmware. Some devices might require both on_time and off_wait_time to work Examples : {"state" : "ON", "on_time": 300}, {"state" : "ON", "on_time": 300, "off_wait_time": 120}.
Switch (4 endpoint)
The current state of this switch is in the published state under the state_4 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_4": "ON"}, {"state_4": "OFF"} or {"state_4": "TOGGLE"}. To read the current state of this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state_4": ""}.
On with timed off
When setting the state to ON, it might be possible to specify an automatic shutoff after a certain amount of time. To do this add an additional property on_time to the payload which is the time in seconds the state should remain on. Additionally an off_wait_time property can be added to the payload to specify the cooldown time in seconds when the switch will not answer to other on with timed off commands. Support depends on the switch firmware. Some devices might require both on_time and off_wait_time to work Examples : {"state" : "ON", "on_time": 300}, {"state" : "ON", "on_time": 300, "off_wait_time": 120}.
Power (numeric, 1 endpoint)
Instantaneous measured power. Value can be found in the published state on the power_1 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"power_1": ""}. It's not possible to write (/set) this value. The unit of this value is W.
Power (numeric, 2 endpoint)
Instantaneous measured power. Value can be found in the published state on the power_2 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"power_2": ""}. It's not possible to write (/set) this value. The unit of this value is W.
Power (numeric, 3 endpoint)
Instantaneous measured power. Value can be found in the published state on the power_3 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"power_3": ""}. It's not possible to write (/set) this value. The unit of this value is W.
Power (numeric, 4 endpoint)
Instantaneous measured power. Value can be found in the published state on the power_4 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"power_4": ""}. It's not possible to write (/set) this value. The unit of this value is W.
Voltage (numeric, 1 endpoint)
Measured electrical potential value. Value can be found in the published state on the voltage_1 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"voltage_1": ""}. It's not possible to write (/set) this value. The unit of this value is V.
Voltage (numeric, 2 endpoint)
Measured electrical potential value. Value can be found in the published state on the voltage_2 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"voltage_2": ""}. It's not possible to write (/set) this value. The unit of this value is V.
Voltage (numeric, 3 endpoint)
Measured electrical potential value. Value can be found in the published state on the voltage_3 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"voltage_3": ""}. It's not possible to write (/set) this value. The unit of this value is V.
Voltage (numeric, 4 endpoint)
Measured electrical potential value. Value can be found in the published state on the voltage_4 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"voltage_4": ""}. It's not possible to write (/set) this value. The unit of this value is V.
Current (numeric, 1 endpoint)
Instantaneous measured electrical current. Value can be found in the published state on the current_1 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"current_1": ""}. It's not possible to write (/set) this value. The unit of this value is A.
Current (numeric, 2 endpoint)
Instantaneous measured electrical current. Value can be found in the published state on the current_2 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"current_2": ""}. It's not possible to write (/set) this value. The unit of this value is A.
Current (numeric, 3 endpoint)
Instantaneous measured electrical current. Value can be found in the published state on the current_3 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"current_3": ""}. It's not possible to write (/set) this value. The unit of this value is A.
Current (numeric, 4 endpoint)
Instantaneous measured electrical current. Value can be found in the published state on the current_4 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"current_4": ""}. It's not possible to write (/set) this value. The unit of this value is A.
Energy (numeric, 1 endpoint)
Sum of consumed energy. Value can be found in the published state on the energy_1 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"energy_1": ""}. It's not possible to write (/set) this value. The unit of this value is kWh.
Energy (numeric, 2 endpoint)
Sum of consumed energy. Value can be found in the published state on the energy_2 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"energy_2": ""}. It's not possible to write (/set) this value. The unit of this value is kWh.
Energy (numeric, 3 endpoint)
Sum of consumed energy. Value can be found in the published state on the energy_3 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"energy_3": ""}. It's not possible to write (/set) this value. The unit of this value is kWh.
Energy (numeric, 4 endpoint)
Sum of consumed energy. Value can be found in the published state on the energy_4 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"energy_4": ""}. It's not possible to write (/set) this value. The unit of this value is kWh.
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:trueorfalsessid(text): Name (SSID) of the Wi-Fi network to connect topassword(text): Password for the selected Wi-Fi networkstatic_ip(text): Manually assigned IP address (used when DHCP is disabled)net_mask(text): Subnet mask for the static IP configurationgateway(text): Default gateway address for static IP configurationname_server(text): Name server address for static IP configuration

