If you're using the Neo NAS-AB02B0 Zigbee sirens (or similar models like NAS-AB02B2) in Home Assistant via Zigbee2MQTT, you might have noticed that the native siren
entity in Home Assistant only exposes basic on/off
functionality. This limits you to a single, static melody that plays whenever the siren is triggered.
However, by publishing directly to the device's MQTT topic, you can unlock the full functionality of the siren — including selecting melodies dynamically, adjusting volume, and setting play duration.
This allows you to use the same siren for multiple distinct purposes: a doorbell chime, an alarm, or a timed alert — simply by sending a different payload.
Example MQTT Payload
Topic format:
zigbee2mqtt/<friendly_name>/set
Example payload:
{
"alarm": "select",
"melody": "15",
"volume": "high",
"duration": 10
}
Note:
melody
must be enclosed in quotes ("15"
) to ensure compatibility on some devices. This has been confirmed to work with real Neo NAS-AB02B0 devices as of 2025.
Use Cases
melody: "1"
→ Alarm sound (security breach)melody: "8"
→ Doorbell soundmelody: "15"
→ Notification chime (e.g. washer finished)
Why this matters
This method gives you:
- Full control over sound behavior
- Different sounds for different automations
- A workaround to Zigbee2MQTT/Home Assistant’s current UI limitations
Tested Devices:
Neo NAS-AB02B0
(Zigbee2MQTT)- MQTT Broker: Mosquitto
- Integration: Home Assistant via
mqtt.publish