Skip to content
This repository was archived by the owner on Oct 15, 2026. It is now read-only.

About

Unofficial fork of homebridge-texecom-full: Texecom Connect support (use your SmartCom as it is) and fixes tested on a real Premier Elite. Offered to the maintainer.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

About this fork. A review and demonstrator fork of homebridge-texecom-full, offered to its maintainer to adopt. It isn't published to npm. It adds Texecom Connect support (use your SmartCom as it is) and fixes for the existing Crestron mode, all tested on a real Premier Elite. Details and evidence: docs/MAINTAINER-REVIEW.md.

🏡 Using Home Assistant? The same protocol work is available as a Home Assistant integration (installable through HACS, no Homebridge needed): metaljay/ha-texecom.

Homebridge Texecom

Control your Texecom Premier Elite alarm from the Apple Home app, using the SmartCom you already have.

Home app, Homebridge with this plugin, SmartCom, Texecom panel

📘 This guide is for SmartCom owners, which is most people. Using a COM port set to Crestron, a ComIP, an adapter or a serial cable instead? Jump to Already using Crestron, or connecting another way? at the bottom.

✨ What you get

  • 🛡️ An alarm in the Home app: arm Away or Night, disarm, and see when it's armed, arming or going off.
  • 🚶 A sensor for every zone: motion detectors, door and window contacts, smoke and carbon monoxide.
  • 🔔 Notifications and automations: get told when the alarm goes off, or turn the lights on when someone walks in.

Example notification Example automation

🧰 What you need

🏠 A Texecom Premier Elite panel with a SmartCom (the box the Texecom app uses)
🔢 The panel's UDL code. Texecom's default is 1234, and most panels keep it
🖥️ Homebridge, with its web page (the Homebridge UI)

⚠️ While Homebridge is connected, the Texecom app can't connect to the SmartCom. The app's alarm notifications still reach your phone, and the Home app does everything the Texecom app does day to day.

🚀 Set it up

1️⃣ Find your SmartCom's address

Open your router's list of connected devices and find the SmartCom. Note its IP address (something like 192.168.1.50), and reserve that address in the router so it never changes.

2️⃣ Install the plugin

In the Homebridge UI, go to Plugins, search for Homebridge Texecom and install it.

Trying this fork before its changes are published?

Open the Homebridge UI's Terminal and run:

npm install metaljay/homebridge-texecom

3️⃣ Fill in the settings

In Plugins, find Homebridge Texecom and open its Settings.

Connection settings

Setting What to choose
How does Homebridge reach your panel? Texecom Connect
IP address Your SmartCom's address from step 1
Port 10001
UDL code 1234, unless your installer changed it

Zones and arm modes

Setting What to choose
Zones and areas Nothing: they're read from your panel, with their names
Buttons to show in the Home app Only the ones your panel has a use for. ✅ Away and ✅ Night suit most homes
Part Arm 1 / 2 / 3 is Match them to your panel (see Know your part arms below). Defaults: Part Arm 1 = Night, Part Arm 2 = Home
Advanced → Keep the panel clock right 24, and Your time zone: e.g. Europe/London

Click Save.

🗺️ Know your part arms before you choose

Besides a full arm (Away), your panel can have up to three part arms, each arming only some zones. Your installer chose them, so they differ from home to home. For example:

Part arm Might arm Good Home app button
Part Arm 1 Downstairs only, so you can move around upstairs at night Night
Part Arm 2 Just the garage, or one entry point Home
Part Arm 3 Often not set up (none)

Before you choose your buttons, find out what each of yours covers. Ask your installer, or look at the part-arm settings in Wintex. Then:

  • tick only the buttons for part arms you actually have (on a tested panel, a part arm with nothing programmed armed every zone, like Away);
  • set Part Arm 1 / 2 / 3 is so each Home app button sets the part arm you expect.

The Home app's buttons are always called Away, Night and Home; you choose which part arm sits behind Night and Home.

4️⃣ Restart and check

Restart Homebridge. Its Logs page should show:

[Texecom] Connect: logged in and subscribed to events

followed by your panel's model and a line for each zone.

5️⃣ Finish in the Home app

The alarm and a sensor for each zone appear in the Home app by themselves, in the default room. There are no codes to scan: they're added to your Homebridge, which is already in the Home app. (Only if this is your very first Homebridge accessory: add Homebridge itself first, by scanning the QR code on the Homebridge UI's Status page.)

  • 🏷️ Move each one to the right room.
  • 🔔 Turn on notifications for the alarm (and for any sensors you care about).
  • ⚡ Add automations, for example lights on when the hallway sees movement.

That's it. 🎉

💡 Good to know

  • 🔧 Tamper and faults (Texecom Connect): the alarm shows Tampered while the panel lid or a detector is open, and Fault during a mains failure or other panel fault. The panel doesn't always report a detector's cover opening, so don't rely on Tampered alone.
  • 🚨 After the alarm goes off, the SmartCom drops the connection to send its own report (seen just after the disarm), and lets the plugin back in about 2 minutes later. The plugin reconnects and catches up by itself.
  • 🧩 Changing the arm buttons later makes the alarm reappear in the Home app as a new accessory (the Home app remembers an alarm's buttons). Set its room and notifications again.
  • 🔌 Wintex can still connect through the SmartCom while Homebridge is connected. If the plugin re-reads zones while Wintex is connected, it can be locked out until Wintex has finished.
  • 🧱 It's best to run this plugin as a child bridge, so a problem with the alarm connection can't affect your other accessories.
🛠️ Troubleshooting
What you see Try
"Connection error" or "Reconnecting" in the log Check the IP address and that the port is 10001. Close the Texecom app, and check nothing else is connected to the SmartCom
"login rejected (check the UDL code)" The UDL code is wrong. Try 1234; if that fails, ask your installer
The Home app still shows a button you unticked The Home app remembers an alarm's buttons. Restart Homebridge; the alarm reappears as a new accessory
⚙️ Editing config.json directly

Most people should use the settings page. To edit the config yourself, open JSON Config in the Homebridge UI and add this block inside the "platforms": [ … ] list, with a comma between it and the block before it. Don't add notes inside the config: Homebridge won't start if it isn't valid JSON.

{
    "platform": "Texecom",
    "protocol": "connect",
    "ip_address": "192.168.1.50",
    "ip_port": 10001,
    "udl": "1234",
    "homekit_modes": ["away", "night"],
    "time_sync_interval": 24,
    "time_zone": "Europe/London"
}
Setting What to put
ip_address Your SmartCom's address, from your router's device list
ip_port 10001
udl Your UDL code, in quotes. Texecom's default is "1234"
homekit_modes Buttons besides Off: any of "away", "night", "stay" (shown as Home)
time_sync_interval Hours between panel clock checks: 24, or 0 for off
time_zone Your time zone, e.g. "Europe/London", so the clock check sets local time (Homebridge in Docker runs on UTC)
part_arm_1 / part_arm_2 / part_arm_3 Which Home app mode each part arm is: "night", "stay", "away" or "" (not used). Defaults: "night", "stay", ""
zones, areas Leave out: they're read from the panel
debug true logs every message from the panel, for reporting problems

🔁 Already using Crestron, or connecting another way?

This plugin started out with the Crestron protocol, and it still works. It's for you if:

  • you already use this plugin with a COM port set to Crestron System (on a switched-over SmartCom, a ComIP, a serial-to-network adapter or a USB-serial cable), or
  • you want to keep the Texecom app fully working on its SmartCom, and add a second connection to the panel on a spare COM port.

How it differs from Texecom Connect:

  • The COM port must be set to Crestron System in the engineer menu. A SmartCom switched over no longer works with the Texecom app or its notifications.
  • You list your zones and areas yourself.
  • Arms from the keypad or a keyfob show as one mode you choose, because the panel doesn't say which mode it was.
  • After an arm or disarm from the Home app, the panel holds back its other updates for about 30 seconds. Nothing is lost, but sensors update late.

Set the COM port to Crestron, at the keypad: enter the engineer code → "UDL/Digi Options" → press 8 for "Com Port Setup" → scroll to the port → "No" to edit → press 8 for "Crestron System" → "Yes" to save → "Menu" to leave. For a new ComIP, set it up and check it works before switching its port.

Settings: choose Crestron, enter the address and port (10001 for a SmartCom or ComIP; for an adapter, the port set on it, often 23) or a serial port, and the UDL code. Then add your zones and area, and choose your arm buttons:

Crestron connection settings Crestron zones and areas Crestron arm modes
Setting What to choose
Zones One per zone: a name, its zone number (as on the keypad or in Wintex), what it shows as (motion, contact, smoke, CO), and a hold time (5000 for motion, 0 for contacts)
Areas Usually one: area 1 (area A on the keypad)
Night arms / Home arms The part arm each button sets; blank = Part Arm 1
Arms from the keypad or a keyfob show as Away suits most homes
Advanced → Check the panel every 60 seconds (corrects the Home app if a message was missed)

In config.json:

{
    "platform": "Texecom",
    "ip_address": "192.168.1.50",
    "ip_port": 10001,
    "udl": "1234",
    "zones": [
        { "name": "Front door", "zone_number": 1, "zone_type": "contact", "dwell": 0 },
        { "name": "Hallway", "zone_number": 2, "zone_type": "motion", "dwell": 5000 }
    ],
    "areas": [
        { "name": "House", "area_number": 1 }
    ],
    "homekit_modes": ["away", "night"],
    "night_part_arm": 1
}

Other Crestron settings: serial_device (e.g. "/dev/ttyUSB0", instead of ip_address) with baud_rate (19200); home_part_arm; default_arm_state ("away", "night" or "stay"); remote_users (keyfob user numbers, shown as Away); status_poll_interval (seconds, default 60); trigger_from_zones (leave false).

👩‍💻 Development

npm install
npm run lint
npm test

The tests run against fake panels, so no panel is needed. tools/ has the probes and test scripts used on the real panel.

🙏 Credits

Original plugin by Kieran Jones, maintained by Max Christian and Chris Posthumus. Texecom Connect support builds on texecom-connect (Apache-2.0) and texecom2mqtt (MIT); see lib/connect/NOTICE. Other projects that informed this fork are credited in the review.

About

Unofficial fork of homebridge-texecom-full: Texecom Connect support (use your SmartCom as it is) and fixes tested on a real Premier Elite. Offered to the maintainer.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages