Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Aritech Alarm Internet Dialler

Options
13468912

Comments

  • Registered Users Posts: 224 ✭✭2Shae


    ozmo wrote: »
    I did thanks - and the hardware might be a little too weird to do that one though. The signal and power share the only two wires - this would make any keypad emulator more complex to make compatible electronics wise. I will keep it mind though once I finish the hkc though. cheers.

    Did you ever get anywhere with the astec alarm monitoring?


  • Registered Users Posts: 1,156 ✭✭✭fbradyirl


    Would it be possible to do all this using a Raspberry Pi only (and not the arduino?). I am an experienced python programmer but am not an expert in the electrical side of things I will admit!

    I already have a Raspberry Pi and have converted 'tnegun's perl script to python and to use PushBullet instead of Email.
    https://gist.github.com/fbradyirl/b8614554822e39a323cd1f7daafa5a36

    I would love to get the dialler working also on the Pi. I wonder what kind of cables, etc I would need to connect the pi to the panel?


  • Registered Users Posts: 3,862 ✭✭✭ozmo


    Did you ever get anywhere with the astec alarm monitoring?
    I did look - but the non standard display looked a lot of work to implement in html and the electrical interface to the Arduino would need something special with the power going over the data lines - one option might be to use the electronics from an existing sensor? If I ever come across a sensor the panel I might try that.
    fbradyirl wrote: »
    Would it be possible to do all this using a Raspberry Pi only (and not the arduino?).... I wonder what kind of cables, etc I would need to connect the pi to the panel?

    It likely not possible with an RPI as the timing is very critical, especially using a high level language like python - the Arduino has only a few milliSeconds to respond to a message from the alarm panel or it gives up waiting and goes off and does something else, but as the Arduino is only running the one program it can be sure to do it in time.
    With Raspberry Pi you have so much running on it interrupting the main code fighting for cpu time that you cannot guarantee a low latency(ie. prompt) realtime response with no pauses, even if it is faster.

    “Roll it back”



  • Registered Users Posts: 3,862 ✭✭✭ozmo


    ...I was going to create a very simple version (using a GSM shield) that will text me when the alarm goes off.....As this is almost 14v, I would need some sort of voltage divider to bring the voltage down.
    Can you advise ... The recommended values for the voltage divider resisters
    & The best way to hook this to the Arduino

    Thanks for any help you can offer.

    Thanks for the comments - sorry I didnt reply sooner.

    Yes that sounds like a good plan - The Outputs are indeed a high 14v aprox so you would need something to bring the voltage down - you could use two resistors (high values maybe 10K and 4.7K with the arduino input pin and gnd connected across the 4.7K resistor) - just make sure the voltage is definitely less than 5v - but another option here might be to use a Relay on the Internal Siren pins..

    “Roll it back”



  • Registered Users Posts: 1,156 ✭✭✭fbradyirl


    ozmo wrote: »
    I did look - but the non standard display looked a lot of work to implement in html and the electrical interface to the Arduino would need something special with the power going over the data lines - one option might be to use the electronics from an existing sensor? If I ever come across a sensor the panel I might try that.



    It likely not possible with an RPI as the timing is very critical, especially using a high level language like python - the Arduino has only a few milliSeconds to respond to a message from the alarm panel or it gives up waiting and goes off and does something else, but as the Arduino is only running the one program it can be sure to do it in time.
    With Raspberry Pi you have so much running on it interrupting the main code fighting for cpu time that you cannot guarantee a low latency(ie. prompt) realtime response with no pauses, even if it is faster.

    Yeah I see what you are saying.

    Do you have any pointers on how you went about figuring out how to simulate the keypad bus and reads? I'd like to have a play around with it see if I can learn something.


  • Advertisement
  • Registered Users Posts: 158 ✭✭retepnosnikta


    Been reading through all the posts and a lot of hours have been spent putting that together. I was curious to see if you were familiar with the GE ITI Concord International panel. A mainly wireless board installed by Phonewatch, in my case, in 2007. From what I can see there's no serial/printer port that can be tapped into so I was wondering if you have had a chance to test your build on this particular panel.


  • Registered Users Posts: 3,862 ✭✭✭ozmo


    fbradyirl wrote: »
    Do you have any pointers on how you went about figuring out how to simulate the keypad bus and reads?

    I used an DSO (digital storage oscilloscope) to determine the baud rate and voltage levels of the keypad data wire - It was obvious it was standard Uart Rx/Tx protocol, just an odd baudrate and odd number of bits - I connected the comms using a resistor bridge to drop the voltage - and wrote a program on the Arduino to dump everything it could see on the data bus as hex and ascii (code is still there commented out)- I could see packets of data but I couldn't be sure what device was 'speaking' as the HKC uses the one wire shared with all devices- so I used a resistor on the keypad tx so I could see by the lower voltage level if the messages were coming from the Keypad or the panel. The RKP file in the code has examples of this data I captured.
    The messages I could see all were a similar format as expected- a header byte(used to target a message to a specific device), a command byte(eg. display this on the screen, or play that tone on the keypad speaker), followed by data (message to display) - and lastly a checksum (sum of all the data in the packet mod 256)
    The tricky part was determining what each command did and what response was required of it.
    I later acquired a Logic Analyzer which does a similar job to the arduino program - I was able to more accurately capture the timings also from the real response from a keypad (see below for a screenshot) and compare it to a capture of my hardware and continually update my code so my hardware would always reply with the exact same response with the same delays as the real keypad.
    The HKC comms are different to the Aritech in that each byte is 9 bits rather than the more normal 8. The 9th bit is set on the first byte of the message which makes it easy for any hardware to know when the message starts.

    http://i65.tinypic.com/1z3mhb7.png
    You can see in this screenshot how the DA displays the signal as well its decoded value in Hex and Ascii. This message is a response to a ping (command 0) from a keypad to panel - FF means there are no key-presses to report 8E is the checksum. Top trace is the Real Keypad - middle is my hardware's response - you can see they are identical.

    I documented all the commands in detail that I needed to use in the source code (again in the RKP class).
    Hope that helps...
    Been reading through all the posts and a lot of hours have been spent putting that together. I was curious to see if you were familiar with the GE ITI Concord International panel.

    Thanks for the comments -
    I don't have access to one of those - as every alarm panel brand uses different data protocols it would require me to analyse the traffic on the keypad of one such device for me to make the project compatible with another range of panels.

    “Roll it back”



  • Registered Users Posts: 158 ✭✭retepnosnikta


    ozmo wrote: »
    I used an DSO (digital storage oscilloscope) to determine the baud rate and voltage levels of the keypad data wire - It was obvious it was standard Uart Rx/Tx protocol, just an odd baudrate and odd number of bits - I connected the comms using a resistor bridge to drop the voltage - and wrote a program on the Arduino to dump everything it could see on the data bus as hex and ascii (code is still there commented out)- I could see packets of data but I couldn't be sure what device was 'speaking' as the HKC uses the one wire shared with all devices- so I used a resistor on the keypad tx so I could see by the lower voltage level if the messages were coming from the Keypad or the panel. The RKP file in the code has examples of this data I captured.
    The messages I could see all were a similar format as expected- a header byte(used to target a message to a specific device), a command byte(eg. display this on the screen, or play that tone on the keypad speaker), followed by data (message to display) - and lastly a checksum (sum of all the data in the packet mod 256)
    The tricky part was determining what each command did and what response was required of it.
    I later acquired a Logic Analyzer which does a similar job to the arduino program - I was able to more accurately capture the timings also from the real response from a keypad (see below for a screenshot) and compare it to a capture of my hardware and continually update my code so my hardware would always reply with the exact same response with the same delays as the real keypad.
    The HKC comms are different to the Aritech in that each byte is 9 bits rather than the more normal 8. The 9th bit is set on the first byte of the message which makes it easy for any hardware to know when the message starts.

    http://i65.tinypic.com/1z3mhb7.png
    You can see in this screenshot how the DA displays the signal as well its decoded value in Hex and Ascii. This message is a response to a ping (command 0) from a keypad to panel - FF means there are no key-presses to report 8E is the checksum. Top trace is the Real Keypad - middle is my hardware's response - you can see they are identical.

    I documented all the commands in detail that I needed to use in the source code (again in the RKP class).
    Hope that helps...



    Thanks for the comments -
    I don't have access to one of those - as every alarm panel brand uses different data protocols it would require me to analyse the traffic on the keypad of one such device for me to make the project compatible with another range of panels.

    I thought so. I only have one Concord panel and it's currently mounted as part of my alarm system. Hopefully someone may have a spare panel they could donate to you for analysis. I would imagine it will pose the greatest challenge of all.

    Once again great work. It's very educational and interesting to see the different results you achieve.


  • Registered Users Posts: 175 ✭✭maurice1


    @fbradyirl

    I changed from an arduino to a rasp pi1B+ because it is easier to programme by winscp and putty, rather than disconnecting the arduino and plugging it into the usb every time I got inspiration.

    I bought 3 x mcp3008 analogue to digital converters and connected them to the Rpi.

    Using 19 of the 24 analogue inputs on the MCP3008 s I connected the
    10 zones (On aritech Panel 0 - 5vdc)
    4 outputs (On aritech Panel 0 - 5vdc)
    2 bell (On aritech Panel 0 - 12vdc)
    1 doorbell
    1 pressure on water mains ( If value drops too much I have a leak)
    1 pressure on boiler if it drops below 1 bar, I get an email
    by voltage bridge divider using resistors to the MCP inputs, if my calculations were wrong I only ruined the MCP3008.

    Did most of the scripts in python, using rpi.gpio.
    When a circuit is open the MCP gives a value of ~900/1023, when it is closed gives a value of late ~600/1023.
    So my programme looks when the value
    if 850 <= Entry/Exit <= 1024: T8 = 0 # Alarm Open = 900
    else: T8 = 1 #Normally Closed = 700

    The hall door sends an email every time it opens to keep it alive, (may not be necessary).
    A text is sent via voipcheap when int or ext siren are low sending me a sms of which zone activated and value and sends another if there is a change.
    For instance:
    if the value = 851 = a truck going by
    if the value = 999 = window smashed.

    Another handy thing about the pi is I can change the programme from anywhere by VPN.
    I also use 2xMCP23017 (32 digital outputs/inputs) to control a relay board for lights, Under floor heating zones and solar pump. If the alarm goes off the lights come on.
    The remaining GPIOs are for the water meter and flow meter on Solar panel, 2 x esb meters and about a dozen DS18b20 to read temp and graph output, All that using about 9 gpio pins.

    If you do decide to make a veroboard shield for the pi, I made the mistake of ordering headers that were too short and wouldn't fit with the height of the MCPs and the components on the pi. Did try a rpi3 but got very warm so i stuck with the pi1

    I still like my arduino for running the 433 mhz transmitter for the remote sockets you buy from powercity, but I couldn't get the arduino to send texts and emails


  • Registered Users Posts: 11,666 ✭✭✭✭altor


    Been reading through all the posts and a lot of hours have been spent putting that together. I was curious to see if you were familiar with the GE ITI Concord International panel. A mainly wireless board installed by Phonewatch, in my case, in 2007. From what I can see there's no serial/printer port that can be tapped into so I was wondering if you have had a chance to test your build on this particular panel.

    It could be tapped into through the keypad bus.
    Have not done it myself but its a communication path to the system.


  • Advertisement
  • Registered Users Posts: 1,728 ✭✭✭tnegun


    @maurice1 So you monitor your alarm in parallel to the panel? It still operates indepentantly of the Pi and mcp3008? Are you using a plus counter with your electricty monitors?


  • Registered Users Posts: 158 ✭✭retepnosnikta


    altor wrote: »
    It could be tapped into through the keypad bus.
    Have not done it myself but its a communication path to the system.

    Looks like it would be possible to tap in on the terminals on the keypad module. Red+12 , Black gnd, green bus A, white bus B. I reckon the problem will be trying to identify the protocol between the keypad and the control panel. GE equipment is extremely proprietary and I can find little or no info on the web about it.

    Going the keypad route, I'm trying to identify Ozmo's final hardware requirements and associated wiring plan. There's a lot changes and modifications made through this rather long topic. Could anyone point me to the final solution so I can get cracking and test this panel out.

    This is a perfect "How To" sticky that could be amended as and when working solutions for any new panels are up and working.


  • Registered Users Posts: 158 ✭✭retepnosnikta


    I know this question may sound irrelevant but if I decided to power the Uno with an independant 5v power supply, besides the Uno and the Ethernet Shield, what other components would I need to connect to the panel's keypad. Obviously 12v and Gnd are not required and I'm figuring that Bus A and Bus B on the keypad could be transmit/receive. This is purely just guesswork.


  • Registered Users Posts: 158 ✭✭retepnosnikta


    I know this question may sound irrelevant but if I decided to power the Uno with an independant 5v power supply, besides the Uno and the Ethernet Shield, what other components would I need to connect to the panel's keypad. Obviously 12v and Gnd are not required and I'm figuring that Bus A and Bus B on the keypad could be transmit/receive. This is purely just guesswork.

    Ozmo after a little more searching I came across this info which may be of use. It looks like the bus is using RS485 protocol. Again it way beyond my "pay grade" but I'm sure you will be able to make sense of it.

    http://www.avrfreaks.net/forum/ge-security-panel-superbus-2000-protocolrs485-ethernet


  • Registered Users Posts: 3,862 ✭✭✭ozmo


    Ozmo after a little more searching I came across this info which may be of use. It looks like the bus is using RS485 protocol. http://www.avrfreaks.net/forum/ge-security-panel-superbus-2000-protocolrs485-ethernet

    Good find - for your GE Panel, it may be that the keypad uses an rs485 protocol - but it may also be just an optional automation addon like this (link) that adds rs485 capability maybe? but worth following up?

    If it is RS485, then the electronic circuit part of the project can be bought quite cheaply to connect it to the Arduino.
    Don't try connecting the Arduino directly to these terminals without the correct electrical adapter - Arduino can only take 0 to 5v, and some of these interfaces are usually higher and sometimes even can go negative.

    There is a guy on adverts that sell RS485 Arduino adapters for 3 Euros - (link). dx.com have them as well.

    If you are unfamilar with Arduino programming, you could also buy a pc rs485 card 4 euros (link) and use standard pc software (eg. termite) to capture some packets off the wire.

    Without a scope - You will have to guess the baud rate - but you could be lucky and its a common one like 9600 or 19200.

    That's the hardware - you will still need write the software to decode and use the information, that will be a tougher task - Let us know if you do manage to capture any of the bus traffic and we can see if its possible to decode it.

    “Roll it back”



  • Registered Users Posts: 158 ✭✭retepnosnikta


    ozmo wrote: »
    Good find - for your GE Panel, it may be that the keypad uses an rs485 protocol - but it may also be just an optional automation addon like this (link) that adds rs485 capability maybe? but worth following up?



    If it is RS485, then the electronic circuit part of the project can be bought quite cheaply to connect it to the Arduino.
    Don't try connecting the Arduino directly to these terminals without the correct electrical adapter - Arduino can only take 0 to 5v, and some of these interfaces are usually higher and sometimes even can go negative.

    There is a guy on adverts that sell RS485 Arduino adapters for 3 Euros - (link). dx.com have them as well.

    If you are unfamilar with Arduino programming, you could also buy a pc rs485 card 4 euros (link) and use standard pc software (eg. termite) to capture some packets off the wire.

    Without a scope - You will have to guess the baud rate - but you could be lucky and its a common one like 9600 or 19200.

    That's the hardware - you will still need write the software to decode and use the information, that will be a tougher task - Let us know if you do manage to capture any of the bus traffic and we can see if its possible to decode it.

    Just pm you Ozmo. May help in some way.


  • Registered Users Posts: 205 ✭✭Bazsutto


    Was looking through the code and done a Wiki on SHA-1 and seen the following:
    Microsoft,[7] Google[8] and Mozilla[9][10][11] have all announced that their respective browsers will stop accepting SHA-1 SSL certificates by 2017.

    I know its a bit away yet, but would this suggest that you won't be able to remote login using these browsers from 2017 without updating the code?


  • Registered Users Posts: 3,862 ✭✭✭ozmo


    Bazsutto wrote: »
    SHA-1?

    Thanks for the heads up - Its a good question and Ive checked into it but my understanding is this browser change will not affect the websocket protocols - Ill keep and eye out for confirmation of this and update the code if there is any new recommended way of doing things - but as of now websockets are not affected and will continue to use sha-1

    “Roll it back”



  • Registered Users Posts: 175 ✭✭maurice1


    @tnegun
    yea the Aritech works as it always works.
    The Rasp pi through the mcp3008 just read the values of the zones.
    Or to put it another way,
    Each Zone has 2 wires with an End Of Line resistor in the last detector in the circuit like most alarm panels.
    One wire is ignored (ground) and the other is +Vdc, So I just connected 16 wires from the +Vdc to the mcp3008s which is also in the panel
    Every second Pi reads 3008s and if the int siren is high and there is a change it sends me an sms. If your panel has a keyswitch facility you could have a relay from the pi to reset the alarm if you wanted. I don't know if you could do Osmo's cool keypad replicator on a pi
    Elec meters, lights are read by pulse meter in link above and the other loads are read by 50Amp bigger version, The same Rpi creates graphs of usage,
    The water meter is graphed also using a GPIO and https://www.bes.co.uk/products/102.asp#13766.
    I know the Pi seems complicated to start with but it can do so much if u have used a soldering iron and some veroboard.

    @Ozzo, I read your castle code and well done for getting it working.
    Another reason I went pi was that UPC told me they were turning off the SMTP server and I know arduino couldn't do email without SMTP. That may have changed now.


  • Registered Users Posts: 16 Underwurlde


    As I don't have an engineer code for my system, I'm working on a much simpler solution where I check to see if there's a voltage on the siren outputs and send an SMS if there is. I can see that there is 13.7 volts here when the alarm is on so I created a voltage divider to bring the voltage down below 5 volts so as not to damage the Arduino (10K/4.7K). When testing (using just a battery to simulate the siren going on), my solution does everything I planned. However now when I try to hook it up to the panel, as soon as I connect the wires to the siren connectors, the siren goes off (possibly some sort of tamper mechanism). Any ideas on how I can monitor this without it interfering with the alarm operation?


  • Advertisement
  • Registered Users Posts: 175 ✭✭maurice1


    @Underwurlde
    As far as i can remember the 12v stays high until the alarm is triggered and then falls to low. To get a signal, maybe try a diode in series with your bridge or an optoisolator.
    To check google SABM as that is probably what is in your alarm box.


  • Registered Users Posts: 16 Underwurlde


    Thanks @maurce1.
    When I connect a multi-meter to connectors 10/11 (internal bell) I get 0 volts. After triggering the alarm this goes to 13.7 volts and stays at that until I disarm the alarm. Now, when I go to connect my "monitor" just touching pin 10 (ground) with my sensor wire (ground) is enough to set the siren going - it doesn't seem to be triggering the alarm - just the siren, and only for a long as the wire is connected. I'll try an optoisolator as you suggest. Might have better luck with that.


  • Registered Users Posts: 175 ✭✭maurice1


    Dont know your particular alarm panel, but normally they 10/11 are not ground. they are 12VDC+ in potential when taken using the battery - as a reference voltage.

    Maybe try your resistor bridge between Battery 12VDC+ and either 10/11 (whichever one changes state when triggered).

    I am interested how you are getting your arduino to send a SMS


  • Registered Users Posts: 175 ✭✭maurice1


    @Ozmo
    I wanted to give your program a tryout. Like the idea of a remote reset.
    Followed your http://www.instructables.com/id/House-Alarm-Internet-Dialer-With-Arduino-Reverse-E/?ALLSTEPS

    You mention the processor of starting with PD78C...etc

    I have a cs450 which has a D78C.....etc.


    Question1
    Would you expect them to be the same IC or does the starting "P" make a difference
    2016-07-09 15.58.58.jpg


    Question2
    I have a mega + Internet shield + 433mhz transmitter in my alarm box to turn on and off http://powercity.ie/index.php?par=80-20-A1210W&action=moreinfo via a webbrowser.

    Could it be possible to have your alarm webpage and the other for my remote sockets on the one mega?


  • Registered Users Posts: 16 Underwurlde


    @maurice1 - its an Aritech CD72 board. I'll give your suggestions a try.

    Regarding enabling SMS messaging from Arduino, I bought this great little GSM board from ebay - tinyurl dot com slash hty9hxa (sorry - boards wont le me put in a URL).

    I connected this to Arduino using SoftSerial so I could continue to use the Arduino serial port for debugging (I'm using an UNO so only one serial port available).

    I bought a 3 SIM for 20 euro - this gave me a month of free texts for development and testing. With 3, you also get to keep the credit so even after the month is up there is 20 euro to fund additional texts. For something like this where the volume of texts will be low, the annual costs to maintain will be negligible...much cheaper than using a remote monitoring service.

    All in all it was very easy to set up and get going. Let me know if you need any more information.

    Cheers


  • Registered Users Posts: 47 Redwid


    @ozmo, could I connect (B=0V) to common circuit GND, or that is separate line?
    How could I test if I assembled it correctly and used correct components or not?


  • Registered Users Posts: 3,862 ✭✭✭ozmo


    maurice1 wrote: »
    @Ozmo
    I have a cs450 which has a D78C.....etc.
    Question1
    Would you expect them to be the same IC or does the starting "P" make a difference

    Those microporcessor chips are the same pinout - but that's a model I havn't tested yet though - the transistor circuit interface should work though.
    maurice1 wrote: »
    @Ozmo
    I have a mega ... already in my alarm box -Could it be possible to have your alarm webpage and the other for my remote sockets on the one mega?

    It could be done - The memory (flash + ram) was tight on the Arduino - but Mega has a bit more - the bit to watch though is that the alarm panel requires a response to each message it sends within aprox 20 milliseconds or so - always - so you need to make sure any new code you add to the one thread loop have nothing that would delay this.

    “Roll it back”



  • Registered Users Posts: 3,862 ✭✭✭ozmo


    Redwid wrote: »
    @ozmo, could I connect (B=0V) to common circuit GND, or that is separate line?
    How could I test if I assembled it correctly and used correct components or not?

    Yes - the GND from the interface circuit, the arduino, the power supply and the rkp ground wire (B) are connected together.

    Best would be to double checking everything and then testing it then with the real panel. Check all the wiring and check components used are correct values -use a multi-meter to test resistor values are correct and that there are no shorts between tracks. If all is correct - no component should be hot to the touch.
    All the best...

    “Roll it back”



  • Registered Users Posts: 47 Redwid


    Thanks ozmo for the quick answer.

    If I do connect arduino with the same panel id, will it receive signal from the alarm?
    Or correct id required for sending and receiving signals?

    I do not have engineering code, needs to default my alarm before adding extra panel :(


  • Advertisement
  • Registered Users Posts: 3,862 ✭✭✭ozmo


    Redwid wrote: »
    If I do connect arduino with the same panel id, will it receive signal from the alarm?

    You could build it all and not connect the tx of the circuit to the alarm panel bus- if you used an existing id - then yes, it would show the screen status and pickup on alarms. or you could default the panel to get a new engineer code...
    You can not have two keypads with same id transmitting though.

    “Roll it back”



Advertisement