Aeon Labs Doorbell - Turned into a Door Chime

Hey all,

I can see a few posts have been made about the Aeon Labs doorbell, and I thought I’d share with you all my blog post on it. I realize some have figured out on here how to utilize this doorbell for a chime as well, but I thought this write up may help others.

Here it is! http://www.airedalez.net/?p=287

Airedale,

First off, THANK YOU, that’s a great walkthrough, and it works, mostly. So I’ve got a scene triggered by a motion sensor. It successfully runs the code

luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘21’,Data=‘112 4 6 1 3’},1)

and rings the doorbell for the 3rd ringtone.

I wanted it to just ring once, not twice. When I run the test code in the develop apps test area, luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘21’,Data=‘112 4 2 1 1’},1)
and then run the test code above for the ringing of the bell, it rings just once.

However I may want one scene to ring twice quietly, another scene to ring once loudly, etc, so I figured I should send the parameters to change those items with each bell ring, always ensuring the right volume and number of plays of the sound file.

Do I need to put both the set ring to 1 code, and then the ring bell code in the scene? If so, how do I do multiples lines of luup like that, I get a failed scene when i try:

luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘21’,Data=‘112 4 8 1 1’},1)
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘21’,Data=‘112 4 2 1 2’},1)
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘21’,Data=‘112 4 6 1 3’},1)

Is there some syntax to stacking multiple lines of code? a “then” after the first line, or comma, or semicolon?

Thanks,

Andrew

Necrothreading as I just picked up this doorbell.

This sequence worked for me:

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='34',Data='112 4 8 1 10'},1)
luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='34',Data='112 4 2 1 1'},1)
luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='34',Data='112 4 6 1 3'},1)

Of course, that’s for one ring… But it worked for 2 ring as well.

For anyone who uses this, I recommend adding some new audio files for custom announcements.

I set up PLEG events on the Weather plug in so I get verbal alerts of severe storms, tornados, and floods. And because my washer doesn’t have a buzzer (and I forget), I put it on a power monitored outlet and play an alert when its done.

Mediocre doorbell, cheap alternative to a Sonos.

I had a problem that seems to be somewhat common with this doorbell: The button has essentially zero range and unpairs with great frequency. I emailed Aeon about that, and we were about to come to a replacement resolution when I decided that I wanted to add some more of the speaker part to spread the announcements elsewhere in the house. So, I ordered two more, and decided to try one of the other buttons that I received. Long story short, I was able to pair all 3 speakers with the one button, and it works great throughout the house. One speaker is next to the door (because I was concerned about range), one is in the living room, and one is in the bedroom on the second floor rear of the house (so we can hear alarms when a sensor is tripped at night) and ALL THREE speakers go off when the button is pushed.

TL;DR takeaways:

  1. You can pair your button to multiple speakers.
  2. If you have a range/unpair/“doesn’t work” problem with the button, try another.

Now a question: Has anyone been able to figure out if there is a way to detect that the button was pushed? I’d like to capture a picture at the front door and send a Vera alert when someone rings the bell and we are not home.

You need a 500 series controller so plus and maybe edge. If you have the you can add parameter 80 as a decimal. Set it to 1 or 2 and see if that makes the status change.

I just tried it and it works great on my Edge. Thanks!

For those who don’t know how to set the parameter:

Devices - (Choose Device) - Device Options - Add Configuration, then set the parameter as follows: Variable: 80. Data Size: 1 byte dec. Desired Value 2.

Once you set that and reload luup, then the Vera on-off status will track the status of the doorbell playing.

Prophead, how did you interface it with the physical door chime? I’ve been thinking about replacing my doorbell with a custom built (Arduino or RPi) unit for a while but I haven’t pulled the trigger yet. Can this chime module be installed without the button or does it have to be paired to the button? From what I’m reading, it sounds like the file indexing on the mp3 files is a bit screwy but I’m thinking that once you get past that, it’s got a lot of potential. How many small mp3’s can it hold?

You don’t need the button to use this (which is good, the buttons appear to be pretty shoddy) According to the manual it supports up to 100 mp3s, total capacity of 16MB. The file indexing is the order they were written to the chime.

What some people do is use the cheap zwave door sensors that can be wired to an external physical switch and tie it in that way. I think you have to be careful of the current levels, especially with illuminated switches.

I put a magnetic sensor on a ecolink door and window sensor and attached the sensor to the coil in the chime.
I use the chime with no button. I have a Doorbird video doorbell which I love but has no HA interface. Indexing is just different then what’s listed in the OS, but it’s consistent, just make a chart of what number corresponds to what sound. I only have about 14 files on mine, but they say it can hold a hundred, but obviously theres going to be some memory constraint I don’t know what it is. All files must be 19 seconds or less.

|-<:)

Nice. Now I have to figure a way to create the chimes and announcements I would want on it. I’m guessing from what I’ve read that it’s fairly easy to use it for different announcements and such…

I use Yakitome.com to create my voice alerts. I have found that British voices sound pretty good. It comes with a handful of sounds that aren’t bad.

What I do is use the buzzer sound at the start of warnings and the light bell at the start of notices. If you do, you will need a delay to keep the announcements from interrupting each other.

Perfect! My phone uses the British voice Victoria with SVOX Classic. Hopefully, their’s is close…

Update: I finally got my Doorbird completely integrated into my Vera. Now I get reliable (so far) wired LAN triggers instead of my kludgy old magnetic sensor on the coil trick. And it was good. Porch and hall lights come on at night and Aeon doorbell mp3 announcements go off in every room, some of which were out of hearing range of the only physical chime in the house. I could have my pick of ordinary bell and chime sounds, but the Jetsons theme seemed most appropriate. It does a take a few seconds for all the operations to complete, but it’s certainly better then missing the bell. I’ve had the camera integrated for a few months but forgot to come back to look at the notification API. Much happier with my Doorbird now. Prophead approves.
|-<:)

tldr;Used Doorbird as doorbell button, Aeon doorbell receiver(s) as chimes, happy camper

[quote=“JoeTomasone, post:3, topic:189913”]Necrothreading as I just picked up this doorbell.

This sequence worked for me:

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='34',Data='112 4 8 1 10'},1)
luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='34',Data='112 4 2 1 1'},1)
luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='34',Data='112 4 6 1 3'},1)

Of course, that’s for one ring… But it worked for 2 ring as well.[/quote]

LOL Sorry to dredge this thread up again! I want my Aeon Doorbell to play the second mp3 in my list 99 times when Vera senses my front gate is opened (don’t ask). I’ve been mucking about with this for a couple days now, got it to play twice. I don’t know why twice.

Anyway, I found this thread, so I copied your three lines, changed Nodes to mine (26), changed the first line of code to: 112 4 8 1 10 (for top volume), second line to: 4 2 1 99 (to play it 99 times), third line to: 112 4 6 1 2 (for the second mp3).

luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 8 1 10’},1)
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 2 1 99’},1)
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 6 1 2’},1)

It plays it seven times.

Help?

As a followup to my post yesterday (above) I put in a ticket to Aeon, and was told that no sounds could play for more than 20 seconds (which is why my mp3 only replayed 7 times). I was told that my ticket dude would check with the engineers to see if there was any way to bypass this.

Look up the luup call delay function. it lets you trigger a number of events a set time after the scene starts. I.e.

–declare a function to play the MP3 7 times (@20 seconds play). This will make the rest easier to read
function play()
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 2 1 7’},1)
end

–we’ll use this to reset the volume
function vol_down()
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 6 1 2’},1)
end

–start routine
–set volume to max
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 8 1 10’},1)
–begin “the song that never ends”
luup.call_delay( ‘play’, 1) – Call the switch off function after a delay of 1 seconds
luup.call_delay( ‘play’, 21) – Call the switch off function after a delay of 21 seconds
luup.call_delay( ‘play’, 41) – Call the switch off function after a delay of 41 seconds
luup.call_delay( ‘play’, 61) – Call the switch off function after a delay of 61 seconds
luup.call_delay( ‘play’, 81) – Call the switch off function after a delay of 81 seconds

luup.call_delay( ‘play’, 141) – Call the switch off function after a delay of 141 seconds

–go back to quiet mode
luup.call_delay( ‘voldown’, 161) – Call the switch off function after a delay of 161 seconds

Heh, wow. You have given me very good info, but my Luup journey as far as using codes and strings has really just started, and while I can see WHAT you did, and I understand what you did - I don’t actually know WHERE to put it, or “how” to put it (spaces between lines? chained together?). Right now I put this luup string:

luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 2 1 100’},1)

which sets the number of repeats to a hundred (even though it’s only 7 right now) in the Develop Apps/Test Code, in order to set the doorbell speaker to repeat. THEN, I made a scene (HA!) and put this luup string:

luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘26’,Data=‘112 4 6 1 2’},1)

in the “execute Luup code” part of of step 3.

I’m not sure what to DO with all the information you gave me!

/is there an easy Luup for Vera dummies anywhere? :slight_smile:

It depends on which version of vera you’re using.

so I assume you already have a scene with a trigger based on your gate sensor. If you don’t know how to build the scene I think Vera’s got help pages. I don’t remember anymore how I learned about scenes.

In the scene editor on UI7 choose the “Also, execute the following Luup code” section and drop the code in.
for UI5 click the LUUP tab and paste the code.

the code should run as-is if I didn’t typo something.

Just to be sure - you want me to copy the following EXACTLY AS IS into my UI7 Scene Step 3 “Also execute the following Luup code” section (my altid, on re-pair, is now 28):

–declare a function to play the MP3 7 times (@20 seconds play). This will make the rest easier to read
function play()
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘28’,Data=‘112 4 2 1 7’},1)
end

–we’ll use this to reset the volume
function vol_down()
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘28’,Data=‘112 4 6 1 2’},1)
end

–start routine
–set volume to max
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘28’,Data=‘112 4 8 1 10’},1)
–begin “the song that never ends”
luup.call_delay( ‘play’, 1) – Call the switch off function after a delay of 1 seconds
luup.call_delay( ‘play’, 21) – Call the switch off function after a delay of 21 seconds
luup.call_delay( ‘play’, 41) – Call the switch off function after a delay of 41 seconds
luup.call_delay( ‘play’, 61) – Call the switch off function after a delay of 61 seconds
luup.call_delay( ‘play’, 81) – Call the switch off function after a delay of 81 seconds

luup.call_delay( ‘play’, 141) – Call the switch off function after a delay of 141 seconds

–go back to quiet mode
luup.call_delay( ‘voldown’, 161) – Call the switch off function after a delay of 161 seconds

Including explanation text, dashes, spaces, everything that’s blue, as is, copy/paste. Sorry if I’m being repetitive, I just want to get this right.

You should know, last night the engineer helping me sent me the following code to use which he said would make it play my 2 second sound 21 times. It played it 21 times, with an eight second gap between each 7.

luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘28’,Data=‘112 4 2 1 99’},1)
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘28’,Data=‘112 4 6 1 2’},1)
luup.call_delay( ‘delayON’, 29)
luup.call_delay( ‘delayON’, 58)
function delayON()
luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘28’,Data=‘112 4 6 1 2’},1)
end