Tuesday May 23rd 2017

  

Z-Wave Telephone Ring Detector – a hardware hack

I like to crank up the tunes when I’m relaxing at home, but it seems that without fail, just as I’m getting into a song, the phone rings. Then I have to rush to find the remote and hit the pause button before I can pick up the phone. I guess I could just blast the person on the other end of the call with Led Zeppelin, or I could ignore the call, but it would be nice if my sound system was smart enough to detect phone calls (at least landline calls), or doorbell rings, and then automatically pause the playback.

My sound system has been getting smarter lately. Since I discovered the Sonos plugin for Vera (HomeSeer has a Sonos plugin as well), any device in the Vera system can now trigger a scene that controls the Sonos sound system. My Vera pauses Sonos playback to make a voice announcement whenever somebody opens the back door and trips the Z-Wave door/window sensor. There are plenty of manufacturers making Z-Wave door sensors; if somebody would start selling a Z-Wave telephone ring detector, I’d have a “whole lotta love” for that company.

Being the impatient type, I decided to try hacking together my own Z-Wave ring detector, using a spare HRDS1 door/window sensor that I had in my Z-Wave box:

The HRDS1 has connections for an external contact closure, which could potentially be used to connect to some sort of telephone circuit, and I found lots of plans online for telephone ring detector circuits that have contact closure outputs, but what I settled on was a ready-made device called a “Sonic Alert TR50:”


It’s a wall-wart that plugs into an AC outlet, and it has a cord for plugging into a telephone jack, and it has a switched outlet for plugging in a lamp or something that would come on to let you know that the phone is ringing. I found one online for $15, and there are still several available on eBay for less than $20. At that price I wouldn’t have to worry about destroying the device by opening it up. Inside I found a simple circuit that uses a relay to control the switched outlet:


Tracing the printed circuit, I came up with the following schematic that looks a lot like the circuits I had researched online:


I soldered wires to the Sonic Alert’s relay Common (C) and Normally Open (NO) contacts and connected those wires to the HRDS1:


The most important thing to remember at this point is: don’t plug your ring detector into an AC outlet! We’re not using the Sonic Alert to power a lamp anymore. It would probably be a good idea to remove the AC prongs and socket.

This ring detector gets its power from the phone company. The Ring wire (R) is at a constant -48 Volts DC relative to the Tip wire (T), which is at ground potential. This DC voltage is blocked by the Sonic Alert’s 1 microfarad capacitor. What we want is the 90 VAC that is momentarily superimposed on that DC voltage each time the phone rings. We run that 90 Volts AC through a full-wave bridge rectifier to give us about 40 VDC at the relay coil (the coil is rated at 50 VDC). The 2.2 microfarad electrolytic capacitor holds the relay in a little longer – long enough to give a solid contact closure event for the HRDS1 to detect.

Notice in the photos of the HRDS1 above that I have taped the tamper switch in the closed position. This seems to conserve the batteries and allows normal sleep/wake cycles. Also, as with all of my door/window detectors, I have configured this HRDS1 with no-polling and a 4-hour wakeup interval:


Note the icon showing a running-man. This is Vera’s indication that the “door” is open. This happens to be the normal state of the ring-detector when the phone is not ringing. The HRDS1 actually expects a normally closed relay contact when it is mounted on a door or window. In the case of the Sonic Alert we have a normally OPEN contact, which is the opposite of a door/window detector’s normal resting state. You will have to reverse the logic when you create your event trigger in Vera. Here I have set the event to trigger when the device is NOT tripped:


My phone-ring event triggers a scene in Vera that pauses Sonos playback. You can use the “Advanced” tab on the Vera scene editor to select the Sonos behavior that you want to trigger:

Cleaner Solutions

The new Fibaro door/window sensor also has screw terminals for an external contact, and it is less than 1/4th the size of the HRDS1. It might actually fit inside the plastic shell of the Sonic Alert, allowing you to put everything into one nice package:

A more technical solution might be to use an ELK-930, which has snap-apart doorbell and phone-ring modules:


These modules have open-collector transistor outputs, which could connect to a “digital” input of the upcoming Fibaro Universal Sensor:

Twitter Feed