TapHome

Paradox Digiplex EVO przez PRT3 (TCP)

Packet Parser → TCP
Dodane przez
Ostatnia aktualizacja: 11. 2026

Wymaga zewnętrznej bramki

Paradox PRT3 (APR-PRT3) printer and home automation module, or BUS2SER, with an RS-232-to-Ethernet converter — strona produktu

Paradox Digiplex EVO przez PRT3 (TCP)

Szablon Paradox EVO PRT3 łączy centralę alarmową Paradox Digiplex EVO z TapHome przez moduł PRT3 i oficjalny protokół ASCII firmy Paradox. PRT3 jest podłączony do magistrali combus centrali i udostępnia protokół na swoim 9-pinowym porcie szeregowym. Konwerter RS-232 na Ethernet udostępnia ten port w sieci lokalnej, a TapHome łączy się z konwerterem przez TCP — komputer pośredniczący nie jest potrzebny.

Szablon pokazuje stan uzbrojenia jednej partycji oraz uzbraja ją lub rozbraja kodem użytkownika, pokazuje cztery strefy z ich ostrzeżeniami i jeden wirtualny PGM oraz pokazuje błąd, gdy PRT3 traci połączenie z centralą.

PRT3 działa jako interfejs automatyki domowej tylko z centralami Digiplex EVO. Dla central Spectra SP i Magellan MG użyj szablonu społeczności Centrale alarmowe Paradox przez PAI (MQTT).

Szablon społeczności — jeszcze nie przetestowany z TapHome na prawdziwej centrali. Szablon powstał na podstawie oficjalnej instrukcji protokołu ASCII firmy Paradox (ASCII-EP01) i przetestowano go tylko z symulatorem PRT3 na lokalnym TapHome Core 2025.2, a nie z prawdziwą centralą Digiplex EVO z prawdziwym PRT3 i konwerterem. Sprawdź go w swojej instalacji, zanim zaczniesz na nim polegać w kwestii bezpieczeństwa; doświadczenia z praktyki są mile widziane. Pobierz XML z tej strony lub z portalu TapHome: Paradox EVO przez PRT3 — szablon społeczności, i zaimportuj go jako nowy moduł.

Bezpieczeństwo: kod użytkownika jest zapisany w TapHome i przesyłany bez szyfrowania. PRT3 uzbraja i rozbraja tylko z kodem użytkownika, a szablon wysyła ten kod z każdym poleceniem uzbrojenia i rozbrojenia. Kod jest zapisany w konfiguracji TapHome i przesyłany bez szyfrowania przez sieć lokalną między TapHome Core a konwerterem. Utwórz w centrali osobnego użytkownika dla TapHome, ograniczonego do partycji, którymi steruje TapHome, i używaj jego kodu — nigdy kodu głównego.

Obsługiwane centrale

CentralaWymaganie
Digiplex EVO48, EVO96, EVO192, EVOHDPRT3 (lub BUS2SER) w trybie automatyki domowej z protokołem ASCII
DGP-848wersja 4.11 lub nowsza
DGP-NE96wersja 1.60 lub nowsza

Centrale Spectra SP i Magellan MG nie mają oficjalnego interfejsu automatyki domowej — zobacz Centrale alarmowe Paradox przez PAI (MQTT).

Podłączenie sprzętu

  • PRT3 do centrali: podłącz cztery zaciski PRT3 (czerwony, czarny, zielony, żółty) do zacisków magistrali combus centrali.
  • Konwerter do PRT3: podłącz stronę RS-232 konwertera do 9-pinowego portu szeregowego PRT3 — nie do portu równoległego ani do portu USB.
  • Konwerter do sieci: ustaw konwerter w trybie serwera TCP ze stałym adresem IP i portem TCP. TapHome łączy się z nim jako klient TCP i utrzymuje połączenie otwarte.

Parametry łącza szeregowego to 8N1 (8 bitów danych, bez parzystości, 1 bit stopu). Konwerter musi używać dokładnie tej samej prędkości co PRT3 — przy innej prędkości TapHome nic nie odbiera.

Konfiguracja

Tryb automatyki domowej PRT3

PRT3 programujesz z manipulatora centrali:

  1. Przytrzymaj [0] i wprowadź kod instalatora.
  2. Wprowadź sekcję [4003] w centralach EVO lub [953] w centralach DGP-848.
  3. Wprowadź 8-cyfrowy numer seryjny PRT3.
  4. Wprowadź sekcję [016] (opcje portu szeregowego) i ustaw:
OpcjaUstawienieZnaczenie
[1]WŁ.Port szeregowy włączony
[4]WŁ.Automatyka domowa (nie raportowanie zdarzeń)
[5] i [6]WYŁ. i WYŁ.Protokół ASCII (nie C-Bus)
[2] i [3]według instrukcji PRT3Prędkość: 2400, 9600, 19200 lub 57600 b/s — tę samą prędkość ustaw na konwerterze

PRT3 można też zaprogramować programem WinLoad (wersja 2.62 lub nowsza) albo funkcją rozsyłania ustawień do modułów (module broadcast) z centrali.

Wirtualny PGM

Wirtualny PGM szablonu to wirtualny PGM modułu PRT3, a nie fizyczne wyjście PGM centrali. Zaprogramuj go w PRT3 ze zdarzeniami centrali, które go włączają i wyłączają (sekcje od [100] do [399], dziesięć sekcji na jeden wirtualny PGM), aby PRT3 wysyłał jego stan do TapHome.

Użytkownik dla TapHome

Utwórz w centrali osobnego użytkownika dla TapHome, daj mu dostęp tylko do partycji, które TapHome uzbraja i rozbraja, a jego kod (od 4 do 6 cyfr) wprowadź podczas importu. Szablon wysyła ten kod z każdym poleceniem uzbrojenia i rozbrojenia, dlatego parametr nie może pozostać pusty.

Parametry importu

Parametr importuOpisDomyślnie
Adres IP konwerteraAdres IP konwertera RS-232 na Ethernet w trybie serwera TCP192.168.1.100
Port TCP konwerteraPort TCP konwertera4001
Numer partycjiPartycja w centrali, trzy cyfry (od 001 do 008)001
Numery stref 1–4Strefy w centrali, trzy cyfry (od 001 do 192)001 … 004
Numer wirtualnego PGMWirtualny PGM modułu PRT3, dwie cyfry (od 01 do 30)01
Kod użytkownikaKod użytkownika centrali utworzonego dla TapHome(puste)

Dla kolejnych partycji lub stref zaimportuj szablon ponownie z innymi numerami i usuń niepotrzebne urządzenia. Każdy import otwiera własne połączenie TCP, dlatego sprawdź, czy konwerter przyjmuje więcej niż jedno.

Funkcje urządzeń

Partycja

Pokazuje stan partycji oraz ją uzbraja lub rozbraja.

StanPo wybraniu w TapHome
Rozbrojonyrozbraja partycję kodem użytkownika
Uzbrojonyuzbraja partycję
Uzbrojony Forceuzbraja partycję w trybie wymuszonym (Force)
Uzbrojony Stayuzbraja partycję w trybie Stay
Uzbrojony Instantuzbraja partycję w trybie Instant
Alarmniczego nie wysyła — stan tylko pokazuje alarm zgłoszony przez centralę

Po każdym poleceniu szablon ponownie odpytuje stan partycji. Urządzenie Partycja pokazuje ostrzeżenie, gdy centrala odrzuciła ostatnie polecenie uzbrojenia lub rozbrojenia (zwykle błędny kod użytkownika), gdy partycja ma usterkę i gdy w pamięci jest alarm. Przy starcie TapHome Core szablon nie wysyła żadnego polecenia uzbrojenia ani rozbrojenia — partycja przejmuje stan z następnej odpowiedzi centrali.

Strefy 1–4

Każda strefa pokazuje, czy jest zamknięta, czy otwarta; strefa z sabotażem i strefa z usterką pętli pożarowej liczą się jako niezamknięte. Ostrzeżenia pojawiają się, gdy strefa jest w alarmie, w alarmie pożarowym, ma sabotaż, ma usterkę pętli pożarowej, utraciła nadzór lub ma słabą baterię. Każde ostrzeżenie pozostaje, dopóki centrala nie zgłosi strefy jako sprawnej.

Wirtualny PGM

Pokazuje stan jednego wirtualnego PGM modułu PRT3. Stan zmienia się tylko wtedy, gdy PRT3 zgłosi zmianę; protokół nie ma zapytania o stan wirtualnego PGM, więc po starcie TapHome Core urządzenie nie ma wartości aż do następnej zmiany. TapHome nie przełącza wirtualnego PGM.

Moduł

Szablon co 5 sekund odpytuje stan partycji i czterech stref. Moduł pokazuje błąd, gdy PRT3 zgłosi utratę komunikacji z centralą, i usuwa go po przywróceniu komunikacji. Gdy konwerter jest niedostępny, TapHome pokazuje zwykły błąd połączenia modułu.

Czego szablon nie ma

  • Panika i reset czujek dymu — pominięte celowo: panika napadowa, medyczna i pożarowa wywołałaby prawdziwe zgłoszenie alarmu.
  • Blokowanie stref i bezpośrednie sterowanie fizycznymi wyjściami PGM — PRT3 ich nie obsługuje.
  • Nazwy stref i partycji — szablon używa tylko numerów.
  • Wirtualne wejścia i klawisze funkcyjne modułu PRT3.

Rozwiązywanie problemów

Brak wartości w TapHome

Sprawdź, czy konwerter jest osiągalny pod adresem IP i portem z importu, czy konwerter i PRT3 używają tej samej prędkości oraz czy w sekcji [016] opcje [1] i [4] są WŁ., a opcje [5] i [6] WYŁ.

Uzbrajanie lub rozbrajanie nic nie robi

Ostrzeżenie na urządzeniu Partycja, że centrala odrzuciła polecenie, oznacza błędny kod użytkownika lub użytkownika bez dostępu do partycji. Sprawdź w centrali kod użytkownika TapHome i jego partycje.

Błąd modułu dotyczący komunikacji z centralą

PRT3 utracił połączenie z centralą po magistrali combus. Sprawdź podłączenie czterech zacisków magistrali combus.

Strefa pokazuje błędny stan

Sprawdź, czy numer strefy z importu jest numerem strefy w centrali, zawsze z trzema cyframi (strefa 5 to 005).

Dostępne urządzenia

Paradox PRT3 Moduł
Zmienne niestandardowe
AreaNum (string)Numer partycji w centrali, trzy cyfry (od 001 do 008)
Enter the area number with three digits (area 1 = 001) as the import parameter Area number.
Zone1Num (string)Numer strefy 1 w centrali, trzy cyfry (od 001 do 192)
Zone2Num (string)Numer strefy 2 w centrali, trzy cyfry (od 001 do 192)
Zone3Num (string)Numer strefy 3 w centrali, trzy cyfry (od 001 do 192)
Zone4Num (string)Numer strefy 4 w centrali, trzy cyfry (od 001 do 192)
PgmNum (string)Numer wirtualnego PGM zaprogramowanego w PRT3, dwie cyfry (od 01 do 30)
Program the virtual PGM in the PRT3 (activation and deactivation event) and enter its number with two digits (01) as the import parameter Virtual PGM number.
UserCode (string)Kod osobnego użytkownika centrali utworzonego dla TapHome (od 4 do 6 cyfr), nie kod główny; jest wysyłany bez szyfrowania z każdym poleceniem uzbrojenia i rozbrojenia
Create a separate user in the panel for TapHome, limited to the areas TapHome controls, and enter its code as the import parameter User code. Do not use the master code.

Paradox PRT3

Odczyt (moduł)
# Poll the area and the four zones; every command ends with CR (framing)
SENDDATA("RA" + AreaNum);
SENDDATA("RZ" + Zone1Num);
SENDDATA("RZ" + Zone2Num);
SENDDATA("RZ" + Zone3Num);
SENDDATA("RZ" + Zone4Num);
Nasłuchiwanie
VAR msg := TOSTRING(RECEIVEDBYTES);
IF INDEXOF(msg, "COMM&fail") = 0
    CommFail := 1;
END
IF INDEXOF(msg, "COMM&ok") = 0
    CommFail := 0;
END
IF CommFail = 1
    ADDERROR(1, "PRT3 reports COMM&fail: no communication between the PRT3 module and the panel");
END
Partycja Przełącznik wielowartościowy

Stan jednej partycji centrali oraz jej uzbrajanie lub rozbrajanie kodem użytkownika; Alarm jest tylko wyświetlany i niczego nie wysyła

enum ascii
Wartości / Stany: Rozbrojony · Uzbrojony · Uzbrojony Force · Uzbrojony Stay · Uzbrojony Instant · Alarm

Partycja

Odczyt stanu przełącznika
RETURN(Mu);
Zapis stanu przełącznika
# Alarm (5) is reported by the panel and is never a command
IF Mu = 0
    SENDDATA("AD" + AreaNum + UserCode);
ELSEIF Mu = 1
    SENDDATA("AA" + AreaNum + "A" + UserCode);
ELSEIF Mu = 2
    SENDDATA("AA" + AreaNum + "F" + UserCode);
ELSEIF Mu = 3
    SENDDATA("AA" + AreaNum + "S" + UserCode);
ELSEIF Mu = 4
    SENDDATA("AA" + AreaNum + "I" + UserCode);
END
IF Mu < 5
    SENDDATA("RA" + AreaNum);
END
Nasłuchiwanie
VAR msg := TOSTRING(RECEIVEDBYTES);
# Area status: RA<nnn> + state (D, A, F, S, I) + M T N P A S, each O when OK
IF INDEXOF(msg, "RA" + AreaNum) = 0 AND LENGTH(msg) >= 12
    VAR st := GETAT(RECEIVEDBYTES, 5);
    IF GETAT(RECEIVEDBYTES, 10) = 65
        Mu := 5;
    ELSEIF st = 68
        Mu := 0;
    ELSEIF st = 65
        Mu := 1;
    ELSEIF st = 70
        Mu := 2;
    ELSEIF st = 83
        Mu := 3;
    ELSEIF st = 73
        Mu := 4;
    END
    AreaMemory := IF(GETAT(RECEIVEDBYTES, 6) = 77, 1, 0);
    AreaTrouble := IF(GETAT(RECEIVEDBYTES, 7) = 84, 1, 0);
END
# Answer to an arming or disarming command of this area
IF INDEXOF(msg, "AA" + AreaNum) = 0 OR INDEXOF(msg, "AD" + AreaNum) = 0
    CodeFailed := IF(INDEXOF(msg, "&fail") > 0, 1, 0);
END
IF CodeFailed = 1
    ADDWARNING(1, "The panel refused the last arming or disarming command (&fail): check the user code");
END
IF AreaTrouble = 1
    ADDWARNING(2, "Trouble in the area");
END
IF AreaMemory = 1
    ADDWARNING(3, "Alarm in memory");
END
Strefa 1 Kontakt reed Tylko do odczytu

Stan strefy centrali (zamknięta lub otwarta) z ostrzeżeniami o alarmie, alarmie pożarowym, sabotażu, usterce pętli pożarowej, utracie nadzoru i słabej baterii

boolean ascii
Zmienna: ZoneNum — Numer strefy w centrali, trzy cyfry (od 001 do 192)

Strefa 1

Odczyt
RETURN(Rc);
Nasłuchiwanie
VAR msg := TOSTRING(RECEIVEDBYTES);
# Zone status: RZ<nnn> + C, O, T, F + A F S L, each O when OK
IF INDEXOF(msg, "RZ" + ZoneNum) = 0 AND LENGTH(msg) >= 10
    VAR st := GETAT(RECEIVEDBYTES, 5);
    Rc := IF(st = 67, 0, 1);
    ZTamper := IF(st = 84, 1, 0);
    ZFireLoop := IF(st = 70, 1, 0);
    ZAlarm := IF(GETAT(RECEIVEDBYTES, 6) = 65, 1, 0);
    ZFire := IF(GETAT(RECEIVEDBYTES, 7) = 70, 1, 0);
    ZSupervision := IF(GETAT(RECEIVEDBYTES, 8) = 83, 1, 0);
    ZBattery := IF(GETAT(RECEIVEDBYTES, 9) = 76, 1, 0);
END
# Warnings are rebuilt from the stored zone state on every message
IF ZAlarm = 1
    ADDWARNING(1, "Zone in alarm");
END
IF ZFire = 1
    ADDWARNING(2, "Fire alarm");
END
IF ZTamper = 1
    ADDWARNING(3, "Zone tampered");
END
IF ZFireLoop = 1
    ADDWARNING(4, "Fire loop trouble");
END
IF ZSupervision = 1
    ADDWARNING(5, "Supervision lost");
END
IF ZBattery = 1
    ADDWARNING(6, "Low battery");
END
Strefa 2 Kontakt reed Tylko do odczytu

Stan strefy centrali (zamknięta lub otwarta) z ostrzeżeniami o alarmie, alarmie pożarowym, sabotażu, usterce pętli pożarowej, utracie nadzoru i słabej baterii

boolean ascii
Zmienna: ZoneNum — Numer strefy w centrali, trzy cyfry (od 001 do 192)

Strefa 2

Odczyt
RETURN(Rc);
Nasłuchiwanie
VAR msg := TOSTRING(RECEIVEDBYTES);
# Zone status: RZ<nnn> + C, O, T, F + A F S L, each O when OK
IF INDEXOF(msg, "RZ" + ZoneNum) = 0 AND LENGTH(msg) >= 10
    VAR st := GETAT(RECEIVEDBYTES, 5);
    Rc := IF(st = 67, 0, 1);
    ZTamper := IF(st = 84, 1, 0);
    ZFireLoop := IF(st = 70, 1, 0);
    ZAlarm := IF(GETAT(RECEIVEDBYTES, 6) = 65, 1, 0);
    ZFire := IF(GETAT(RECEIVEDBYTES, 7) = 70, 1, 0);
    ZSupervision := IF(GETAT(RECEIVEDBYTES, 8) = 83, 1, 0);
    ZBattery := IF(GETAT(RECEIVEDBYTES, 9) = 76, 1, 0);
END
# Warnings are rebuilt from the stored zone state on every message
IF ZAlarm = 1
    ADDWARNING(1, "Zone in alarm");
END
IF ZFire = 1
    ADDWARNING(2, "Fire alarm");
END
IF ZTamper = 1
    ADDWARNING(3, "Zone tampered");
END
IF ZFireLoop = 1
    ADDWARNING(4, "Fire loop trouble");
END
IF ZSupervision = 1
    ADDWARNING(5, "Supervision lost");
END
IF ZBattery = 1
    ADDWARNING(6, "Low battery");
END
Strefa 3 Kontakt reed Tylko do odczytu

Stan strefy centrali (zamknięta lub otwarta) z ostrzeżeniami o alarmie, alarmie pożarowym, sabotażu, usterce pętli pożarowej, utracie nadzoru i słabej baterii

boolean ascii
Zmienna: ZoneNum — Numer strefy w centrali, trzy cyfry (od 001 do 192)

Strefa 3

Odczyt
RETURN(Rc);
Nasłuchiwanie
VAR msg := TOSTRING(RECEIVEDBYTES);
# Zone status: RZ<nnn> + C, O, T, F + A F S L, each O when OK
IF INDEXOF(msg, "RZ" + ZoneNum) = 0 AND LENGTH(msg) >= 10
    VAR st := GETAT(RECEIVEDBYTES, 5);
    Rc := IF(st = 67, 0, 1);
    ZTamper := IF(st = 84, 1, 0);
    ZFireLoop := IF(st = 70, 1, 0);
    ZAlarm := IF(GETAT(RECEIVEDBYTES, 6) = 65, 1, 0);
    ZFire := IF(GETAT(RECEIVEDBYTES, 7) = 70, 1, 0);
    ZSupervision := IF(GETAT(RECEIVEDBYTES, 8) = 83, 1, 0);
    ZBattery := IF(GETAT(RECEIVEDBYTES, 9) = 76, 1, 0);
END
# Warnings are rebuilt from the stored zone state on every message
IF ZAlarm = 1
    ADDWARNING(1, "Zone in alarm");
END
IF ZFire = 1
    ADDWARNING(2, "Fire alarm");
END
IF ZTamper = 1
    ADDWARNING(3, "Zone tampered");
END
IF ZFireLoop = 1
    ADDWARNING(4, "Fire loop trouble");
END
IF ZSupervision = 1
    ADDWARNING(5, "Supervision lost");
END
IF ZBattery = 1
    ADDWARNING(6, "Low battery");
END
Strefa 4 Kontakt reed Tylko do odczytu

Stan strefy centrali (zamknięta lub otwarta) z ostrzeżeniami o alarmie, alarmie pożarowym, sabotażu, usterce pętli pożarowej, utracie nadzoru i słabej baterii

boolean ascii
Zmienna: ZoneNum — Numer strefy w centrali, trzy cyfry (od 001 do 192)

Strefa 4

Odczyt
RETURN(Rc);
Nasłuchiwanie
VAR msg := TOSTRING(RECEIVEDBYTES);
# Zone status: RZ<nnn> + C, O, T, F + A F S L, each O when OK
IF INDEXOF(msg, "RZ" + ZoneNum) = 0 AND LENGTH(msg) >= 10
    VAR st := GETAT(RECEIVEDBYTES, 5);
    Rc := IF(st = 67, 0, 1);
    ZTamper := IF(st = 84, 1, 0);
    ZFireLoop := IF(st = 70, 1, 0);
    ZAlarm := IF(GETAT(RECEIVEDBYTES, 6) = 65, 1, 0);
    ZFire := IF(GETAT(RECEIVEDBYTES, 7) = 70, 1, 0);
    ZSupervision := IF(GETAT(RECEIVEDBYTES, 8) = 83, 1, 0);
    ZBattery := IF(GETAT(RECEIVEDBYTES, 9) = 76, 1, 0);
END
# Warnings are rebuilt from the stored zone state on every message
IF ZAlarm = 1
    ADDWARNING(1, "Zone in alarm");
END
IF ZFire = 1
    ADDWARNING(2, "Fire alarm");
END
IF ZTamper = 1
    ADDWARNING(3, "Zone tampered");
END
IF ZFireLoop = 1
    ADDWARNING(4, "Fire loop trouble");
END
IF ZSupervision = 1
    ADDWARNING(5, "Supervision lost");
END
IF ZBattery = 1
    ADDWARNING(6, "Low battery");
END
Wirtualny PGM Kontakt reed Tylko do odczytu

Stan jednego wirtualnego PGM modułu PRT3, włączanego i wyłączanego przez zaprogramowane dla niego zdarzenia centrali; tylko raportuje do TapHome

boolean ascii

Wirtualny PGM

Odczyt
RETURN(Rc);
Nasłuchiwanie
VAR msg := TOSTRING(RECEIVEDBYTES);
IF INDEXOF(msg, "PGM" + PgmNum + "ON") = 0
    Rc := 1;
END
IF INDEXOF(msg, "PGM" + PgmNum + "OFF") = 0
    Rc := 0;
END
Połączenie: Packet Parser → TCP
Możliwe ulepszenia (8)
  • Emergency, medical and fire panic — Left out on purpose: a panic command triggers a real alarm report.
  • Smoke detector reset — Left out on purpose.
  • Virtual inputs 1–16 — TapHome could open and close virtual inputs of the PRT3 to trigger actions in the panel; not in the template.
  • Zone, area and user labels — The panel returns 16-character labels; the template uses numbers only.
  • Utility keys — Utility key commands of the PRT3, not in the template.
  • System events — The PRT3 sends live events (zone open, arming, alarm); the template reads states by polling every 5 s instead.
  • Zone bypass and direct control of physical PGM outputs — The PRT3 ASCII protocol has no command for either.
  • More areas and zones — The template has one area, four zones and one virtual PGM. Import it again with other numbers for more; the converter usually accepts one TCP client, so check whether it allows a second connection.

Źródła

  • Paradox APR-PRT3 Printer Module — ASCII Protocol Programming Instructions (ASCII-EP01)

Znalazłeś problem z tym szablonem urządzenia?

Napisz nam, co nie działa, czego brakuje lub jak powinien zachowywać się szablon. Twoja opinia pomaga nam utrzymać katalog dokładnym.

Społeczność — niezweryfikowane

Chcesz tego użyć w swoim TapHome Core?

Otwórz ten szablon w portalu klienta, aby zastosować go w swoim domu, lub zaproponuj modyfikację i wyślij ją z powrotem do katalogu.

Otwórz w portalu