KDACT - A Simple Raspberry Pi Based "Communicator"

Yesterday I was very bored and wasn’t sure what exactly I should do, so I started to think about what I could do to improve my demo setup. (Other then putting it on a board and hooking up the other panel, which I will do probably this summer) I came up with the idea of a communicator or “DACT” that would be able to send me a text when the panel went into alarm.

I pulled out my RPi that I haven’t touched in months and started to try to remember Python.

After a bit of research I found a method of sending emails in Python, and with that I wrote these scripts.

There are 4 parts to KDACT:

  • 1) system.startup - This file is really just an SH script that has a fancy file ext. This file is ran by crontab when the RPi starts up and it goes thru the boot sequence

    2) selftest.py - This file does nothing really, it just sends a email saying that the system started up successfully

    3) system.py - This file is pretty much 100% of the system, It constantly checks to see if the circut is broken, if it is, it sends an email stating that the system went into alarm.

    4) crash.py - This file sends an email before letting the original system.startup restart the RPi
  • [/list]

    Those are the main elements of KDACT.

    I could say that a 5th part would be the installer, but since that isn’t really required for it to work, I won’t include it.

    To see how to configure this look here: http://pastebin.com/D00BJdY2 (the readme.md)

    I was originally going to license this under WTFPL license, but I changed my mind so that I could prevent this from being used in an actual life safety system. WTFPL Website (EXPLICIT LANGUAGE)

    I will release more info and the files tomorrow.

    I am also not sure if this is the right forum to post this to, I think it could go under “Fire Alarm Help” but I think “Fire Alarm General Discussion” fits better.

    Let me know what you would like to see in the future.

    PS. I haven’t released it as I am going to test it overnight, and take pictures of the text messages it sends. (Read the readme.md for info on how I can do this.)

    I don’t have much more to add at the moment, but I made a video that kind of explains how to use/install KDACT.



    Here are some links that may be helpful

    KDACT Homepage - http://firealarms-gq.k38639.site88.net/KDACT/index.html (has download link / wget link)

    FireAlarms.gq Temp Page - http://firealarms-gq.k38639.site88.net/

    [size=50]Yes this is recorded in screencastommatic, I couldnt get my normal software to catch putty.[/size]

    Just a clear warning, this does have many bugs. Every once and awhile I have received the alarm message, then had the thing restart. I may have a fix for this as I think its on the wiring side of things, but I am not 100% sure.

    I’ll give this a watch… I’m curious as to how this would compare to Simplex’s SafeLink cards especially down the road when any glitches get sorted out.

    First of all, thanks for taking a look! I must apologize for not responding, I haven’t had time to look at the TFP or this project due to school.

    I do have one major bug, but I believe it to be caused by me having multiple instances of it installed using the same pins on the RPi. It seems to be after having installed it a second time, It restarts every few hours. If not it may also be the fact that I am not using a pull down/up resistor when connecting to the relay.

    Oh and ps I love your videos, keep it up!

    This is a good attempt in programming.

    I have rewritten the script and broke up the key part as a function since you are using it in more than one way. I also made a systemd unit file for this script to be started by init automatically as it’s not a good idea to rely on cron to make sure life safety equipment works since cron can be disabled from startup and then none of the systems scheduled tasks will execute, not good. You will need to write your own init script in order to make this work with OpenRC (Gentoo), Upstart (older versions of Debian/Ubuntu), init (RHEL v6 and earlier based distributions), init (FreeBSD).

    Im sorry I honestly never saw this, nor got a notification for it, I have a little bit of stuff in the works on this project, but school has prevented me from working all that long on this. I do plan to at some point soon to get a new version out. This is most defiantly an attempt at programming, this was the first time in about 2 years I have even tried to use Python. I am also new to Linux/UNIX. It only really needs to work on the newer versions of Debian since the oldest version of Raspian ( or how ever thats spelled), the OS for the RPi is based on Wheezy iirc. I have some other things I plan to add, just don't have the time to figure it out. Within the next few weeks Ill finally have both of my panels hooked up so I wont be limited to only 2 relays (4010 has 2, 4002 has 6)

    [b]Edit:[/b] I didnt get an email because I for some reason got unsubscribed from this topic