TapHome

Paradox Digiplex EVO über PRT3 (TCP)

Packet Parser → TCP
Eingereicht von
Zuletzt aktualisiert: 11. 2026

Erfordert externes Gateway

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

Paradox Digiplex EVO über PRT3 (TCP)

Die Vorlage Paradox EVO PRT3 verbindet eine Alarmzentrale Paradox Digiplex EVO über das Modul PRT3 und das offizielle ASCII-Protokoll von Paradox mit TapHome. Das PRT3 sitzt am Combus der Zentrale und stellt das Protokoll an seiner 9-poligen seriellen Schnittstelle bereit. Ein RS-232-Ethernet-Wandler macht diese Schnittstelle im lokalen Netzwerk erreichbar, und TapHome verbindet sich über TCP mit dem Wandler — ein Computer dazwischen ist nicht nötig.

Die Vorlage zeigt den Scharfschaltzustand eines Bereichs und schaltet ihn mit einem Benutzercode scharf oder unscharf, zeigt vier Zonen mit ihren Warnungen und einen virtuellen PGM und zeigt einen Fehler, wenn das PRT3 die Verbindung zur Zentrale verliert.

Als Schnittstelle zur Hausautomation dient das PRT3 nur bei Zentralen Digiplex EVO. Für Zentralen Spectra SP und Magellan MG verwenden Sie die Community-Vorlage Paradox Alarmzentralen über PAI (MQTT).

Community-Vorlage — noch nicht mit TapHome an einer echten Zentrale getestet. Die Vorlage wurde aus der offiziellen Anleitung des ASCII-Protokolls von Paradox (ASCII-EP01) erstellt und nur mit einem simulierten PRT3 auf einem lokalen TapHome Core 2025.2 getestet, nicht mit einer echten Zentrale Digiplex EVO mit echtem PRT3 und Wandler. Prüfen Sie sie an Ihrer Installation, bevor Sie sich bei der Sicherheit auf sie verlassen; Erfahrungen aus der Praxis sind willkommen. Laden Sie das XML auf dieser Seite herunter oder holen Sie es im TapHome-Portal: Paradox EVO über PRT3 — Community-Vorlage, und importieren Sie es als neues Modul.

Sicherheit: Der Benutzercode ist in TapHome gespeichert und wird unverschlüsselt übertragen. Das PRT3 schaltet nur mit einem Benutzercode scharf und unscharf, und die Vorlage sendet diesen Code mit jedem Scharf- und Unscharfschaltbefehl. Der Code ist in der Konfiguration von TapHome gespeichert und geht unverschlüsselt über das lokale Netzwerk zwischen dem TapHome Core und dem Wandler. Legen Sie in der Zentrale für TapHome einen eigenen Benutzer an, beschränkt auf die Bereiche, die TapHome steuert, und verwenden Sie dessen Code — niemals den Mastercode.

Unterstützte Zentralen

ZentraleVoraussetzung
Digiplex EVO48, EVO96, EVO192, EVOHDPRT3 (oder BUS2SER) im Hausautomationsmodus mit dem ASCII-Protokoll
DGP-848Version 4.11 oder neuer
DGP-NE96Version 1.60 oder neuer

Zentralen Spectra SP und Magellan MG haben keine offizielle Schnittstelle zur Hausautomation — siehe Paradox Alarmzentralen über PAI (MQTT).

Hardware-Anschluss

  • PRT3 an der Zentrale: Schließen Sie die vier Klemmen des PRT3 (rot, schwarz, grün, gelb) an die Combus-Klemmen der Zentrale an.
  • Wandler am PRT3: Schließen Sie die RS-232-Seite des Wandlers an die 9-polige serielle Schnittstelle des PRT3 an — nicht an die parallele Schnittstelle und nicht an den USB-Anschluss.
  • Wandler im Netzwerk: Stellen Sie den Wandler in den Modus TCP-Server mit fester IP-Adresse und TCP-Port. TapHome verbindet sich als TCP-Client und hält die Verbindung offen.

Die seriellen Parameter sind 8N1 (8 Datenbits, keine Parität, 1 Stoppbit). Der Wandler muss genau dieselbe Baudrate wie das PRT3 verwenden — bei einer anderen Baudrate empfängt TapHome nichts.

Konfiguration

Hausautomationsmodus des PRT3

Programmieren Sie das PRT3 über ein Bedienteil der Zentrale:

  1. Halten Sie [0] gedrückt und geben Sie den Errichtercode ein.
  2. Geben Sie Sektion [4003] bei Zentralen EVO oder [953] bei Zentralen DGP-848 ein.
  3. Geben Sie die 8-stellige Seriennummer des PRT3 ein.
  4. Geben Sie Sektion [016] (Optionen der seriellen Schnittstelle) ein und stellen Sie ein:
OptionEinstellungBedeutung
[1]EINSerielle Schnittstelle aktiviert
[4]EINHausautomation (nicht Ereignismeldung)
[5] und [6]AUS und AUSASCII-Protokoll (nicht C-Bus)
[2] und [3]laut Anleitung des PRT3Baudrate: 2400, 9600, 19200 oder 57600 bit/s — dieselbe Baudrate am Wandler einstellen

Das PRT3 lässt sich auch mit der Software WinLoad (Version 2.62 oder neuer) oder über die Funktion Modul-Broadcast der Zentrale programmieren.

Virtueller PGM

Der virtuelle PGM der Vorlage ist ein virtueller PGM des PRT3, kein physischer PGM-Ausgang der Zentrale. Programmieren Sie ihn im PRT3 mit den Ereignissen der Zentrale, die ihn ein- und ausschalten (Sektionen [100] bis [399], zehn Sektionen je virtuellem PGM), damit das PRT3 seinen Zustand an TapHome sendet.

Benutzer für TapHome

Legen Sie in der Zentrale für TapHome einen eigenen Benutzer an, geben Sie ihm nur Zugriff auf die Bereiche, die TapHome scharf und unscharf schaltet, und geben Sie seinen Code (4 bis 6 Ziffern) beim Import ein. Die Vorlage sendet diesen Code mit jedem Scharf- und Unscharfschaltbefehl, deshalb darf der Parameter nicht leer bleiben.

Importparameter

ImportparameterBeschreibungStandard
IP-Adresse des WandlersIP-Adresse des RS-232-Ethernet-Wandlers im Modus TCP-Server192.168.1.100
TCP-Port des WandlersTCP-Port des Wandlers4001
BereichsnummerBereich in der Zentrale, dreistellig (001 bis 008)001
Nummern der Zonen 1–4Zonen in der Zentrale, dreistellig (001 bis 192)001 … 004
Nummer des virtuellen PGMVirtueller PGM des PRT3, zweistellig (01 bis 30)01
BenutzercodeCode des für TapHome angelegten Benutzers der Zentrale(leer)

Für weitere Bereiche oder Zonen importieren Sie die Vorlage erneut mit anderen Nummern und löschen die Geräte, die Sie nicht brauchen. Jeder Import öffnet eine eigene TCP-Verbindung; prüfen Sie daher, ob der Wandler mehr als eine annimmt.

Gerätefunktionen

Bereich

Zeigt den Zustand des Bereichs und schaltet ihn scharf oder unscharf.

ZustandWenn in TapHome gewählt
Unscharfschaltet den Bereich mit dem Benutzercode unscharf
Scharfschaltet den Bereich scharf
Scharf Forceschaltet den Bereich zwangsweise scharf (Force)
Scharf Stayschaltet den Bereich im Modus Stay scharf
Scharf Instantschaltet den Bereich im Modus Instant scharf
Alarmsendet nichts — der Zustand zeigt nur einen von der Zentrale gemeldeten Alarm

Nach jedem Befehl fragt die Vorlage den Zustand des Bereichs erneut ab. Das Gerät Bereich zeigt eine Warnung, wenn die Zentrale den letzten Scharf- oder Unscharfschaltbefehl abgelehnt hat (meist ein falscher Benutzercode), wenn der Bereich eine Störung hat und wenn ein Alarm im Speicher ist. Beim Start des TapHome Core sendet die Vorlage keinen Scharf- oder Unscharfschaltbefehl — der Bereich übernimmt seinen Zustand aus der nächsten Antwort der Zentrale.

Zonen 1–4

Jede Zone zeigt, ob sie geschlossen oder offen ist; eine sabotierte Zone und eine Zone mit Störung der Brandmeldeschleife gelten als nicht geschlossen. Warnungen erscheinen, wenn die Zone im Alarm oder im Feueralarm ist, sabotiert ist, eine Störung der Brandmeldeschleife hat, die Überwachung verloren hat oder eine schwache Batterie hat. Jede Warnung bleibt, bis die Zentrale die Zone als in Ordnung meldet.

Virtueller PGM

Zeigt den Zustand eines virtuellen PGM des PRT3. Der Zustand ändert sich nur, wenn das PRT3 eine Änderung meldet; das Protokoll hat keine Abfrage für den Zustand eines virtuellen PGM, daher hat das Gerät nach einem Start des TapHome Core bis zur nächsten Änderung keinen Wert. TapHome schaltet den virtuellen PGM nicht.

Modul

Die Vorlage fragt alle 5 Sekunden den Zustand des Bereichs und der vier Zonen ab. Das Modul zeigt einen Fehler, wenn das PRT3 meldet, dass es die Verbindung zur Zentrale verloren hat, und hebt ihn auf, wenn die Verbindung wieder steht. Ist der Wandler nicht erreichbar, zeigt TapHome den üblichen Verbindungsfehler des Moduls.

Nicht in der Vorlage

  • Panik und Rücksetzen der Rauchmelder — absichtlich weggelassen: Notfall-, Medizin- und Feuerpanik würden eine echte Alarmmeldung auslösen.
  • Überbrückung von Zonen und direkte Steuerung physischer PGM-Ausgänge — das PRT3 unterstützt sie nicht.
  • Bezeichnungen von Zonen und Bereichen — die Vorlage verwendet nur Nummern.
  • Virtuelle Eingänge und Funktionstasten des PRT3.

Fehlerbehebung

Keine Werte in TapHome

Prüfen Sie, ob der Wandler unter der IP-Adresse und dem Port aus dem Import erreichbar ist, ob Wandler und PRT3 dieselbe Baudrate verwenden und ob in Sektion [016] die Optionen [1] und [4] EIN und die Optionen [5] und [6] AUS sind.

Scharf- oder Unscharfschalten bewirkt nichts

Eine Warnung am Gerät Bereich, dass die Zentrale den Befehl abgelehnt hat, bedeutet einen falschen Benutzercode oder einen Benutzer ohne Zugriff auf den Bereich. Prüfen Sie in der Zentrale den Code des TapHome-Benutzers und seine Bereiche.

Modulfehler zur Verbindung mit der Zentrale

Das PRT3 hat die Combus-Verbindung zur Zentrale verloren. Prüfen Sie die Verdrahtung der vier Combus-Klemmen.

Eine Zone zeigt einen falschen Zustand

Prüfen Sie, ob die Zonennummer aus dem Import die Nummer der Zone in der Zentrale ist, immer dreistellig (Zone 5 ist 005).

Verfügbare Geräte

Paradox PRT3 Modul
Benutzerdefinierte Variablen
AreaNum (string)Nummer des Bereichs in der Zentrale, dreistellig (001 bis 008)
Enter the area number with three digits (area 1 = 001) as the import parameter Area number.
Zone1Num (string)Nummer der Zone 1 in der Zentrale, dreistellig (001 bis 192)
Zone2Num (string)Nummer der Zone 2 in der Zentrale, dreistellig (001 bis 192)
Zone3Num (string)Nummer der Zone 3 in der Zentrale, dreistellig (001 bis 192)
Zone4Num (string)Nummer der Zone 4 in der Zentrale, dreistellig (001 bis 192)
PgmNum (string)Nummer des im PRT3 programmierten virtuellen PGM, zweistellig (01 bis 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)Benutzercode eines eigenen, für TapHome angelegten Benutzers der Zentrale (4 bis 6 Ziffern), nicht der Mastercode; er wird mit jedem Scharf- und Unscharfschaltbefehl unverschlüsselt gesendet
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

Lesen (Modul)
# 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);
Listener
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
Bereich Mehrwertschalter

Zustand eines Bereichs der Zentrale und dessen Scharf- oder Unscharfschaltung mit dem Benutzercode; Alarm wird nur angezeigt und sendet nichts

enum ascii
Werte / Zustände: Unscharf · Scharf · Scharf Force · Scharf Stay · Scharf Instant · Alarm

Bereich

Schaltzustand lesen
RETURN(Mu);
Schaltzustand schreiben
# 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
Listener
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
Zone 1 Reed-Kontakt Nur lesen

Zustand einer Zone der Zentrale (geschlossen oder offen) mit Warnungen bei Alarm, Feueralarm, Sabotage, Störung der Brandmeldeschleife, Überwachungsverlust und schwacher Batterie

boolean ascii
Variable: ZoneNum — Nummer der Zone in der Zentrale, dreistellig (001 bis 192)

Zone 1

Lesen
RETURN(Rc);
Listener
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
Zone 2 Reed-Kontakt Nur lesen

Zustand einer Zone der Zentrale (geschlossen oder offen) mit Warnungen bei Alarm, Feueralarm, Sabotage, Störung der Brandmeldeschleife, Überwachungsverlust und schwacher Batterie

boolean ascii
Variable: ZoneNum — Nummer der Zone in der Zentrale, dreistellig (001 bis 192)

Zone 2

Lesen
RETURN(Rc);
Listener
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
Zone 3 Reed-Kontakt Nur lesen

Zustand einer Zone der Zentrale (geschlossen oder offen) mit Warnungen bei Alarm, Feueralarm, Sabotage, Störung der Brandmeldeschleife, Überwachungsverlust und schwacher Batterie

boolean ascii
Variable: ZoneNum — Nummer der Zone in der Zentrale, dreistellig (001 bis 192)

Zone 3

Lesen
RETURN(Rc);
Listener
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
Zone 4 Reed-Kontakt Nur lesen

Zustand einer Zone der Zentrale (geschlossen oder offen) mit Warnungen bei Alarm, Feueralarm, Sabotage, Störung der Brandmeldeschleife, Überwachungsverlust und schwacher Batterie

boolean ascii
Variable: ZoneNum — Nummer der Zone in der Zentrale, dreistellig (001 bis 192)

Zone 4

Lesen
RETURN(Rc);
Listener
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
Virtueller PGM Reed-Kontakt Nur lesen

Zustand eines virtuellen PGM des PRT3, der durch die dafür programmierten Ereignisse der Zentrale ein- und ausgeschaltet wird; er meldet nur an TapHome

boolean ascii

Virtueller PGM

Lesen
RETURN(Rc);
Listener
VAR msg := TOSTRING(RECEIVEDBYTES);
IF INDEXOF(msg, "PGM" + PgmNum + "ON") = 0
    Rc := 1;
END
IF INDEXOF(msg, "PGM" + PgmNum + "OFF") = 0
    Rc := 0;
END
Verbindung: Packet Parser → TCP
Mögliche Verbesserungen (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.

Quellen

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

Haben Sie ein Problem mit dieser Gerätevorlage gefunden?

Sagen Sie uns, was nicht funktioniert, was fehlt oder wie sich die Vorlage verhalten sollte. Ihr Feedback hilft uns, den Katalog genau zu halten.

Community — ungeprüft

Möchtest du das in deinem TapHome Core verwenden?

Öffne diese Vorlage im Kundenportal, um sie auf eine deiner Wohnungen anzuwenden, oder entwirf eine Anpassung und reiche sie an den Katalog ein.

Im Portal öffnen