Python 3 package to interface with Osborne Hoffman panels.
Project description
osbornehoffman
Python 3 package to interface with Osborne-Hoffman (OH+CID, OH+SIA or OH+XSIA) compatible panels (up to OH version 3.0):
- CSX75 Panel Range (CS7050(N) TCP/IP gateway)
- CSX75 Panel Range (CS9104/9204 Video Verification Module)
- CSX75 Panel Range (CS7002(N) GSM/GPRS module)
- ATS MASTER Panel range (ATS2xxx, ATS3xxx, ATS4xxx with ATS1806 or ATS1809)
- ATS Advanced (with TDA74xx GRPS/IP modules or ATS7310 GSM/GPRS module)
- ATS Advanced IP (ATSx000A-IP, ATSx500A-IP)
- NetworX Panel Range (NX-590(N)E TCP/IP gateway)
- NetworX Panel Range (NX-9104/9204 Video Verification Module)
- NetworX Panel Range (NX-7002(N) GSM/GPRS module)
- Simon Panel Range (60-938)
The Osborne-Hoffman protocol is a simple TCP overlay protocol that adds Triple DES support, this starts with the server sending a scrambled 192-bit DES key to the client. After the key is sent client communication can start whereby each packet is padded with zero's (not your standard padding scheme) and encrypted with 3DES ECB.
Installation
pip3 install osbornehoffman
Usage
import asyncio
import logging
from osbornehoffman import OHServer, OHAccount
logging.basicConfig(level=logging.DEBUG)
async def main():
async def process_event_cb(event: dict) -> bool:
"""Process callback from server."""
print("Processing event")
return True
HOST, PORT = "0.0.0.0", 12000
accounts = {"001234": OHAccount("001234", 100)}
ctx = OHServer(HOST, PORT, accounts, process_event_cb)
await ctx.start_server()
async with ctx.server:
await ctx.server.serve_forever()
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
osbornehoffman-1.0.2.tar.gz
(16.9 kB
view hashes)
Built Distribution
Close
Hashes for osbornehoffman-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 037a0fc08e71153cddc6f2679429274c6fc8d5bc8de57109ccf6d27cd3f5e99b |
|
MD5 | c2e5b7c77b257ca969e097acbb194eeb |
|
BLAKE2b-256 | 91854735a7e3dc2a7553f3f3a80393c9a305bc0ed27215ad82ecf97bae410b31 |