Replies: 5 comments 3 replies
|
@NaanyaBiz Great contribution, thank you! Will look at it in a near term. |
|
No problem - i have the prt3 interface up and running -- each zone entity is working reliably as are the utility keys. there were some race condition issues on the margins of timeouts (500ms) which would cause a UK to fire twice; but i fixed that bug in the last iteration and now it seems to work clean. I'll leave it with you, message me if you have queries. |
|
Hi All, |
|
Sorry...real noobie here...could not find it in HACS? |
|
https://github.com/ParadoxAlarmInterface/pai/wiki/Home-Assistant |

Uh oh!
There was an error while loading. Please reload this page.
Discussion: PRT3 ASCII serial support
Hi all — I've been working on adding PRT3 printer module support to PAI and wanted to share it here before opening a formal PR. Happy to discuss the approach and incorporate feedback.
Why PRT3?
Two trends have progressively closed off the existing integration paths for Paradox panels:
Native serial encryption — newer EVO/Spectra firmware versions encrypt the binary serial protocol. PAI's native serial backend depends on knowledge of internal EEPROM addresses and binary framing that has been reverse-engineered over time. On affected firmware, this integration breaks or becomes unreliable.
IP150 lockdown — recent IP150 firmware restricts third-party connections. A number of users have found their IP-based integrations stop working after a panel firmware update.
The PRT3 is a different story. Paradox publishes and maintains its ASCII protocol spec which I've used as part of building this interface. It works over a commodity USB-to-serial adapter, uses no encryption, and hasn't changed in any meaningful way across firmware generations. For panels where the native protocol and IP module are no longer accessible, PRT3 is a practical, long-term integration path — and right now there's no way to use it with PAI.
What I've built
Full PRT3 support as a peer connection type:
\r)COMM&okhandshake and reconnect handlingRA/RZ) with async event updatesAL/ZL/UL)AA/AQ/AD)PE/PM/PF)UK) — exposed as HA button entities via MQTT discoveryArchitecture
I was careful to keep this clean. PRT3 is wired into
paradox.py's connection selection as a plainelifalongsideSerialandIP.PRT3Panelextends the same base class as EVO/Spectra panels. The MQTT/HA layer is generic — no PRT3 branches in zone/partition logic.There's one general bug fix included that isn't PRT3-specific:
mqtt/core.pynow fireson_connectfor interfaces that register after the broker connection is already established (fixes a race where control subscriptions were never set up if MQTT connected before an interface registered).Limitations (v1)
SetTimeDate—SYNC_TIMEis a no-opPR
Branch:
feature/prt3-connectionHappy to squash, rebase onto dev, or restructure commits however you prefer before merge. Feedback welcome on anything — especially the
paradox.pyintegration points and the MQTT entity approach for utility keys.All reactions