Z-Wave Indicator class support

The Dome Siren and likely other Z-Wave siren / alert devices support the Indicator command class for a chime, which is separate from the main Siren that is modeled as a binary switch.

The ideal implementation of this IMO is for the device to be exposed through the notify platform in HA so that a script or automation can trigger a chime. Unlike the binary switch for the siren, the chime does not provide feedback and does not need to be turned off again.

This is a great request, I feel envious every time I’m at a friends house and his security system chimes when someone opens the front door.

I just use a google home to speak that the door is open lol

That just sounds annoying.

you could also get it to play any audio file, so you can download a chime sound and have it play that if you like. Personally I like the house to talk lol.

1 Like

I dont have a google home speaker, but I might take a look at some other options via wifi!

Quick bump, I am also very interested in this as I just paired up my Dome Siren today. Alarms are great, but this thing can do SO MUCH MORE!!!

Unfortunately it needs OpenZWave to support it first, so no matter how many votes this gets, nothing can happen until then…

It is supported by OpenZwave. At least in the config files. I have started to look into it but it may be far above my skill set. if anyone can give me a basic OZW call I can break it down and figure it out.

http://www.openzwave.com/dev/classOpenZWave_1_1Indicator.html

For reference.

What shows up in HA when you have the Dome device paired up?

The siren shows up as a binary switch. Turning it on/off works as expected for the primary siren. The device also supports a secondary chime which can’t be accessed through HA.

34

Ah as a switch.

Can you post what your ozw_cfg.xml has for your node 25?

Here you go… the indicator class is mentioned there. Seems like HA just doesn’t do anything with it.

node25.xml (11.8 KB)

I’m wondering if we can’t just class it under the switches section, so its works like the primary siren.

Edit: nope it’s a “byte” type so that won’t work.

Are you using Hassio or would you be able to test some changes with me?

I am not using Hassio, should be able to test whatever. Yeah, as I understand it the indicator class is a one time message - turning it “off” would be meaningless.

It’s toggleable per the docs.

Sorry, I should have been clearer about what I meant -

The class itself may support the concepts of on (00) and off (FF) but that isn’t the way the dome siren uses it - it accepts different bytes 01-0A for the ten different secondary chime sounds it can make. Unlike with the primary siren, there’s no turning the sound ‘off’ after requesting it - the sound just happens once and then is over.

https://docs.domeha.com/#compatible-command-classes19

Here’s what I’ve whipped up, not guaranteeing it’ll work properly since I don’t have a way to test it myself.

https://github.com/firstof9/home-assistant/commit/6789da562604c4be9ffd406e84fd636db0a3b1e1

Just 2 files to modify/replace if you want to give it a shot, make sure to backup the original files.

1 Like

OK, I changed your file slightly before implementing given the Dome docs I referenced above:

INDICATOR_ON = 0x01
INDICATOR_OFF = 0x0A

It probably doesn’t really make sense for ‘on’ and ‘off’ to trigger two different sounds but I figured this is at least worth testing. The switch.siren_indicator entity shows up fine in HA. Got the below in the HA log when I tried to turn it on. (I also tried it with your original values for INDICATOR_ON/_OFF and got the same error)

2018-04-05 22:39:09 ERROR (MainThread) [homeassistant.core] Error executing service <ServiceCall switch.turn_on: entity_id=[‘switch.siren_indicator’]>
Traceback (most recent call last):
File “/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/homeassistant/core.py”, line 1006, in _event_to_service_call
await service_handler.func(service_call)
File “/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/homeassistant/components/switch/init.py”, line 109, in async_handle_switch_service
await switch.async_turn_on()
File “/usr/lib/python3.5/asyncio/futures.py”, line 380, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.5/asyncio/tasks.py”, line 304, in _wakeup
future.result()
File “/usr/lib/python3.5/asyncio/futures.py”, line 293, in result
raise self._exception
File “/usr/lib/python3.5/concurrent/futures/thread.py”, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File “/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/homeassistant/components/switch/zwave.py”, line 92, in turn_on
self.values.primary.value_id = INDICATOR_ON
AttributeError: can’t set attribute