A DSC alarm system should run off of battery power for several hours during a power outage, but if you have a longer period of downtime, the batteries can be drained. When that happens, you will need to reset the sensors using the keypad on the control unit.
Modify an existing DSC Home Security system to be internet enabled and self-monitored.This instructable assumes you have a working Raspberry Pi.Please note this implementation has the following shortcomings:. If a thief cuts the in-coming DSL cable or internet service is lost, then monitoring from the Internet is disabled. Future: The work-around for this issue is to use a low-cost LTE backup-only service. DSC sensors do not indicate if the doors or windows are locked, only that they are closed. Future: Add a push button toggle that is activated by the door lock’s bolt. This will take significant work to run the wiring without destroying the door jamb. DSC supports integration of fire alarm.
There are certain data that I refer to often and I like to include this data in the front.Alarm – enable and disableEnsure all doors and windows are closed. On the control panel, enter the master code:master code = your master codeDisable phone lineMy house has a telephone land line, but I do not have land line service. Around 11pm every night the system beeps.
If the system loses power, then this has to be re-entered. Find keypad model number. The DSC keypad is near a door (image 1 & 2).
In my house, there is one keypad by the garage door and one by the front door.Find control panel model number. The keypad has a sticker on the top, and the model number is in the middle. Mine is a PK5501 (image 3 & 4).Another way to do this is:. On a computer, open a browser.
Go toMy control panel is located in a metal box in a closet (image 3). Open the metal box and in the center of the control panel is a sticker with the model number. My control panel model number is PC1616 (image 4). DSC offers a User Manual, but most of the other documents require you to be an installer. For the control panel, find the Installer’s Manual, User Manual, Reference Manual, and Programming Worksheet.
For the keypad, find the Installation Manual. The manual’s I found were all PDF files.Several non-DSC sources of DSC manuals are available on-line.
DSC manuals are not required for this instructable. These are merely references if you want to extend the instructable or if your system uses different parts.LiveWatch.com is the. LiveWatch was also very helpful in answering questions and getting me unstuck. I could not have completed this instructable without help from LiveWatch.
A) DSC Security system with PK5501 Keypads, PC1616 control panel and multiple sensors (windows, doors, and motion). I should not have followed the instructions that came with the EnvisLink 3.The first step in the instructions is to disconnect power from the PC1616. I assumed this meant both the AC power and the battery backup power. I disconnected both, and then had to make a call to a technician get the keypads back on-line. The service call was $135. My PC1616 is enclosed in a metal case.
Locate your security system PC1616 board. Use the EV3 to create a paper template for the offset holes. The template is used to mark holes on the metal case. Because it was easier to screw from the outside of the box to the inside, I had to reverse the template.
Scotch tape the template to the outside of the metal box containing the PC1616. Pick a spot that has enough room to accommodate the Envisalink 3. Very slowly, using a 3/16' metal drill bit and the template, drill 3 holes in the side of the metal box. From the inside of the metal case, push in the plastic offsets into the holes. Install the EV3 board in the metal box on the plastic offsets. Strip 1/4' from both ends of the red, black, green and yellow wires (or you can cut an RJ11 cable and use the wires inside).
While either will work, solid thermostat wire is better than twisted wire because the on-board connectors grip the solid wire more firmly. If using twisted wire, then twist ends tightly, which will make it easier to install. Disconnect the AC power black wire from the DSC Controller. This is second wire(s) from the left. Be careful not to let the exposed end of the black wire(s) touch anything. I wrapped the end in electrical tape until I finished the next steps.
If the black wire(s) touches anything, the transformer will short and you will have to call a service company to replace.Using a very small flat head screwdriver, install colored wires into appropriate slots on EV3.One-by-one, loosen red, green, yellow, and black screws on DSC controller but ONLY enough to slide new wires in. Insert appropriately colored wire and tighten.Reinsert AC power (removed in G) to the DSC controller.Using a CAT5e or CAT6 cable connect EnvisaLink 3 to router. I had many issues programming the Envisalink and DSC Controller. I found toggling the power off and on got the system back to a known good state. Later, I added a momentary push button toggle. There are many types of toggle. The normally closed is the one needed.A) Get a small plastic box.
I used a dental floss case, which is the kind a dentist might give you after an appointment. Remove the floss and the metal clips.B) Drill two small holes for the AC wireC) Drill or cut a hole for the momentary toggle. I found it was easier to use an exacto knife then drill a hole. Open the case and cut half the hole on one side of the opening and the other half on the adjacent side.
So, when the momentary toggle slides in one side and when the case is closed the momentary toggle is firmly attached.D) Remove AC power from Envisalink. Run AC power wire through one of the small holes and connect to lead on momentary power switch. Wrap in electrician’s tape.E) Strip ends of a 3-4 inch piece of wire.
Run one end through the other small hole in the case and connect to the other lead on momentary switch. Wrap in electrical tape.F) Connect 2nd wire from momentary switch to Envisalink AC power slotG) Use scotch tape to seal caseH) Check if toggle works. The system should normally be on. When the toggle is pressed the lights on the Envisalink will go off. Open a browser and go to your router’s home page. Open a browser. Enter Router IP Address.
On Home tab scroll down to Home Network DevicesMy U-verse Residenial Gateway (or router) shows something like the Image 1.Scroll down to the device, and it should look like image 2.An Active Status means the board is installed and operating.Click on Details to get the IP address of the EnvisaLink. The IP address can change from time-to-time.Open a browser and enterEnvisalink IP addressEnter user name and password:envisalink usernameenvislink passwordEnter username and password from installation guide. The browser should show something like image 3. You don’t need to do this step or the next, but if you want to be done, then this is a good option.offers a complete monitoring service. It is easy to use and works well. If you want to do use this service then follow the instructions in step 10 and 11.
Otherwise skip ahead to step 12. Please note, I did both 10 and 11 and then had to disable them.
Both services worked fine and I had no issues, I just wanted to do it myself.A) Open browser and go to Eyez-OnB) Login (in an earlier step you should have created an account)C) Select Mobile Portal LinkD) Click generate mobile linkThe link is long. Email it to your mobile device.F) Open the link on your mobile deviceG) Open another browser window or tab and go to Eyez-On, select support and select EnvisAlarms Monitoring Primer from drop downH) Follow directions to download EV3 self-monitoring softwareI) Follow the directions to set-up how you want to monitor. Communication from Envisalink 3 to EnvisAlerts uses UDP. Communication from Envisalink 3 to script uses TCP/IP.The Envisalink 3 Ethernet port only communicates at 10Mbps. Most 1Gb or 100Mb Ethernet routers and switches will auto-negotiate down to 10Mbps.In section 022 of the PC1616, option 1 cannot be enabled.
This option requires a user access code to access user functions like bypassing zones, etc. The option is off by default.Keypad Blanking and Zone Bypassing must be off for the Envisalink to work. Initially, I signed up for Envisalerts and for Mike P’s app.Since I don’t want to send my security information sent to the internet, and I don’t want the Envisalink 3 software updated without my okay, I needed to block the Envisalink 3’s access to the internet.A) Open browserB) Go to AT&T U-verse 3801HGV gateway. I wanted to understand how to control the security system. The best sources are:– A Tutorial - required for me to understand the TPI document– describes the TPI command set– a horrible, poorly named document, which describes your security system’s configurationThe previous owner did not leave a completed Programming Worksheet.
I had to fill this out myself. Basically, I used the keypad to enter commands until I had everything figured out. The worksheet is a place to record your system’s configuration.
Okay, I lied. Use the worksheet as a guide, but record your system’s config in a normal sized document. The Third Party Interface (TPI) is a set of commands, responses and error codes allowing third-party applications to interface with the EnvisaLink 3 over a TCP/IP connection. I found this document very confusing. I hope this explanation helps explain the document a bit better.In general, all TPI Commands, Responses and Error Codes are three digits:.
Commands are greater than or equal to 500. Responses are less than or equal to 200. Error Codes are between 000 and 027, but responses are also in this rangeData is appended to the end of a Command or Response.
For example, a login command might be:. 005pswdCSnrwhere,. pswd = is data, in this case, your passwordThe following are required:.
CS = checksum. n = newline character. r = carriage return characterOn the web, I found many implementations for calculating the checksum.
The checksum is required, and many implementations didn’t work. I am not sure why so many didn’t work for me.
It may be bad code, or it may be different versions of the board or firmware versions running on the board. My checksum code works for my board and firmware.The EnvisaLink acts as a server for a TCP connection to a Client application. The Client should only run on a secure server that can communicate with the EnvisaLink 3. The Client’s server should be on your home network, but should not be open to the internet. A self-signed cert is required (see my other instructable for a Garage Door Opener).The EnvisaLink listens on port 4025 and will only accept one client connection.
Subsequent connections will be denied. The EnvisaLink will close the connection if the client closes its side.To initiate a connection:. Client starts a TCP session by establishing a TCP socket.
Client sends a login command 005. EnvisaLink responds with one or more 505.
If 505 command’s data is a 3, then within 10 seconds respond with a login command 005. If 505 data contains a 1, then login is successfulThe login command’s data is a password up to six characters in length, which is the same password to log into the EnvisaLink's local web page.See 505 command description in the TPI manual for a description of all data.Once the password is accepted, the session is created and will continue until the TCP connection is dropped. I used documents from the previous step to develop an interactive python script that could be run from a command line on a Mac Book Terminal window.
Here are some clarifying comments:. I may have gone a bit overboard, but I think all the commands are in the script. The command-line python script, ev3.py, can be downloaded from this link: GitHub.
Download ev3.py. Copy the script to a directory directory. Open a terminal window (Click on MacBook disk, Applications, Utilities, Terminal).
I use a terminal window often. So, I have the terminal app pinned to the dock. If running from a computer, change self.filelog = sys.stderr, as indicated in the script. In the terminal window, change to the directory and execute the script:$ cd directory$ python envisalink.py. Type return to see valid commands. Type ctrl-c to exit the program.
I want to set or monitor the security system from a smart phone, tablet or PC. A simple solution is to develop a website.The command line python script monitors the security system, and can change the system’s state. However, it doesn’t provide good remote viewing capability.A website provides an excellent interface for monitoring and changing the security system. However, the website is only “running” when it is being viewed. Whereas, the command line script should be running all the time. When the script is running, no one may be looking at the website.
So, the data collected by the script should be stored in a database until someone wants to view it.Also, a user should be able to change the security system’s state (arm, disarm). The usual DB choices are MySQL or postgres. This app needs something simple like a file.
I knew SQLite was the correct choice when I read,. is smaller than MySQL or postgres. SQLite competes with fopen. I like to develop on the Mac and then move the results to the Raspberry Pi.Go to on sqlite.org and download sqlite-autoconf-.tar.gz from source code sectionOn MacBook open downloads from your accountClick on downloaded tar.gx fileOpen terminal window$ cd Downloads$ cd sqlite-autoconf-latest version number$./configure -prefix=/usr/local$ makeThe make takes a few minutes, be patient.$ sudo make installMacBook passwordConfirm it works:$ sqlite3sqliteOr try$ which sqlite3Redo steps in previous step to setup database, table and enter data on MacBook (or use the script. If db doesn't exist it will create and populate).
Modify the command line script to write to the DB.These are good explanations for connecting a python script to SQLite:.I modified the code to talk with SQLite. You can download the code here:.
Download ev3pi.py.Open a terminal window and copy command line python script to raspberry pi$ scp ev3pi.py pi@:/home/piLogin to pi$ ssh pi@enter passwordMove script to /usr/local/bin and change privileges$ ssh pi@$ sudo mv ev3pi.py /usr/local/bin$ sudo chmod ug+x /usr/local/bin/ev3pi.pyor$ sudo chmod 0755 /usr/local/bin/ ev3pi.pyChange the script so it runs on Raspberry Pi. See comments in code.
Be sure to use the db in /var/www/db/security.dbUpdate website to write commands to DBClicking on a security command on the website, writes the command to the database.On the next pass through the main loop, the command should be read and executed.Download the security.php code here:. Download security.php.bash script that checks whether or not ev3pi.py is runningIf ev3pi.py stops running for some reason, then it should start running automatically. This script attempts to restart the script.Download the ev3chk.sh code here:. Download ev3chk.sh.Python script that automatically arms and disarms the security system using a scheduleThis script uses a schedule to arm and disarm the security system based on user entered time of day and day of week. If the vacation field is set, then arming and disarming will be ignored.Download the ev3auto.py code here:. Download ev3auto.py.Web Page to display status and Arm and Disarm the systemThis is a pretty simple webpage, connected to a larger Home Automation System. Rename this script to index, and place in /var/www on your Raspberry Pi.Download the security.php code here:.
Download security.php.crontab to check if script is runningEdit the Crontab to ensure the scripts are running.Login to Raspberry Pi$ sudo crontab -e## check every 5 minutes if security system is running./5. /usr/local/bin/ev3chk.sh /dev/null 2&1## check every 15 minutes if security system is in good state./15. /usr/local/bin/ev3auto.chk /dev/null 2&1You can download the crontab here: GitHub. Download crontab. I am interpreting your question as two questions. #1 Can I control the system remotely?
Yes, but I didn't implement a lot of controls. For example, I didn't see the need to change the zones remotely. From my cell phone, I can turn the alarm on and off. And I can trigger the alarm remotely, if some other device in my home automation system is reporting something wrong (or if I just want to annoy my wife). #2 Can the system send notifications when something is wrong? Yes, the system sends a text alert when it detects an issue.
The python scripts contain the code. Basically, it sends a text alert through my gmail account to my phone.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
March 2023
Categories |