Aeon Labs Aeotec Multifunction Doorbell

I have about 40 devices and the doorbell is my favorite, but it has some quirks and the reviews are really bad. I haven’t had problems with the range, but I have the button mounted to an inside wall about 20’ from the device. It’s at the top of my stairs so it’s not a direct line of sight, but the signal doesn’t have to go through any exterior walls.

I have it setup so that the button toggles my night settings instead of playing a sound. I’ve been pressing it every morning and night for about a month and I can’t think of any times where it didn’t detect the button push.

Huge thanks for this. Can I just create a new device handler, change the type in the IDE and move from Robert’s code to yours?

LJ

Yes, that should work. After you’ve done that, you will see some extra fields without labels at the bottom of the settings screen. Those are left over from the previous DH and they won’t hurt anything, but if you delete their contents they won’t show up again.

There have been a couple of users that got stuck in one of the modified versions of Robert’s code and were unable to delete the device or change the type in the IDE. If that happens, you will need to overwrite the old code with the new code and then change the namespace and app name back to the old values so it thinks it’s still the same device handler. Once you’ve done that, you should be able to change the type to the new DH and then delete the old one.

I changed the functionality in this DH so if you have anything setup that expects the doorbell button to trigger the switch.on event, they will need to be modified to use the button one pushed event.

I also created the Aeotec Doorbell DH which won’t break your existing rules so you might want to start with that one instead. That’s the one I plan on trying to get published, but I’m waiting until more users have confirmed that it works.

Except when the physical doorbell button is pressed, the device takes a couple of seconds to start playing the track, but the delay doesn’t appear to be as bad with the Aeotec Doorbell DH.

So far, it’s working great with the full version. I like the custom commands to integrate with RM!

LJ

1 Like

You can now use Smart Home Monitor and Speaker Notify with Sound to play mp3s by track number on the Aeon Labs Doorbell.

** See first post in topic for most recent version of this DH **

You’ve always been able to do this using Rule Machine, but it no longer requires setting up Custom Commands for each track.

Smart Home Monitor
The Custom Monitoring section of SHM supports Audio Notifications and if you choose “Custom Message” for the Notification, you can specify a track number to play in the “Play this message” field.

Speaker Notify with Sound
You can setup a Custom Message action and specify a track number to play in the “Play this message” field.

Rule Machine
You can use the “Send or speak a message” action to play a specific track number. You do this by entering the track number in the “Custom message to send” field, enabling the “Speak this message?” option, and choosing the doorbell for the “On this music device”.

For all the methods mentioned above, the custom text can either be a track number or one of the following commands:

  • beep
  • pushButton
  • play
  • siren
  • strobe
  • both
  • on
  • off
  • stop

I don’t plan on publishing this device handler so I figured ease of use is a lot more important than following device handler best practices.

2 Likes

Kevin

I have a Aeon Door bell and I have tried to copy your code into a new device handler so I can install the device.

Unfortunately when I copy the code into the From Code section of "Create a New device handler " and I save it throws up the error message below:

Org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: script1462084106900242037055.groovy: 802: unexpected token: API @ line 802, column 8. Status API Training Shop Blog About ^ 1 error

Any ideas on the issue here.

Thanks
Richard

It looks like you’re pasting more than just the code. When you click the link in the first post it takes you to the code on GitHub, but on that page, you should click the “Raw” button located above the code. That will display a clean version of the code that you can copy and paste into the device handler.

I just noticed this fix, is there a trick to making that happen? I still have the unit showing as a presence sensor. Thanks!

The original bug had to do with the way the presence tile appeared. I’m not sure why, but the new version of the mobile app messed up the look of the tile if you named it “presence” so to fix the problem, I just had to change its name.

If you don’t like the fact that this device acts as a presence sensor, you can use my Aeotec Doorbell DH instead. It’s basically a stripped down version of this device handler.

Ah, my bad, thanks for the explanation … I don’t care too much. I’d rather it not be there, but I like the functionality, so I’m good!!

I personally like the presence detection because I use it to tell me someone is at the door when I am watching something on Kodi.

The device doesn’t have any type of presence detection so I’m not sure how that would work.

The device will appear “present” when it’s online and “not present” when it’s not responding. I added that capability as a way to detect when either my internet goes down or I lose power, but since SmartThings rarely polls zwave devices, it only works if you manually press the refresh button or if you use a SmartApp like pollster to regularly poll the device.

The Beacon capability fits better with the way it’s being used and probably wouldn’t cause it to appear in the Family tab, but that capability caused problems with the Android mobile app so I had to use the Presence Sensor capability instead.

There have been a few updates since I ran into that problem so they’ve probably fixed it, but if I change it to the Beacon Capability now, it will break things for anyone using the Presence Sensor capability.

It actually shows present when someone pushes the doorbell for me, I use this as opposed to a button notification because presence won’t go away immediately if someone pushes the button twice. This prevents duplicate notifications on the TV for me lol :slight_smile:

I’m surprised you’re not getting a lot of false positives because if the device is given power, polled, the refresh tile is pressed, or the doorbell button is pressed, it will raise a “present” event.

The only time it will ever change to “not present” is if it sends a command to the device and the device doesn’t respond.

I only saw a false positive a few times but not too much. I usually keep some movie playing in the background while I work. To be honest I can always switch to using the button for notification, I just personally like how it says “Doorbell present” instead of “doorbell bushed”.

You know its funny you mention this because the other night we had a “phantom” doorbell ring at 2am and I checked the logs and it said the button was pushed but I can tell that was not the case as the porch lights didn’t go on and they turn on by motion (not ST lol, old school one).

The DH can’t determine the difference between the device ringing because it was given power or the button was pressed so the logs will say it was pushed either way.

The device turning on in the middle of the night is a common problem and the DH can’t tell if the device was powered on or the button was pushed so the logs will display that the button was pushed either way.

When the device is given power, it automatically plays the first track so if you replace track 1 with a couple seconds of silence, you shouldn’t experience any more phantom rings.

1 Like

First, thanks for putting this together - working great so far!

I’m trying to use the SHM Notify Speaker functionality but I continue to get an “unexpected error” when I try to specify a track number when creating the SmartApp. Am I missing something? Is it just the track number as an integer of do I need to use the filename?

No, it’s not you. I just tested it and it gave me the same error, but then I searched the forum and found that the custom message feature in SHM and Speaker Notify with Sound stopped working last week.

If you want to stick with SHM and/or Speaker Notify with Sound, set the Alarm Track in the Device Settings and use it like an alarm or a switch. Turning the switch or alarm on will play the track specified in the settings.

The other option is to use a community developed SmartApp like either Rule Machine or CoRE. The developer pulled Rule Machine so unless you already had it installed, you will have to use CoRE instead.

Breaking that feature is a pretty big deal so it probably won’t take SmartThings too long to fix it.

It looks like SmartThings fixed the problem so you should now be able to use the custom message field in SHM to play a track by number.