SmartThings Community

Aeon Doorbell Type Beta

aeotec
dth_doorbell
dth_alerts

(Kevin) #257

All of my mp3s, including the one that’s 16 seconds long, play the entire message as long as there is at least 0.25 seconds of silence at the end.

[quote=“JH1, post:255, topic:28889”]
The actual limit is somewhere around 25 seconds, then it totally cuts off no matter how long the actual sound file is.[/quote]
You are right, I just tried an mp3 that’s 32 seconds long and at 20 seconds the volume went down and at 24 seconds, it shut off.


(Never Trust @bamarayne) #258

Just enough to play a 911 call recording if there were to be an intrusion when in AWAY mode. :blush:


(Kevin) #259

Good idea, do you have one?


(Ron) #260

How are folks adding the 5 seconds? Since I am using http://www.fromtexttospeech.com/ I need to add after it is created I assume.


(Kevin) #261

I’ve been using Audacity (http://audacityteam.org/). There’s an option for “Silence” in the “Generate” menu that allows you to specify the amount of time you want to add. Before you add the silence you should click the end of the track because that’s where you want the silence added. Afterwards you can use the export option in the File menu to save your changes. If I remember correctly, it made me install some other component in order to export mp3s, but it provided instructions.


(Kevin) #262

I just renamed all my files and did a lot of testing and as long as you click the 01 file in your source directory and use ctrl+a and ctrl+c to select and copy all the files, you don’t have to copy the first file separately.

I also found that as long as you’re formatting the drive and copying all the files, there’s no need to create the 99 placeholder files.

(This is how it works in Windows 7, I’m not sure about other operating systems)


[RELEASE] Aeon Labs Aeotec Doorbell
[RELEASE] Aeon Labs Aeotec Doorbell
(Never Trust @bamarayne) #263

Awesome! This is the method that I have been using, and have attempted to describe… works like a charm.

FYI, I only created all the 99 files so that I can confirm that I did not screw up - eg. make a new file say “49 - Whoop Whoop Alarm” but forget to delete file 49 that was previously a filler which screws up the ordering.


(Kevin) #264

Thanks for removing the posts that quoted the posts I deleted.

[quote=“JH1, post:263, topic:28889”]
FYI, I only created all the 99 files so that I can confirm that I did not screw up - eg. make a new file say “49 - Whoop Whoop Alarm” but forget to delete file 49 that was previously a filler which screws up the ordering.
[/quote]While renaming them, I replaced all the place holder gaps so going forward, as long as my last track number plays the correct file, I’ll know that none are missing.


#265

Ok, I am at my wits end with this thing!

First of all, a HUGE thank you to @thoward1234 @Robert_Vandervoort and jdawson (it seems I can only tag 2 users?) for bringing this code as far along as it is!

But, I still can’t get it to work…

On one hand; if I use the code from @thoward1234 then I can get the speaker successfully included, can set volume, ringtone, interval and such through smartthings. I can even trigger the doorbell to chime through smartthings… BUT, I cannot get the app or the logs to show or notify when the doorbell is rang from the transmitter out on the door! (but I must be one of the lucky ones because the transmitter almost always makes the doorbell chime lol)

On the other hand, if I use the code from @Robert_Vandervoort I can get the speaker successfully included (tried with and without a double click for secure mode), and the logs are showing the hardware version from the speaker and all and clicking the tile to send the config acts like it works in the logs… BUT, smartthings doesn’t want to do anything else: can’t trigger or test the doorbell from smartthings, again no notifications of a ring from the button on the door, no battery, etc… Interestingly, when I press the smartthings tile to ring the doorbell while watching the logs, the press activates the tile but nothing shows in the logs… pressing again turns the tile back off and the log DOES show the off command being triggered…

Sheeeww that was a lot to type, and was my first post here lol, but again if nothing else a huge thanks to you all for bringing the code this far! Just wish mine wanted to cooperate lol…


(Never Trust @bamarayne) #266

BTW with the DH as it stands, @jdawson based on @Robert_Vandervoort 's code, I seem to be getting some random behavior sometimes where I direct the doorbell to play a specific track via custom command playtrack(42) and it then results in the device switch for the doorbell, which is configured for say track 2 to play, goes ON.

In my setup a use that switch on / off status to cascade other events - so ring the doorbell, RM sees that switch go ON and then triggers a doorbell sound on other units - so this random switch going on when playing other tracks can be problematic. Rarely happens but does happen, not sure why yet.


(James) #267

I can confirm I’ve seen this behavior as well, but since my only dependent event is that I get a notification sent to my phone, it hasn’t been as big of an annoyance. But I can see if you have many other events triggered by the doorbell where this could be troublesome. My only guess is that perhaps the command to set parameter 80 to value 0 is either not getting sent, or is getting sent out of order. You could try increasing the delay (currently set to 50ms) to something like 500ms and see if that alleviates the problem? The trade-off here is that all of your announcements would be delayed by half a second longer than they already are.

So change the playTrack function to this:

def playTrack(track) {
def request = [
zwave.configurationV1.configurationSet(parameterNumber: 80, size: 1, scaledConfigurationValue: 0), // disable notifications
zwave.configurationV1.configurationSet(parameterNumber: 6, size: 1, scaledConfigurationValue: track.toInteger()), // play track
zwave.configurationV1.configurationSet(parameterNumber: 80, size: 1, scaledConfigurationValue: 2) // enable
]
commands(request, 500) // send commands, 500ms apart
}

(Never Trust @bamarayne) #268

Interesting. Thanks James.

I wonder - there is a switch for Alarm and a switch for Doorbell in @Robert_Vandervoort’s implementation.

That is what I am queueing off of, not necessarily notifications - but I don’t know how / if notifications are tied to that doorbell switch going on/off. But if that is what causes It certainly the delay will be benefical for me.


(Kevin) #269

[quote=“C_Hobbs, post:265, topic:28889”]
Interestingly, when I press the smartthings tile to ring the doorbell while watching the logs, the press activates the tile but nothing shows in the logs…
[/quote] The code posted by @Robert_Vandervoort has a logging setting that is off by default. If you haven’t turned it on, that’s most likely the reason you’re not seeing anything in the logs. I’m using his code and after making the minor bug fixes below, I haven’t had any problems.

Line 344:
if (!state.prefRingtone) state.prefAlarmtone = 1
should be:
if (!state.prefAlarmtone) state.prefAlarmtone = 1

Changing line 202 to: def map = [ : ]
and inserting the following line below line 203:
map.name = “battery”


(James) #270

Right, I have my notification setup in Rule Machine - something to the effect of: If Doorbell On, then Send text. You can exactly replicate the issue if you comment out the first line (zwave.configurationV1.configurationSet(parameterNumber: 80, size: 1, scaledConfigurationValue: 0)) in the function above. When I first experimented with this, I only had the middle line, but every time I would send the playTrack command, the Doorbell would show up as “On” and I’d get a notification from Rule Machine that my doorbell had rung. My workaround was to temporarily disable the setting that “turns on” the doorbell when it plays a sound. This was pretty hacky, but perhaps @Robert_Vandervoort can come up with a much more elegant workaround, that wouldn’t require parameter 80 to be set every time we want to play a sound, but not have the doorbell “turn on”.


(Kevin) #271

I think if you accidentally setup the custom command in Rule Machine using the command “play” instead of “playTrack”, it will play the doorbell instead of playing the track you specified.

Edit: I just noticed you said the problem was random so this doesn’t apply.


#272

[quote=“krlaframboise, post:269, topic:28889”] The code posted by @Robert_Vandervoort has a logging setting that is off by default. If you haven’t turned it on, that’s most likely the reason you’re not seeing anything in the logs. I’m using his code and after making the minor bug fixes below, I haven’t had any problems.

Line 344:
if (!state.prefRingtone) state.prefAlarmtone = 1
should be:
if (!state.prefAlarmtone) state.prefAlarmtone = 1

Changing line 202 to: def map = [ : ]
and inserting the following line below line 203:
map.name = “battery”
[/quote]

Thank you very much for the code tweaks @krlaframboise and taking the time to try and help me get this resolved!

I do in fact have debugging turned on, and can see the logged results of the “configure” tile being pressed as well as the firmware and z-wave version reports showing up in the log. And while all the message pertaining to sending an alarm or ring test don’t show up in the log, all of the ones for turning it off or ending a chime or test DO show up…

BUT, I haven’t made the code changes you’ve pointed out…

I’m leaning towards it being something to do with the whole group 1 and group 2 shenanigans or the secure encapsulation, but I’m honestly just speculating at this point…

At work now, but I’ll be home in a few hours and I’m going to:

  1. Dissociate, delete, hold button to factory reset and all that for the n’th-teen time.
  2. Commit your code tweaks to @Robert_Vandervoort version 4 code
  3. Change the default state of debugging on line 89 to “true” to try and preemptively catch some logging during device inclusion/pairing that might be missed by the time I finish discovery and turn on debugging manually (I know, I know, I’m grasping here lol)
  4. Self publish and pair yet again, 2 inches away from the hub, double click for secure mode, etc etc lol
  5. And if it doesn’t work I guess I’ll report back with a paste of any exact debug log messages…

(Kevin) #273

The battery change fixes the null battery errors I kept seeing in my logs and the other change just ensures that Ringtone has a default value so I highly doubt these will make a difference, but hopefully all the other things you plan on doing will fix your problem.


#274

I open up live logging, search for, and pair the device
error java.lang.NullPointerException: Cannot invoke method toInteger() on null object @ line 350
debug settings: [:], state: [‘prefRingtone’:1, ‘prefAlarmtone’:1, ‘prefVolume’:10, ‘prefNumrings’:1]

click edit device and ensure debugging is on. (it is)

click the "Configure Tile
debug —VERSION REPORT V1— Aeon Doorbell - RV v0.4 is running firmware version: 1.11, Z-Wave version: 3.92
debug settings: [‘debugOutput’:‘true’, ‘prefRingtone’:‘1’, ‘prefAlarmtone’:‘6’, ‘prefVolume’:‘10’, ‘prefNumrings’:‘1’], state: [‘debug’:true, ‘prefRingtone’:1, ‘prefAlarmtone’:1, ‘prefVolume’:10, ‘prefNumrings’:1]
debug configuration being sent to Aeon Doorbell - RV v0.4

click the big main center tile, it now turns orange and switches from “off” to “ringing”
-Nothing happens in the debug log and the chime makes no noise nor lights…

click the main tile again to turn it back to grey "off"
debug turning off Aeon Doorbell - RV v0.4

click the first small grey tile labeled “bell” to test the doorbell
debug Ringing Aeon Doorbell - RV v0.4
debug Testing doorbell ring 1 on Aeon Doorbell - RV v0.4
-But the cime makes no noise nor lights…

click the second small grey tile labeled “alarm” to test the alarm
debug Alarm test command received
debug Testing alarm sound 6 on Aeon Doorbell - RV v0.4
-But the cime makes no noise nor lights…

click the third small grey tile labeled "off"
debug turning off Aeon Doorbell - RV v0.4

click the “battery” tile
debug Getting battery level for remote control on Aeon Doorbell - RV v0.4
debug Getting battery level for remote control on Aeon Doorbell - RV v0.4
-That’s all the log ever shows for this one…

*click the “refresh” tile
debug refresh request sent to Aeon Doorbell - RV v0.4
-That’s all the log shows for this one too…


(Kevin) #275

I was mistaken, this is the version of the device type I’m using: https://github.com/jamesdawson3/SmartThings/blob/patch-1/Aeon%20Doorbell/device_type-aeon-doorbell-v0.4


#276

Yea that’s the same version I’m using, plus your changes listed above