ZSE50 Zooz Siren & Chime

Started setting up my sirens today. First one I was using just to mess with my son, so I attempted to load some custom sounds to. However they would not show up at all (Linux user). About to give up, I found a Windows machine, and copied over the same MP3 files I had made, and all the sudden they showed up when copied from the Windows machine?

However now the entire list is off:


So if you click creak.mp3, it plays alert1_door-open.mp3, growl.mp3 is actually alert2_door-closed.mp3 and so on. creak and growl, are actually at the very end of the list. It’s this same way in the scenes as well, so you have decode everything to actually select a sound file.

Known issue? Did I mess something up, and make something unhappy? I have multiple sirens sitting here, so I can copy files between them. I also made a backup of the files.

Did you try playing a custom sound from a Scene? Or just from the device, as shown in your screenshot, above? Wondering how that worked out for you…

Same result. I have the scene setup right now that uses my son’s motion sensor in his room to control the siren, but I had to use the same messed up naming convention to get the right sounds. So they are wrong in the GUI everywhere.

Pretty sure @Sara or @BartekZooz would be interested in this thread. :neutral_face:

I’m having similar issues with my new ZSE53 but with a Mac instead of Linux

  • Home Assistant
  • ZWave JS (device isn’t in the registry yet)
  • Connected device via M1 Mac
  • Playing custom mp3 files (piper TTS)
  • FW: v1.10.10
  • SDK: v7.18.8

I mounted the device. I removed cluster-chimes.mp3 (5MB) and copied 14 mp3s from my Mac to the device.

The available tones list does not change. It still shows the original 25 including the one I deleted.

The tones don’t match to any list when I play the siren. It doesn’t match the original list or the list of files in alphabetical order [1]. The maximum number of files is still 25 [2].

[1] I was assuming that the list would be recomputed on startup if it changed. I didn’t see a command to refresh.

[2]


      "id": "78-121-0-defaultToneId",
      "nodeId": 78,
      "toUpdate": false,
      "commandClass": 121,
      "commandClassName": "Sound Switch",
      "endpoint": 0,
      "property": "defaultToneId",
      "propertyName": "defaultToneId",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Default tone ID",
      "stateless": false,
      "commandClassVersion": 2,
      "min": 1,
      "max": 25,
      "list": true,
      "states": [
        {
          "text": "alert1_Door-open.mp3 (2 sec)",
          "value": 1
        },
        {
          "text": "alert2_Door-closed.mp3 (2 sec)",
          "value": 2
        },
        {
          "text": "alert3_Window-open.mp3 (2 sec)",
          "value": 3
        },
        {
          "text": "alert4_Window-closed.mp3 (2 sec)",
          "value": 4
        },
        {
          "text": "alert5_Motion-detected.mp3 (3 sec)",
          "value": 5
        },
        {
          "text": "alert6_Motion-cleared.mp3 (2 sec)",
          "value": 6
        },
        {
          "text": "alert7_Leak-detected.mp3 (2 sec)",
          "value": 7
        },
        {
          "text": "alert8_Leak-cleared.mp3 (2 sec)",
          "value": 8
        },
        {
          "text": "ambulance.mp3 (9 sec)",
          "value": 9
        },
        {
          "text": "buzzer-alarm.mp3 (6 sec)",
          "value": 10
        },
        {
          "text": "cluster-chimes.mp3 (227 sec)",
          "value": 11
        },
        {
          "text": "doorbell1.mp3 (7 sec)",
          "value": 12
        },
        {
          "text": "doorbell2.mp3 (13 sec)",
          "value": 13
        },
        {
          "text": "doorbell3.mp3 (4 sec)",
          "value": 14
        },
        {
          "text": "doorbell4.mp3 (8 sec)",
          "value": 15
        },
        {
          "text": "doorbell5.mp3 (3 sec)",
          "value": 16
        },
        {
          "text": "doorbell6.mp3 (13 sec)",
          "value": 17
        },
        {
          "text": "fire-alarm.mp3 (2 sec)",
          "value": 18
        },
        {
          "text": "jingle-bells.mp3 (171 sec)",
          "value": 19
        },
        {
          "text": "microwave.mp3 (3 sec)",
          "value": 20
        },
        {
          "text": "old-doorbell.mp3 (23 sec)",
          "value": 21
        },
        {
          "text": "siren1.mp3 (22 sec)",
          "value": 22
        },
        {
          "text": "siren2.mp3 (40 sec)",
          "value": 23
        },
        {
          "text": "siren3.mp3 (5 sec)",
          "value": 24
        },
        {
          "text": "tone.mp3 (7 sec)",
          "value": 25
        }
      ],
      "value": 24,
      "lastUpdate": 1755969574559,
      "newValue": 24

I’m glad it’s not just me.

So apparently once the list is messed up, it’s just messed up too. I tried deleting the extra files, and it doesn’t fix things. Perhaps at some point it will catch up, but my one siren still just sees files that aren’t there, and everything is out of order now.

I’m sure it’s a glitch / bug and fixable. However for the moment, I’m going to quit messing with it, and let Zooz sort it out. Don’t want to make it any worse.

As I’m thinking about it though. I had an issue with flash drives on my 370Z radio, and the sorting. I ended up using fatsort on the drive to fix the issue. I wonder if how the files are on the drive actually matters somehow?

Having run into the same issue using the siren with Home Assistant, I found that the correct audio files show up after I “re-interviewed” the Z-Wave device.

The Home Assistant Z-Wave docs describe re-interview as: “Re-interview: Forces the device to go through the interview process again so that Z-Wave-JS can discover all of its capabilities. Can be helpful if you don’t see all the expected entities for your device.”

In Home Assistant, this can be done by selecting re-interview from the pull-down menu, on your siren device page.

  • Find your siren device - via Settings → Devices & services. From there you can click on “X devices” under the “Z-Wave” heading, or click the “Devices” navigation and search for the name of your siren.

  • Once you have clicked on your siren, use the pull-down menu and select re-interview.

2 Likes

@ivanfetch is correct. If you make any changes to the audio files (removing, adding custom files, etc.), you’ll want to re-interview / reconfigure the siren so the changes can be shown properly. Please let us know if you see any issues after re-interviewing / reconfiguring!

1 Like

@sara I think I found a possible bug in the firmware of the ZSE50 at least when using it on hubitat latest build. If I play sound file #3 (window open) the device starts by playing that file that continues playing every file after that in order. Several users have experienced this so I don’t feel like it’s specific to my installation. I tagged @Agnes in the discussion on the hubitat forum. It doesn’t seem specific to the #3 file, as another user stated it happened on one of the other in-built files too.

Otherwise I’m loving the device!

2 Likes

@halfrican.ak Hello,

We are aware of this issue, and please note that it is not related to the ZSE50 firmware. The MP3 file you mentioned is corrupted on the Siren’s internal flash memory.

We have the correct version of the file, which you can simply replace with the existing one. This will also be addressed at the factory level in the next production batch of Sirens, scheduled for September.

You can reach out to our support for the correct file!

For detailed steps on managing sound files on the Siren, please see the following article:

1 Like

Thanks for that update @BartekZooz

Is there a reason the corrected mp3 file can’t simply be posted here or on the device’s support page?

For we early adopters, that just seems like an easier route than all of us emailing into support individually for the file, but that’s of course up to you fine folks.

Thanks again!

@hydro311 We’re currently unable to post music or video files directly here, and we apologize for the inconvenience. This may be a limitation of the forum platform, and we’ll look into it further.

Our goal is to make all Siren tones and spoken alerts available in the article linked above, and our team is actively working on adding them there.

2 Likes

Understood, and many thanks again!

Thanks. Interviewing updated the list. After re-interviewing, I’m seeing duplicate values.

    {
      "text": "._sensor-light.mp3 (0 sec)",
      "value": 44
    },

    {
      "text": "sensor-light.mp3 (0 sec)",
      "value": 47
    },

44 does not play. 47 does play the correct sound.

I have 10 of these duplicates out of the 14 custom sounds.

Just got 3 of these today at the recommendation of @barkis. To begin with, pleased thus far.

Observation 1: Really wish the smartstart DSK sticker was on the BACK of the unit, so when plugged in it was not visible. Beyond making it really easy for somebody to capture the value, it just doesn’t look as nice.

Question/Observation 2: Using Hubitat which of course utilizes the Generic Z-Wave DT Sound Switch. No biggie. (I’m also running a Hubitat beta version, which includes a first pass at a native Zooz ZSE50 Siren & Chime, which has some oddities I’ll raise on that beta program) Is this the in-the-works custom driver the Zooz articles refer to, or should we look for good stuff from another Hubitat buddy who’d done other prior awesome Zooz work @jtp10181 :laughing:

Ok, first order of business was replacing the corrupt sound file as posted in the forum. Also of note, until this is done, the other 2 reported insufficient space on the device to load the collection of new sounds I pulled together.

Developed a group of sounds (#26-40) using ttsmp3.com and selected them (alphabetical order on source) and dragged them to the zse50 - all copy fine. Ran Configure so hubitat knew they were there and see that files had loaded. Created myself a nice little cross reference sheet.

Here’s where the problem starts - each of the three have the files in a different order. Loaded the same drag/drop method, in the same order, unless Windows just wants to do it’s own thing for a group of files, which could happen. However, dragging 1 file at a time 14 times per device already feels painful.

Suggestion: Update firmware to use ##-text.mp3 file name format, where we can specify the order. Otherwise, I think I’m left deleting and then applying these one at a time to avoid any order issues. (delete and re-apply is next up :face_with_head_bandage: )

Problem: Every one of the new mp3 files starts out with some kind of siren or sound artifact before it plays the track normally. Once you’ve played it once or twice, it doesn’t seem to do that anymore, but there’s a distinct “blip” of distracting noise that’s around part of the time (usually 1st play, but I’ve seen it “return”) and this happens on all 3 devices. This happens with Hubitat Generic, and the Hubitat native driver in the beta.

Thoughts? I have an audio recording of “noise” followed by a different “door closed” that I was playing around with to have consistent voices if anyone around Zooz wants to hear what happens.

Appreciate any advice folks have to offer, and happy to try another beta driver, or do other testing.

1 Like

A good Hubitat driver could play the sounds via the filename instead of just the number. Also on this post below mine someone took a stab at making a custom app to help play the correct sounds. Not sure what the app does exactly, but point being there are ways to make it easier, just give it some time.

Yah, not worried about it getting better - I know that’ll happen organically. Was planning on starting a hubitat beta post on the quirks observed with the beta version that came out today. Bummer you’re not playin around with them yet but the bread and butter first :wink: Appreciate that Hubitat link.

@dotdotdot : Those are not actually duplicate files. I’m guessing you are on a Mac?

the files starting with ._ are mac metadata files. They are not needed on the FAT filesystem of the USB.

If you are OK with the terminal, you can remove them with the following process:

  1. ensure your ZSE50 is connected via USB.
  2. Open Terminal and type in the following command:
    dot_clean -m /Volumes/NO\ NAME
  3. Eject the USB in Finder
  4. Unplug the ZSE50 from the cable
  5. re-interview the device

(this assumes your USB is Mounted as “NO NAME” in Finder.)

This will delete all the bogus dot files.

:slight_smile:

2 Likes

This takes longer than one might think! On the Z-Box, I opened a debug console window (click the down-arrow on the left of the screen) and watched the feedback there to determine when it was done with the reconfiguration. After patiently waiting (sigh!), I didn’t have the problem @John noted regarding wrong messages/tones playing. Prior to that, I observed the same thing. The lesson, apparently, is to just be patient! :grinning_face_with_smiling_eyes:

To avoid this, I opened a command line in the directory containing the files on my Windows PC. Using the “dir /b” command, I redirected the output to a text file called file_list.txt. Edit the list to remove anything other than the desired files, such as other directories.

Note: the suggestion @John made regarding file naming with a prepended number seems like a good idea! It also makes the files appear in collating order in file_list.txt, making it unnecessary to edit that file to assure files are copied in the desired order.

Then I built a batch file to copy the files one at a time to the destination, i.e., the siren (which mounts on my system as drive E:).

@echoechoechoechoechoechoechoecho off
set src_folder=.
set dst_folder=E:
set file_list=file_list.txt

for /f “tokens=*” %%i in (%file_list%) DO (
echo f | xcopy “%src_folder%%%i” “%dst_folder%%%i”
)

After opening Drive E (the siren) in a Windows File Explorer window, I deleted all “old” files on the siren, then ran the batch file that resides in the directory of new sound files from the console window. Each copied to the siren in order they appeared in file_list.txt–so, no ordering problem. (Anybody’s guess on how Windows handles a drag-and-drop–after all, it is probably written for efficiency and perhaps uses multiple threads.) One could easily do the same from a Mac or a linux box with a similar approach. :wink:

That’s my experience on the Z-Box. Note: it seems easy to step on a playing announcement/tone by selecting the next one too soon. Going forward, I’m going to watch for that and look for some way around it…

Edit: perhaps I spoke too soon. Today, after deleting all sounds from yesterday I found incorrect sounds/prompts playing on scenes I set up yesterday–even though they appear in correct numerical order in the UI. Leads me to believe perhaps there is some kind of internal indexing going on that requires–at least on the Z-Box Hub–editing each Block Scene and re-selecting the desired sound. Doable, but a bit of a PITA!

Lesson: try to think of every sound/prompt you’ll need before going nuts with automations! :thinking:

1 Like

@Barkis That is a great idea (writing files one at a time)!! I’m stealing this idea but will give you credit for whoever asks!!

For those of us on a Mac or Linux environment, here’s a script I wrote to do the same thing for loading files. It includes the dot_clean as well.

  1. Just place all your files you want on your ZSE50 in a folder.
  2. Change the file names so they ALPHA SORT the way you want them. I personally started each file with “alert01_” and just changed the two digit number appropriately.
  3. Then add this script below to that same folder. I called it “loadzse50”
  4. Be sure to chmod the file so you can run it [e.g. chmod 700 loadzse50]
  5. Attach your ZSE50 to your machine
  6. (If this is the first time or making major changes, you may want to delete everything off your ZSE50 first, OR copy all of the existing files to your local directory. Need to be mindful of disk space of course. In the end you want a full picture of the files you want on the ZSE50 in your folder, and it may be advisable to start with a clean slate on the ZSE50 itself.)
  7. Then run it!
#!/bin/bash
#
# Copies .mp3 files listed in the current directory, sorted by filename, one at a time to a volume called "NO NAME".  It is assumed this is a ZSE50.
# 
# Ensure that you are running this from the directory where your mp3 sound files are located.
#
# Also ensure that your sound files are alpha sorted the way you want.  
# Suggestion: Start files with 'alert01_' or similar with an increasing value.  Use two digit numbers with preceeding 0 for best sorting.
#
# Usage:
#   ./loadzse50 
#
# 
# --- check arguments ---
if [ "$#" -ne 0 ]; then
  echo "Usage: $0 (no line parameters accepted.)"
  echo " "
  echo "Ensure that you are running this from the directory where your mp3 sound files are located."
  echo "Also ensure that your sound files are alpha sorted the way you want."
  echo "Suggestion: Start files with 'alert01_' or similar with an increasing value."
  echo "Use two digit numbers with preceeding 0 for best sorting."
  exit 1
fi

# --- create file list ---
find "$PWD" -maxdepth 1 -type f -name "*.mp3" | sort > filelist.txt

# --- setup local variables ---
LISTFILE="filelist.txt"
SOURCEDIR="."
DESTDIR="/Volumes/NO NAME/"

# --- ensure the list file exists ---
if [ ! -f "$LISTFILE" ]; then
  echo "Error: list file '$LISTFILE' not found."
  exit 1
fi

# --- main loop ---
while IFS= read -r FILE || [ -n "$FILE" ]; do
  # skip empty lines
  [ -z "$FILE" ] && continue

  echo "Copying: $FILE -> $DESTDIR"
  if [ -f "$FILE" ]; then
    cp "$FILE" "$DESTDIR"
  else
    echo "Warning: '$FILE' not found, skipping."
  fi
done < "$LISTFILE"

echo "Copy complete."
dot_clean "$DESTDIR" > /dev/null 2>&1
echo "Cleaned up dot files"

Note: some of the files show up with bizarre file names on the ZSE50 which I haven’t yet figured out… but the number part at the beginning of the filename stays so I know which is which. Strange… But they do play fine.

Here’s an example.. alert-28 is not correct… the file name is actually alert14_halloween-wolf-howl.mp3 … but alert15 is correct. When selected the wolf howl does indeed play. Thinking file name length or characters but need more time to reverse engineer.

   {
        "duration": 0,
        "name": "ALERT~28.MP3",
        "toneId": 14
      },
      {
        "duration": 0,
        "name": "alert15_halloween-wolf.mp3",
        "toneId": 15
      },

Also:

Lesson: try to think of every sound/prompt you’ll need before going nuts with automations! :thinking:

This is very true. As you do these on the Z-Box, the deviceId changes after each re-interview, which causes me to have to re-edit all my lua scripts. :frowning:

1 Like