Zooz Z-Wave Plus S2 MultiSiren ZSE19

Hmm… Are you saying that you do the following in your automation?

  - service: zwave.set_config_parameter
    data:
      node_id: 48
      parameter: 3
      value: 34
  - service: zwave.set_config_parameter
    data:
      node_id: 48
      parameter: 3
      value: 0

I was able to get the above to work, sort of. I could only get an abbreviated chime now, but only one, so that was encouraging. I added a delay between the two service calls but, given that millisecond delays aren’t really a thing in HA, I would sometimes get an abbreviated chime or one and a second abbreviated chime. That’s the best I could do with a 4 second delay given the ‘ding-dong’ chime I was using (#34).

Then I ran across some genius from @pnbruckner for using a python script to call the services and use its datetime functions as a timer. So far, this is working. I may have to tweak the delay of 3.7 a bit, but I’m only getting one chime at the moment. Yay.

# sound_chime.py in the python_scripts folder called with
#  **- service: python_script.sound_chime** in an automation
service_data = {'node_id': 48, 'parameter': 3, 'value': 34 } 
hass.services.call('zwave', 'set_config_parameter', service_data)
end = datetime.datetime.now() + datetime.timedelta(seconds=3.7)
while datetime.datetime.now() < end:
    pass
service_data = {'node_id': 48, 'parameter': 3, 'value': 0 } 
hass.services.call('zwave', 'set_config_parameter', service_data)

Note, YMMV and your delay may be different depending on your particular network, CPU, etc. I’ll post back if I find this doesn’t work as expected long term.

Thanks Dan and Phil!

Yes, they are, and have been for a while now. See AUTOMATIONS & SCRIPTS: SUB-SECOND PRECISION.

Apparently not on my system @118.3 (which is pretty basic), because your python solution worked when the millisecond delay, which I have known about, and tried first, didn’t… at least not consistently or reliably. Not sure why.

At any rate, accept my thanks for just another way for doing something. Cheers.

Working perfectly with zwave-js 2021.3.0 chime as well as siren.

hi do u mind share a piece of config to ring a chosen sound in an automation? thanks!

service: zwave_js.set_config_parameter
data:
  parameter: '3'
  value: '1'
target:
  device_id: multisiren_xxxxx

Value is the number of the tone, by default there are 33 or 36 inbuilt tones and after that are the ones which you have uploaded.

thank you! do u know if there is any way to send the desired volume value as well?

I do the volume from zwavejs2mqtt, not sure if it can be set through set config parameters as there are only three available to set as per the documentation.

1 Like

With some help from this post I was able to create a very basic automation.
My issue is there is a 3-4 second latency from the time the window opens until the siren goes off

Any way to to shorten the delay?

alias: Siren Chirp
description: ''
trigger:
  - platform: state
    entity_id: binary_sensor.office_window_2
    to: 'on'
condition: []
action:
  - service: zwave_js.set_config_parameter
    data:
      parameter: '3'
      value: '35'
    target:
      entity_id: switch.zwsiren
mode: single

same here. about 3~5 seconds delay.

update after 2months: this thing sometimes need 10s to say a ding-dong

The delay is ultimately dependent upon your zwave network traffic. Once the device gets the command, it responds immediately. Are you using zwave-js? MQTT? You might check your logs to see if there are devices reporting things that you never use, that you can disable on the device (so they won’t report it), freeing up network bandwidth. zwave is slow, compared to Zigbee and especially WiFi. So disabling ALL notifications sent by devices that you don’t use is crucial as your network grows. I monitor mine regularly to see what is being reported and how often. Some devices flood the network with garbage by default. Most you can either disable (usually a zero) or set the reporting interval very long so it reports less often. This is especially true for any powered device that reports energy usage and other electrical-related values (like voltage).

Having said that, whenever I restart my network and it is doing interviews, delays can be up to a minute or more to toggle lights, and sometimes, not at all. Transport is not guaranteed like IP.

1 Like

Not sure if you ever got this sorted, but I have a question about your automation. You say “siren”, but your code is using the chime functionality of the device. Are you wanting a continuous siren, or a chime?

It looks like you’ve uploaded your own sound file (No. 35). You can’t change the sound of the siren functionality, you can only change its duration. If you are just wanting the siren, then you only need to turn on that switch entity and then turn it back off when you want.

Here is the gist of the automation I use, with some scene-related stuff removed. I actually just tested it today (by accident), and it went off instantaneously as soon as I opened the door, and I even have other automations that run to turn on lights when that same door is opened. So it is fast.

  - id: trigger_alarm_siren_atm
    description: Trigger Siren
    trigger:
      platform: state
      entity_id: 
        - binary_sensor.ecolink_tilt_sensor_garage
        # add more entities here as needed
      to: 'on'
    condition: # an Input Boolean that lets me arm/disarm the alarm
      - condition: state
        entity_id: input_boolean.arm_alarm_siren_ib
        state: 'on'
    action:
      - service: homeassistant.turn_on  # sound alarm (do this first to minimize delay)
        entity_id: switch.zooz_zse19_siren_switch
      - wait_template: "{{ is_state('input_boolean.arm_alarm_siren_ib', 'off') }}"
        timeout: '00:10:00'   # sound for 10 mins, or until I disarm alarm
      - service: homeassistant.turn_off
        entity_id: switch.zooz_zse19_siren_switch
      - service: script.notify_scr    # send notification to mobile devices (do this last)
        data:
          service: ALL_DEVICES
          title: ALERT
          message: Alarm Siren Triggered

If you are talking about a chime, then see my note below to kerbal related to optimizing network bandwidth. I have 87 zwave devices in my network, and everything happens instantaneously 99% of the time.

Also, you can delete the condition: [] statement in your automation if you don’t use it.

FYI for folks finding this after having issues with this device. I’ve been told by Zooz that they have plans to discontinue this device at some point, and it will receive no further updates. I told them that was a shame, since it has great potential. They said they’d pass that along. We’ll see. That was in August '21, no updates yet.

I worked with Zooz support and tried various methods to get the Chime functionality on this device to work consistently, but never could. Initially Zooz thought that it was the method we had to resort to in order to make the Chime function (i.e., by setting Parameters in the Configuration CC). The chime sounding when those parameters were set was simply an acknowledgement, and the method was never a supported means of controlling the Audio Speaker functionality. Zooz also said that there was no expectation that would change.

The Sound Switch CC was the correct way to use the Audio Speaker functionality, although once zwave-js became available, which included the Sound Switch CC, the behavior of the ZSE19 Chime functionality was exactly the same. You were never guaranteed a single chime, sometimes achieving up to 10 in a row from a single trigger. Zooz didn’t know why and indicated the issue probably would not be investigated given there were no planned updates.

So, I think the bottom line for this excellent device is that, it is a very nice, LOUD siren, which works as advertised. However, it will not reliably function as a Chime (unless you can live with a random number of chimes… I couldn’t).

I have replaced the chime functionality in my system with the new Ecolink Chime+Siren ISZW7-ECO. It works reliably as both a siren and as a chime. The Ecolink has more functionality, is powered with battery backup, but not quite as loud as the ZSE19 (105 dBA vs 110 dBA). You can add your own sounds for both the Siren or Chime. I decided to continue using the ZSE19 as my siren, since I preferred both the sound produced as well as the greater SPL, but use the Ecolink as my chime (one ping only, please!). However, the Ecolink could be a complete replacement for the ZSE19 too.

1 Like

this is very helpful, thanks!

GrizzlyAK, do you have any additional information on using the Ecolink chime+siren? I just received one and am not quite sure how to use it. Right now I really just want to get it working as a siren for my alarm system. Any help with be apprecieated.

Hey Chris. I can’t atm, but will try to jump back on later today. DM me if you wish or write back with any specific questions you have and I’ll do my best to help. Cheers.

Hey Chris,

For starters, you might want tread this thread. It starts out talking about the Zooz, but later has some discussions on the Ecolink.

I have a copy of v10 of the user’s manual, but the forum won’t let me attach a PDF. It wasn’t readily available previously and Ecolink sent it to me via email. So if you don’t have it, DM me an email address and I’ll send it to you. I also have a doorbell/chime WAV file that I created by copying the one from the Zooz ZSE19, and converting it to the proper bitrate for use with the Ecolink (I liked it better than any of the factory sounds on the Ecolink). The hard part is that the unit requires SD cards to be formatted in FAT (not FAT32). :grimacing: I put that in sound slot 30 by naming the file “30 doorbell.wav”. The number up front is what is used to specify the sound in service calls. I initally thought you could only have 30 sounds, but you can have more, so you can name it "31… " if you want. But then you have to increase the “Sounds Available” parameter (Configuration Parameter #5), which defaults to 30, the number of factory sounds.

There are multiple ways to get sounds out of the unit, depending on which Command Class you use and I tested a lot of them for Ecolink before it was released. Below I list ALL of the YAML code I used in my automations (with comments) while testing just trying the various ways of doing things.

In particular, you can use the Sound Switch or the new Siren capability in HA. The last two entries show examples of both. The LAST entry is what I currently use to play my chime when the door opens. If you want to use it for siren, then just replace the “30” with the number of the siren sound you want to use from the manual. Hope that helps.

######################################### Ecolink Chime
# Play INDICATOR CC Sounds           
# Ex: Doorbell 1 Traditional
service: zwave_js.set_value
data:
  entity_id: siren.ecolink_chime_siren
  command_class: 135
  property: value
  value: 0x3f  # Doorbell 1 Traditional

# Alarms
service: zwave_js.set_value
data:
  entity_id: siren.ecolink_chime_siren
  command_class: 135
  property: value
# Red LED
  value: 0x04 Siren ON
  value: 0x14 Smoke ON
  value: 0x24 CO ON
  value: 0x34 OFF
# Green LED
  value: 0x44 Siren ON
  value: 0x54 OFF

#########################################
# Play SOUND SWITCH CC Sounds Directly           
# Pick a decimal number of sound to play, plays at default volume
service: zwave_js.set_value
data:
  entity_id: siren.ecolink_chime_siren
  command_class: 121
  property: toneId
  value: 1-30 #see list

# Or Set the Default Sound, then play with toneId=255
service: zwave_js.set_value
data:
  entity_id: siren.ecolink_chime_siren
  command_class: 121
  property: defaultToneId

# Set the Default Volume in SS CC
# Also, use ConfigCC (112) Sound Volume to set % for non-emergency sounds only
# It appears SS uses whichever volume is LOWEST of the two values
service: zwave_js.set_value
data:
  entity_id: siren.ecolink_chime_siren
  command_class: 121
  property: defaultVolume
  value: 0-100%


# Set the Enable Alarm Sounds Volume Adjustments Parameter
# If this is Enabled, you can lower the default (100%) volume of emergency sounds
# and used the buttons on the side of the device to control volume.
service: zwave_js.set_value
data:
  entity_id: siren.ecolink_chime_siren
  command_class: 112
  property: 6
  value: 0=Disable, 1=Enable
 
# Use the Siren Service to control the siren/Chime
# Volume doesn't work for either the Zooz or Ecolink becuase they are not >= SS CC V2
# Can also .turn_off, and .toggle, without the data:
service: siren.turn_on
target:
  entity_id: siren.ecolink_chime_siren
data:
  tone: Front Door (1 sec)
  volume_level: 1           

# Using Siren toggle to play the defaultToneId value set in SS CC (you can't specify it in this call)
# This is DIFFERENT than the Default Sound value set in the Configuration CC, which refers to the Siren (or the binary switch functionality)
service: siren.toggle
target:
  entity_id: siren.ecolink_chime_siren

# The following works to play the Siren, although it ignores the 5 sec duration and volume parameters. You have to turn it off.
# Also, I can't seem to get Alarm Siren V (0 sec) to work
service: siren.turn_on
target:
  entity_id: siren.ecolink_chime_siren
data:
  tone: Alarm Siren (0 sec)
  volume_level: 1    
  duration: 5

#Sound switch

  - service: zwave_js.set_value
    data:
      entity_id: siren.ecolink_chime_siren
      command_class: '121'
      property: toneId   # 30 is Doorbell Chime, 255 is the default value (30, in this case)
      value: 255


# Siren - WHAT I CURRENTLY USE
    action:
      # Notes on Volume. 121-Default Volume = 112-Volume. Siren.turn_on sounds at LAST volume set by either of these.
      service: siren.turn_on
      entity_id: siren.ecolink_chime_siren
      data:
        tone: '30'

================================================
2 Likes

GrizzlyAK, thank you so much for this! I’m planning on working on it again this afternoon.

Update: I got it working great now. I even have a separate chime during the pending alarm time,

1 Like