Giter Site home page Giter Site logo

crappytan / texecom-connect Goto Github PK

View Code? Open in Web Editor NEW

This project forked from davidmbrooke/texecom-connect

0.0 1.0 0.0 87 KB

Python software to monitor a Texecom Premier Elite alarm panel using the Texecom Connect protocol added in v4.

Dockerfile 0.33% Python 99.67%

texecom-connect's Introduction

Texecom Connect Protocol Python

Introduction

This is a python module and a quick example that implements decoding of the Texecom Connect protocol.

Requirements

This module connects over TCP to the alarm panel, so a ComIP or SmartCom is needed.

The ComIP/SmartCom only allow one TCP connection to be made to them, so you will need to dedicate one to this purpose. Whilst this program is running, the SmartCom/ComIP will not be able to send out events to notification centers or to the texecom applications - I believe except for when an alarm occurs, in which case the connection to this program will be forcibly dropped by the panel.

Your alarm panel must be a Premier Elite panel running firmware version 4.0 or higher.

You need to set a UDL password for your panel. If you don't have a UDL password and do not have the engineer code you will not be able to use this code.

Current status

The module currently decodes every event I've seen from the panel, and polls the panel for information like current time / voltage levels. It subscribes to all events from the alarm panel, so will display any zone changes, arm/disarm, etc.

It does not currently support arm/disarming.

It allows the caller to register handlers for zone activation events.

My own main use for this module is:

  1. Keeping a log of everything that happens in the alarm system
  2. Using zone activations to push notifications to my iPhone/Apple watch, including frame grabs from my external IP cameras - I do this using https://pushover.net

Using it

You need python installed, including the crcmod ('sudo -s pip install crcmod' will install it if you don't have it). The module is written in python2 but I believe could be made compatible with python3 as well with some fairly easy changes.

clone this git repo, then edit alarm-monitor.py to have the correct IP address, port number and UDL password, then just run the script:

./alarm-monitor.py

Contributions

Contributions are most welcome. Please feel free to open a merge request. I'm interested in taking this further with help from others, potentially adding a web interface, mqtt, a mobile app, etc.

License

Copyright (C) 2018 Joseph Heenan

Licensed under the Apache License, Version 2.0; you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Texecom NDA

This module was developed using information provided to me by Texecom under NDA.

I cannot share that documentation with anyone and can not answer questions about what this documentation says - you are free to sign your own NDA with Texecom to receive the same documentation.

The NDA was not clear as to whether software that used the information received under NDA could be distributed or not. I explicitly asked Texecom if this software could be distributed (including sending them a copy of the python code) and received this response on 8th June 2018:

I have spoken to the team who approve the NDA’s and they have stated that you are able to release your program but you cannot disclose details of the protocol documentation.

Whilst still slightly oddly worded, they do say they are happy with me releasing this python code.

texecom-connect's People

Contributors

jogu avatar anthonyangel avatar davidmbrooke avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.