Add Nexia Doorbell Sensor?

doorbell

(Bill Kearney) #1

I’m assuming I’ll need to create a device type to fully utilize this device?

It connected and shows up as a ‘Z-wave sensor’.

The ‘raw description’ in the graph says:

The z-wave database entry for it says it has the following capabilities: Z-Wave Plus Lifeline Battery Report, Notification Report, Device Reset Locally Notification

Supposedly it’s one configurable setting is whether to send a battery level with notification, or not.

When I look at the events for the device, it reports this after the doorbell is pressed.

Nexia Doorbell Sensor battery is 100% Name Value archivable true date 2016-02-17 6:35:28.294 PM EST (2016-02-17T23:35:28.294Z) description Nexia Doorbell Sensor battery is 100% deviceId 4e21b4a1-8c4e-4a18-be55-14fbfe71f133 deviceTypeId 8ac43eda3f434b8d013f434c71220004 displayed false eventSource DEVICE groupId f3ee9b92-8b04-4931-843d-898598f5c867 hubId 6a1047da-1611-4f45-991d-63d4f69ca67b id 2069a850-d5cf-11e5-b697-d052a8357860 isStateChange true isVirtualHub false linkText Nexia Doorbell Sensor locationId 44149c8b-4b93-4231-a021-cea92f6cd00a name battery rawDescription zw device: 0F, command: 8003, payload: 64 translatable false unit % unixTime 1455752128294 value 100 viewed false

Where should I start to turn this into a useful device type? I’m fine with creating one from scratch, if just to avoid bringing along cut-and-paste errors.

I don’t see myself creating a lot of unique device types, so pardon my for asking for a shortcut! I’ll learn more as needs demand, but right now I’d just like to ‘make it work’.


(Bill Kearney) #2

I went back into the log and noticed a second event like that one. Near as I can tell there’s only one bit of data that’s different between the two.

Nexia Doorbell Sensor battery is 100% Name Value archivable true date 2016-02-17 6:35:26.495 PM EST (2016-02-17T23:35:26.495Z) description Nexia Doorbell Sensor battery is 100% deviceId 4e21b4a1-8c4e-4a18-be55-14fbfe71f133 deviceTypeId 8ac43eda3f434b8d013f434c71220004 displayed false eventSource DEVICE groupId f3ee9b92-8b04-4931-843d-898598f5c867 hubId 6a1047da-1611-4f45-991d-63d4f69ca67b id 1f577500-d5cf-11e5-b697-d052a8357860 isStateChange true isVirtualHub false linkText Nexia Doorbell Sensor locationId 44149c8b-4b93-4231-a021-cea92f6cd00a name battery rawDescription zw device: 0F, command: 8003, payload: 64 translatable false unit % unixTime 1455752126495 value 100 viewed false
The id value is different between the two entries. I only pressed the button once, so I don’t know if it meant to send two or if they’re two different events somehow.

In looking back at other recent events in the log they also have a different id value, with everything else appearing to be the same.


(Bill Kearney) #3

I’ve ordered a YourBell. Which is a bit expensive, but it’s US-made and their support folks were pretty savvy with answers to my questions. It’s not networkable, but that combined with the Nexia will hopefully serve my needs. We’ll see.

The Aeon unit speaker just isn’t loud enough.

I’m eyeing up the Fibaro universal sensor as a potential way to be a little more clever with it. The Nexia unit only does one channel (although the circuit board has solder pads for two). I wouldn’t mind having both front & back door notification, but I don’t see any sense in buying two different Nexia units.


(I got a hair cut from Alexa) #4

I discovered my old fashion doorbell failed a few days ago. I have to trace through and find out if its the power, remote transformer, doorbell, etc. When I was looking for alternatives, I stumbled across one the units on-line that you are experimenting with and thought that would be a neat addition when I fix it, so I’m going to stay tuned to your thread…just in case I go that route and don’t just make up my own doorbell with a door window sensor and Big Talker/VLC Thing.

If you are adding features to a device handler, try starting with what it found and make changes to it. But maybe all you really need for this device is to know if the doorbell is pressed or not. If that already works, you may want to put your energies into “what to do” when the doorbell is pressed with a smart app that does something cool when linked to the doorbell sensor. (Just thinking. :wink: Have fun!


#5

I have a Nexia Doorbell Sensor. I look forward to seeing your device type and maybe a Smart App to notify.


Doorbell
#6

Bill - Any luck with this? I own one as well and right now it’s sitting above my doorbell collecting dust.


(Bill Kearney) #7

No, I got it connected and paired to my hub but have as yet to dig into improving the state of a driver for it. I just haven’t had the time.


#8

I just received a Nexia DB100Z Doorbell last night. I took a quick look and I can see both the doorbell notification and battery level in the logs. A device handler doesn’t look like it will be a heavy lift effort. I’ve posted a few pictures and chronicled my initial impressions here. I’ll update the post and of course this thread when there is something available for general testing. With any luck, I’ll find some time to get this out in the next day or so.


#9

I have an initial Nexia DB100Z device handler here if anyone wants to give it a try. I pulled in a chunk of @krlaframboise’s Aeotec Doorbell handler since, well it is a doorbell and I was counting on some similarities. Thanks Kevin. I really haven’t had a chance to spend much time on this and haven’t reviewed all of the code yet. I’m sure there’s quite a bit of unnecessary snippets for this less complicated device.

It still has more work to be done on it, plus cleanup and testing, but the basic notifications and battery level appears to be working – at least for me. That’s it for tonight, but I’ll try to find some time tomorrow to look a little more at this. I certainly welcome any feedback or suggestions.


#10

Hey Darwin, I tried you device handler. It saved and published without a problem but, it gets stuck in the ringing notification. At first it didn’t register the ring, then it notified ringing and stayed. Good work so far but, I think it needs some work. I can help you test it, unfortunately I am unable to help with code.

Keep up the good work. Thanks


#11

That’s interesting. I’m not having that issue with mine, but I’m wondering if your bell has a much shorter time between the ring on and off notifications - and the off is somehow getting missed. I’m sure there’s something that can be done, even if it’s just a timer to reset the state if the off notification is never received. Is there a chance you could PM me live logging output for this device with a doorbell button push? Also have you tried setting up a text or push notification when the doorbell switch turns on? I’m guessing that should still work. Just trying to isolate the issues. Thanks!


#12

Thanks @christopher.lawrence for the logs. The device handler is definitely missing events with your doorbell. I was able to recreate the issue with my doorbell, but much less often. It appears that every so often I’m not seeing a button release event for the device, and even worse, but much less often, I don’t see a pressed event. Fortunately, I have yet to come across a case where both are missed. For now, since it’s easier on my pride, I’ll assume this is an idiosyncrasy of the device or the cloud vs. my code

I updated the device handler so that if a release event is missed, the button state will be reset after 10 seconds. Also, if a button press event is missed, the handler assumes the release event was the press, and the button state will also be reset back after 10 seconds.

Everything should work the same as it did before when the events are received properly. The one oddity will be that if you hold the button down for over 10 seconds and then release (or for some reason the release event is significantly delayed) you will get two distinct door bell notifications. I’m not sure how to work around that considering there’s no way to know for sure if you missed an event - you just have to assume you did and reset the state after awhile.

If anyone has any additional suggestions or can find something in the code that might explain the missed events, definitely let me know.

Any testing you can do would be appreciated since the issue is so hard for me to trigger here. Thanks!