Skip to content

Instantly share code, notes, and snippets.

@danielrosehill
Created May 25, 2025 18:55
Show Gist options
  • Save danielrosehill/7e4d31858520759ec8284007949f23d4 to your computer and use it in GitHub Desktop.
Save danielrosehill/7e4d31858520759ec8284007949f23d4 to your computer and use it in GitHub Desktop.

Using Neo NAS-AB02B0 Zigbee Sirens with Custom MQTT Payloads in Home Assistant

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 sound
  • melody: "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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment