kevkmartin Posted March 1, 2012 Posted March 1, 2012 This thread will outline the materials, equipment, and process required to build and install a custom lighted doorbell - integrated into your Insteon network. I will include all of the programming used to control the button. The button lights up at night, turning off when pressed (while the chime sounds). During the day, the button is off, lighting up when pressed (while chiming). The chime can be anything you have an MP3 of - assuming you have followed MrD's excellent tutorials on using an NSUL2 along with your ISY-99's network resources. Stay tuned for details.
kevkmartin Posted March 1, 2012 Author Posted March 1, 2012 1 single gang cover plate I used a brushed stainless steel plate from amazon.com: http://www.amazon.com/Icarus-Blank-Sing ... 427&sr=8-3 1 Lighted arcade push button with micro switch These come in many colors. They are spec'd for 12v DC, but work just fine with 5V DC (just dimmer) I purchased from Paradise Arcade: http://www.paradisearcadeshop.com/en/27-led-buttons Insteon IOLinc: http://www.smarthome.com/2450/IOLinc-IN ... ut-/p.aspx This will provide both status and control of the doorbell. 4 conductor, 18 gauge wire Enough to run from your doorbell location, through a wall, to an outlet. Sent from my iPad using Tapatalk HD
kevkmartin Posted March 1, 2012 Author Posted March 1, 2012 Putting together the actual button is straight forward. Drill a hole (1 1/4") in the center of the single gang plate. Insert the threaded shaft of the arcade button through the hole, then tighten the large plastic nut against the back of the plate. The lighted button will have a microswitch / LED unit for all wiring connections. The connections are: LED +, LED -, Switch Common, Switch NO (normally open), Switch NC (normally closed). We will be using all of these connections EXCEPT the Switch NC. The 4 conductor wire I purchased had red, black, green, and white conductors. I chose to use red for LED power (+5v), black for LED ground, green to Switch common, and white to Switch NO. In this configuration, pressing the switch will connect the Switch Common terminal and the Switch NO terminal together.
kevkmartin Posted March 1, 2012 Author Posted March 1, 2012 Once the wiring is run from the doorbell location to the outlet, its time to connect the wiring to the IOLinc. The IOLinc is an extremely capable device, integration a sensor, a relay, and a +5v power supply into a compact unit. Terminals on the IOLinc are +5v, Sense, Ground, Relay Common, Relay NO (Normally Open), Relay NC (Normally Closed). We will be using all of the terminals EXCEPT for the Relay NC. Using the same wiring scheme from the post on wiring the doorbell switch, the following connections will be made: Sense - connect the WHITE (Switch NO) wire GND - connect BOTH the GREEN (Switch Common) and BLACK (LED Ground) wires Relay Common - connect the RED wire from the switch (LED Power) +5V - You will need to use a small length of wire to connect the +5V terminal to the Relay NO terminal
kevkmartin Posted March 1, 2012 Author Posted March 1, 2012 With all of this wiring complete, you will be ready to use the IOLinc as a lighted doorbell controller. Link the IOLink to your ISY-99. The relay mode should be in the (default) latching mode. Once linked, you will see two nodes: Relay - this node will be commanded to control the LIGHT of the doorbell switch Sense - this node will report the status of the doorbell button Programming and Variables: I use three variables (two state variable, and one normal variable) to accomplish my doorbell control: Is_Day (state variable) - this is set by a program as follows: Program "Is Day" If From Sunrise To Sunset (Same Day) Then $Is_Day = 1 Else $Is_Day = 0 Doorbell_Status (State Variable) - this state variable will have a value of "1" whenever the doorbell button is pressed, and "0" otherwise Doorbell_Is_Day (Integer) - this variable tracks to the State variable $Is_Day via program. Theis is necessary to prevent certain doorbell programs from EVALUATING when transitioning from Day to Night / Night to Day. Doorbell_Chime_Executing (Integer) - this will have a value of "1" while the doorbell chime is actually sounding and "0" otherwise Program "DB - Is Day Variable" If $Is_Day is 1 Then $Doorbell_Is_Day = 1 Else $Doorbell_Is_Day = 0 Program "DB - Light Default" - this program will turn the doorbell button ON (by default) at night, and OFF (by default) at night: If $Is_Day is 1 Then Set 'Doorbell / Doorbell IOLinc Relay' Off Else Set 'Doorbell / Doorbell IOLinc Relay' On Program "DB - Button Status" - This program will set the value of variable Doorbell Status, and initiate other programs to sound the doorbell and control the light: If Status 'Doorbell / Doorbell IOLinc Sensor' is Off Then $Doorbell_Status = 0 Else $Doorbell_status = 1 Run Program 'DB - Sound Should Play' (If) Program "DB - Sound Should Play" - this program will prevent the doorbell sound from playing AGAIN while a chime is already sounding If $Doorbell_Chime_Executing is 0 Then Run Program 'DB - Play Sound and Light' (If) Else No Actions Program "DB - Play Sound and Light" - this is the actual program that plays the doorbell chime, and controls the doorbell switch light when it is pressed. During the day (when the switch light is off by default), the switch will light up during the chime. At night (when the switch light is on by default), the switch light will turn off during the chime. This gives the person at the door a visible indicator that something happened when they pressed the button. If $Doorbell_Is_Day is 1 Then $Doorbell_Chime_Execuing = 1 Set 'Doorbell / Doorbell IOLinc Relay' On Resource 'Audio_Attention' #This Network Resource accesses the NSUL2 and plays an attention chime Resource 'Audio_Intruder_Alert' #This plays the doorbell sound "Intruder Alert" from the 80's game Berzerk Resource 'Audio_Intruder_Alert' Resource 'Audio_Attention' Wait 7 Seconds #The duration of the chime sounds $Doorbell_Chime_Execuing = 1 Set 'Doorbell / Doorbell IOLinc Relay' Off Else $Doorbell_Chime_Execuing = 1 Set 'Doorbell / Doorbell IOLinc Relay' Off Resource 'Audio_Attention' #This Network Resource accesses the NSUL2 and plays an attention chime Resource 'Audio_Intruder_Alert' #This plays the doorbell sound "Intruder Alert" from the 80's game Berzerk Resource 'Audio_Intruder_Alert' Resource 'Audio_Attention' Wait 7 Seconds #The duration of the chime sounds $Doorbell_Chime_Execuing = 1 Set 'Doorbell / Doorbell IOLinc Relay' On That's it. When operating correctly, the lighted doorbell switch will be lit at night, and off during the day. When pressed, the lighted switch will change state (off or on as appropriate) during the chime. Please let me know if there are questions!!!
kevkmartin Posted March 6, 2012 Author Posted March 6, 2012 It's now installed!!! Sent from my iPad using Tapatalk HD
rabbit1543 Posted January 14, 2013 Posted January 14, 2013 I think that this is a pretty neat little project. I have been thinking of something similar and wonder if its possible. Q1. Can i somehow leverage my existing doorbell without losing the actual doorbell chime. Q2. My front door is opaque and does not offer any sight of who is standing there. I would like install some IP cameras around the house with one at the door. Instead of playing an mp3 i would like to pop up the camera web interface on my Windows media center computer which is near the door. It would be great to extend this to other tvs in the house sometime down the road. Im pretty sure this should be possible using the network module as long as i can keep the existing functionality of my doorbell.
Brian H Posted January 14, 2013 Posted January 14, 2013 Q1. If you still want to use your original doorbell. ELK makes a doorbell sensor {ELK930} that connects to your bells wiring and senses the bells current when ringing and has a dry contact output that can trigger an I/OLincs Sensor Input I have tested one with an I/OLinc and it works. Using it would not be the same as the project here as you don't control the lighted features of the bell push button.
kaisersoze Posted January 31, 2013 Posted January 31, 2013 I plan to create a program where doorbell pushed and away mode = attack dog barking inside the house
Recommended Posts