Skip to content
This repository has been archived by the owner on Jul 27, 2020. It is now read-only.

add doorbell / alarm siren support #45

Open
marcelveldt opened this issue Jan 21, 2020 · 31 comments
Open

add doorbell / alarm siren support #45

marcelveldt opened this issue Jan 21, 2020 · 31 comments
Assignees
Labels
enhancement New feature or request

Comments

@marcelveldt
Copy link
Contributor

marcelveldt commented Jan 21, 2020

the z-wave 1.6 specification supports a doorbell/alarm device.

Usecases:

  • Possibility to trigger the chime/sound from Homeassistant.
  • If supported by device: differentiate between alarm siren and doorbell/notification chime.
  • Configure volume, ringtone etc.
  • In case of a doorbell (like Aeotec Doorbell 6), event in hass that the doorbell is pressed so you can attach your own automations in hass.

I own the Aeotec Doorbell 6 myself and a couple of NEO Coolcam sirens.
Looking for feedback how people like to see this implemented.

@cgarwood cgarwood added the todo label Jan 21, 2020
@Fishwaldo
Copy link

It’s supported via a new command class called SoundSwitch. Just FYI.

@marcelveldt
Copy link
Contributor Author

2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Lifeline', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Browse', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Tampering', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Doorbell 1', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Doorbell 2', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Doorbell 3', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Environment', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Security', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}
2020-01-21 16:03:08 WARNING (MainThread) [openzwavemqtt] OZWNode cannot process message OpenZWave/1/node/58: {'Name': 'Emergency', 'Help': '', 'MaxAssociations': 5, 'Members': [], 'TimeStamp': 1579390888}

@marcelveldt
Copy link
Contributor Author

It’s supported via a new command class called SoundSwitch. Just FYI.

Yeah, I discovered but in my case I'm missing the nodes in the MQTT topics.
Can be my setup or something else. Will dig into it later.

Schermafbeelding 2020-01-21 om 16 08 58

@varet80
Copy link

varet80 commented Jan 29, 2020

I can send some MQTT nodes from my side, but Currently I also filed a bug as the commands doesn't work with my ZW162 Using qt-openzwave, but work with z-way (razberry server).
OpenZWave/open-zwave#2085

I would help on the specifics of it.

@marcelveldt
Copy link
Contributor Author

I can send some MQTT nodes from my side, but Currently I also filed a bug as the commands doesn't work with my ZW162 Using qt-openzwave, but work with z-way (razberry server).
OpenZWave/open-zwave#2085

I would help on the specifics of it.

I actually own the device myself so no need but thanks for the offer. At this time I'm not getting some info from OpenZWave and I need to take a good look at it to better find out what's happening so Fishwaldo has a more concrete report.

@marcelveldt
Copy link
Contributor Author

@Fishwaldo any tips how to use the SoundSwitch CC. ?

Schermafbeelding 2020-02-21 om 10 52 48

@marcelveldt marcelveldt changed the title add doorbell support add doorbell / alarm siren/chime support Feb 21, 2020
@marcelveldt marcelveldt changed the title add doorbell / alarm siren/chime support add doorbell / alarm siren support Feb 21, 2020
@marcelveldt
Copy link
Contributor Author

@billiaz
I've updated the first post. Can you validate I'm correct on the usecases ?

@varet80
Copy link

varet80 commented Feb 21, 2020

Usecases:

  • Possibility to trigger the chime/sound from Homeassistant.
  • If supported by device: differentiate between alarm siren and doorbell/notification chime.
  • Configure volume, ringtone etc.
  • In case of a doorbell (like Aeotec Doorbell 6), event in hass that the doorbell is pressed so you can attach your own automations in hass.

I think user cases covers most of it. Cannot think right now something different.

@mosjonathan
Copy link

mosjonathan commented Feb 21, 2020

I also own this device and Cannot think of more usecases.

If you need me to test anything I’m available

@skis4hire2
Copy link

Looking at the aeotec siren 6 documentation, it appears that there are several functional aspects that are device-specific. Would these device-specific configuration aspects be coded into this component code, or would that be handled by a separate Home Assistant custom component?

The Aeotec Siren 6 has 8 endpoints, each being a separate virtual SOUND_SWITCH siren device which can play any of 30 different tones in response to a SOUND_SWITCH command.

Endpoint 1 is unique because it is used only to test the different sounds, and you can configure how it will test them (looping all tones, repeating tones, etc).

For endpoints 2-8, you can configure the following:

  • Strobe Light Effect Setting to use
  • # of repeats for the siren sound
  • delay in seconds between repeats of the siren sound
  • duration limit (in seconds) of the siren sound (can be used to clip sounds to a shorter length)

Endpoints 6,7,8 will also respond to specific zwave notification report commands from other devices like smoke alarm, motion detection, etc.

The device exposes 7 custom lighting effects which can each be configured with:

  • how quickly the light is brightened
  • how quickly the light is dimmed
  • how long the light is at max brightness
  • how long the light is kept off

From the Aeotec Zwave command documentation here

@hostrup
Copy link

hostrup commented Feb 24, 2020

Hi!
I just wanne "chime in to" I have the device too. Actually i bought the Siren 6 - and "upgraded" it to the Doorbell 6 - while waiting for the siren to be fully implemented.

I am not sure what "technology" the aeotec button actually uses - but as far as i can see - it's linked directly to the aeotec siren - and therefore i think it's using RF.

A usecase - and i am not sure if this is supported - but it would be nice if you
could somehow "decide" if the button "doorbell" should actually toggle the "chime" function - or just ( let's say in the evening when the kids are sleeping ) notify the phone / tv etc.

I guess - you could setup this as an time automation - in which you would "silence" the alarm for that specific doorbell instance ( 2 i min case ).

br Ronni

@mosjonathan
Copy link

The aeotec button uses 443.92 FSK

@isabellaalstrom
Copy link

isabellaalstrom commented Feb 26, 2020

I would very much like to be able to turn off the tamper alarm, but that might be covered in the use case for setting volume.

@varet80
Copy link

varet80 commented Feb 26, 2020

@isabellaalstrom I've done that by sending MQTT command and setting the volume to se under
121 - soundswitch command class
2 -tamper settings
2 - volume
translates on my mqtt: 121/2/2
If you have access on MQTT server you can do it. I use Z2M for now but also the qt-openzwave has similar way to do so.

@hostrup
Copy link

hostrup commented Feb 27, 2020

Hi billiaz
Can you share how you build up your MQTT command? - then i will se if i can send the same commands from inside home-assistants mqtt console.

@varet80
Copy link

varet80 commented Feb 27, 2020

Hi billiaz
Can you share how you build up your MQTT command? - then i will se if i can send the same commands from inside home-assistants mqtt console.

My Device is at Location MetersBox and named doorbell
Using Z2M

Publish the raw value 0 to topic zwave2mqtt/MetersBox/Doorbell/121/2/2/set

@isabellaalstrom
Copy link

isabellaalstrom commented Feb 27, 2020

This worked for me to shut off the tamper alarm volume on the doorbell.
image
the value id key comes from the config gotten from mqtt.

@hostrup
Copy link

hostrup commented Feb 28, 2020

Hi!
When i "shake" my doorbell / Siren i get this in the console:

tampering

But i am not sure how to make sure that the value is correct.
i tried this without luck:
tamper2

br Ronni

@isabellaalstrom
Copy link

isabellaalstrom commented Feb 28, 2020

@hostrup No, that's not the right one.
I followed a tip from issue #67 and downloaded MQTT Explorer. There I could find my node and the correct setting. Hopefully you can see how from this screenshot, in the red box is the ValueIDKey for Tampering Volume (as seen in the json below it). I set tampering volume to 0 and then proceeded to turn down the volume for doorbell 1 by looking through the other instances for that.
You also need to have the "Value": 0 in the payload, otherwise you aren't setting anything.
image

@hostrup
Copy link

hostrup commented Feb 28, 2020

Hi again!
Thanks alot for helping me out. I guess i am a bit of noob when it comes to MQTT and Z-Wave in general :).

With MQTT explorer - everything turns out just as in your screenshot - actually i can se that we get the same ID's :

tamper3

Now - trying to change the value - i am not quite sure how to do that.
i tried simply to send the mqtt topic + values - without specifying anything other than the ID and Value:

tamper4

But this did nothing -
i will see if i can do it from inside MQTT explorer.

@marcelveldt marcelveldt self-assigned this Mar 1, 2020
@isabellaalstrom
Copy link

@hostrup That should do it, still not working?

@hostrup
Copy link

hostrup commented Mar 4, 2020

Hi!
Nope - still no turning of the Tampering switch.
i send the following commands from within HA:

OpenZWave/1/command/setvalue/

and with value:
{
"ValueIDKey": 562950047678497,
"Value": 0
}

But nothing happens.

When i trigger the alarm - by "tampering" ( shaking ) the bell - the follwing turns on in HA:
sensor.doorbell_1_siren
it goes from 0 to 1
so i am able to recieve the commands.

@hostrup
Copy link

hostrup commented Mar 4, 2020

Hi again.
Ok - just tried something else.

I browsed through mqtt-box and found this:

OpenZWave/1/node/5/instance/2/commandclass/121/value/281475066773540/
which is:
Tampering Tones.

Now - i am able to make them "play" by calling:

OpenZWave/1/command/setvalue/
with this:
{
"ValueIDKey": 281475066773540,
"Value": 5
}
This will play tone 5.
but it will not set the tone.

@hostrup
Copy link

hostrup commented Mar 4, 2020

Hi again - ok - now i think i got alot of the stuff setup:

OpenZWave/1/command/setvalue/

Volume:

{
"ValueIDKey": 562950047678529,
"Value": 10
}

Tone: Default:
{
"ValueIDKey": 844425024389188,
"Value": 1
}

Browse tones:
{
"ValueIDKey": 281475066773572,
"Value": 1
}

I am still not able to completly disable the tampering alarm - atleast nok when i am shaking it - but that doesnt matter - right now it's nice that i can change the tones - and turn down the volume too.

@isabellaalstrom
Copy link

Weird that you can't turn it off completely, but changing the volume to not deafening is at least something!

@hostrup
Copy link

hostrup commented Mar 4, 2020

kinda strange yes - but right now it's ok :-) i got the very loud volume turned down - so that the post man wont wake up the whole house! - will theese functions ever be integrated as "direct" service calls from within HA?

@marcelveldt
Copy link
Contributor Author

@hostrup yes it will but for now we're still focused on the basic stuff. Remember that this implementation is still in a very early stage.

@Fishwaldo
Copy link

SoundSwitch CC is pretty complicated, and the Aoetec doorbell is really complex device (for a doorbell!).
Just for completness sake (and others that are not using the Aeotec doorbell/siren):

Tone.

Its used to trigger the device to play a sound

Volume

The Volume - For the individual tone. Correct that its the "only" way to "silence" the tampering alarm.

Default Tone

What is the normal tone to play when the device is triggered by the actual button

For the above - They are the "standard" labels. Some devices will show as "Instance 1: Tone" etc, but it can be changed by the device config file: zw162.xml

Both "Tone" and "Default Tone" are a ValueList type - So each entry is the available "tones" implemented on the device. Auto discovered.

Also - The Aeotec doorbell has a complex config - very customizable so you can try to change its behavior via updating its config.

@marcelveldt
Copy link
Contributor Author

I've been busy with this and came to the conclusion that currently there is no perfect fit for these devices in Home Assistant entities. Sure, a mediaplayer could be abused but that will not be good for user experience.

An architecture issue has been filed to get approval for creating a new type of entity to fit these siren/chime devices: home-assistant/architecture#375

@marcelveldt marcelveldt added enhancement New feature or request and removed todo labels Apr 28, 2020
@hostrup
Copy link

hostrup commented Apr 28, 2020

Hi Marcel. Great suggestion.
Besides the Aeotech - i also have an aliexpress / china zigbee alarm-chime ( named Heiman ) - which - today is registrered as a lightbulb - via. deConz. So i guess there is "room" for a siren instance.

br Ronni

@marcelveldt
Copy link
Contributor Author

Good to know, so the deConz platform is abusing the light platform for siren devices. More evidence we're not the only ones spotting that there's need for a platform for siren devices.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants