Develco SMSZB-120
| Model | SMSZB-120 |
| Vendor | Develco |
| Description | Smoke detector with siren |
| Exposes | reliability, fault, temperature, battery, voltage, smoke, battery_low, supervision_reports, restore_reports, test, warning, max_duration |
| Picture | ![]() |
| White-label | Frient 94430, Cavius 2103 |
Notes
Factory resetting
To factory reset the device, press and hold the only button until the red light starts blinking continuously. The device will reset and become available for pairing again.
The technical manual from Develco states that SMSZB-120 scans Zigbee channels 11-24 when searching for a network to join.
Warning usage
Warning only support a single mode, burglar
Duration of using warning can be shorter than max_duration but not longer. If max_duration are set to 60 seconds, and you try to set warning with duration of 90 seconds, the warning will only apply for 60 seconds. Default value of max_duration are 240 seconds
This device do not support the strobe and strobe_duty_cycle functionality
Triggering alarm (using old style warning)
This smoke alarm can be triggered manually by publishing to zigbee2mqtt/FRIENDLY_NAME/set with the payloads:
To start :
{"warning":{"duration":60,"level":"low","mode":"burglar","strobe":false,"strobe_duty_cycle":0}}Where:
duration: the number of seconds the alarm will be onlevel:low,medium,high,very_highmode:stop,burglarstrobe: not supportedstrobe_duty_cycle: not supported
To stop:
{"warning":{"duration":60,"level":"low","mode":"stop","strobe":false,"strobe_duty_cycle":0}}
Triggering alarm, Simple
Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set with payload {"alarm": "START"} and {"alarm": "OFF"} Set max_duration from the Zigbee2MQTT UI or by publishing {"max_duration": NEW_VALUE} This alarm are preset to highest volume
OTA updates
This device supports OTA updates, for more information see OTA updates.
Options
How to use device type specific configuration
temperature_calibration: Calibrates the temperature value (absolute offset), takes into effect on next report of device. The value must be a number.temperature_precision: Number of digits after decimal point for temperature, 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 of3
Exposes
Reliability (enum)
Indicates reason if any fault. Value can be found in the published state on the reliability property. It's not possible to read (/get) or write (/set) this value. The possible values are: no_fault_detected, unreliable_other, process_error.
Fault (binary)
Indicates whether the device are in fault state. Value can be found in the published state on the fault property. It's not possible to read (/get) or write (/set) this value. If value equals true fault is ON, if false OFF.
Temperature (numeric)
Measured temperature value. Value can be found in the published state on the temperature property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"temperature": ""}. It's not possible to write (/set) this value. The unit of this value is °C.
Battery (numeric)
Remaining battery in %. Value can be found in the published state on the battery property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"battery": ""}. It's not possible to write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.
Voltage (numeric)
Reported battery voltage in millivolts. Value can be found in the published state on the voltage property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"voltage": ""}. It's not possible to write (/set) this value. The unit of this value is mV.
Smoke (binary)
Indicates whether the device detected smoke. Value can be found in the published state on the smoke property. It's not possible to read (/get) or write (/set) this value. If value equals true smoke is ON, if false OFF.
Battery low (binary)
Indicates whether the battery of the device is almost empty. Value can be found in the published state on the battery_low property. It's not possible to read (/get) or write (/set) this value. If value equals true battery low is ON, if false OFF.
Supervision reports (binary)
Indicates whether the device issues reports on zone operational status. Value can be found in the published state on the supervision_reports property. It's not possible to read (/get) or write (/set) this value. If value equals true supervision reports is ON, if false OFF.
Restore reports (binary)
Indicates whether the device issues reports on alarm no longer being present. Value can be found in the published state on the restore_reports property. It's not possible to read (/get) or write (/set) this value. If value equals true restore reports is ON, if false OFF.
Test (binary)
Indicates whether the device is currently performing a test. Value can be found in the published state on the test property. It's not possible to read (/get) or write (/set) this value. If value equals true test is ON, if false OFF.
Warning (composite)
Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set with payload {"warning": {"mode": "VALUE", "level": "VALUE", "strobe_level": "VALUE", "strobe": VALUE, "strobe_duty_cycle": VALUE, "duration": VALUE}}
mode(enum): Mode of the warning (sound effect) allowed values:stop,burglar,fire,emergency,police_panic,fire_panic,emergency_paniclevel(enum): Sound level allowed values:low,medium,high,very_highstrobe_level(enum): Intensity of the strobe allowed values:low,medium,high,very_highstrobe(binary): Turn on/off the strobe (light) during warning allowed values:trueorfalsestrobe_duty_cycle(numeric): Length of the flash cycle max value is 10duration(numeric): Duration in seconds of the alarm unit is s
Max duration (numeric)
Max duration in seconds of the alarm. Value can be found in the published state on the max_duration property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"max_duration": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"max_duration": VALUE}. The minimal value is 0 and the maximum value is 600. The unit of this value is s.

