homebridge-texecom-full 4.4.0 → 4.4.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  This change log documents all release versions of homebridge-texecom
4
4
 
5
+ ### 4.4.1-beta.0 (2026-10-22)
6
+
7
+ - **FIX** - Panel messages were lost over IP when more than one arrived together. Each read from the network was taken as a single message, so anything after the first was dropped, and a lost keypad disarm left HomeKit thinking the area was armed and raising false alarms. The network connection is now split into lines, as the serial connection already was.
8
+ - **FIX** - Walking in through the entry route of an armed area raised an alarm in HomeKit. Zones going active during the panel's entry delay are now left to the panel, which reports a real alarm itself.
9
+ - **FIX** - Areas showed as Disarmed after every Homebridge restart until the panel next reported them. The last known state is now kept in the accessory cache and restored. Not available with `external_accessories`.
10
+ - **FIX** - Commands sent at the same time, such as a scene arming two areas, or an arm during a panel clock check, could be interleaved, with each taking the other's OK. They now go one at a time.
11
+ - **FIX** - The panel clock sync set the panel an hour out when Homebridge runs on UTC, as it does in Docker unless `TZ` is set. The new `time_zone` setting gives the panel's time zone. Without it, a machine on UTC leaves a whole-hours difference alone with a warning.
12
+ - **FIX** - Errors were only logged with debug turned on. Logging now goes through the Homebridge logger, and debug output shows as normal lines when the plugin's debug option is on.
13
+ - **FIX** - An area without `area_type` was published as a motion sensor. Areas are always security systems now.
14
+ - **FIX** - A zone that went clear, active and clear again within its dwell time could be cleared while active, because the earlier dwell timer was left running.
15
+ - **FIX** - A serial adapter missing at start-up, or unplugged later, was never opened again. It is retried every 10 seconds, as the IP connection already was.
16
+ - **FIX** - The UDL is saved as text, so a UDL starting with 0 keeps it. Existing configs with a number still work.
17
+ - **FIX** - A message the plugin cannot handle is logged instead of being able to stop Homebridge.
18
+ - **TWEAK** - TCP keep-alive on the IP connection, so a connection dropped without notice is found, and the connection is closed when Homebridge shuts down.
19
+ - **TWEAK** - A failed arm or disarm shows as No Response in the Home app.
20
+ - **TWEAK** - The clock sync interval is a number box in the settings page instead of a slider with no visible value.
21
+ - **TWEAK** - Manufacturer shows as Texecom, and the settings page no longer calls the plugin official.
22
+ - **TWEAK** - Removed the `string` (which carries a security advisory with no fix), `zpad`, `debug` and `@serialport/parser-readline` dependencies.
23
+
5
24
  ### 4.4.0 (2026-10-07)
6
25
 
7
26
  Rolls up the 4.3.1 and 4.4.0 betas below. Coming from 4.2.8, existing accessories carry over with their rooms, names and automations. Coming from 4.3.0, turn on `external_accessories` to keep the accessories that release published outside the bridge, see 4.3.1-beta.3.
package/README.md CHANGED
@@ -1,229 +1,232 @@
1
- [![npm version](https://badgen.net/npm/v/homebridge-texecom-full/latest)](https://www.npmjs.com/package/homebridge-texecom-full)
2
- [![npm beta version](https://badgen.net/npm/v/homebridge-texecom-full/beta)](https://www.npmjs.com/package/homebridge-texecom-full)
3
- [![npm downloads](https://badgen.net/npm/dt/homebridge-texecom-full)](https://www.npmjs.com/package/homebridge-texecom-full)
4
- [![GitHub last commit](https://badgen.net/github/last-commit/K1LL3R234/homebridge-texecom)](https://github.com/K1LL3R234/homebridge-texecom)
5
- [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
6
- # homebridge-texecom-full
7
-
8
- A plugin for [Homebridge](https://github.com/nfarina/homebridge) that creates HomeKit motion, contact, smoke, or carbon monoxide sensors for alarm zones from a Texecom Premier intruder alarm via a serial connection or COM-IP module.
9
-
10
- You can receive notifications, which can be set to work only when you're away from home:
11
-
12
- ![example of notifications](https://github.com/K1LL3R234/homebridge-texecom/blob/master/images/example-notifications.jpg?raw=true)
13
-
14
- Another great use is to use the alarm's motion sensors to switch lights on automatically:
15
-
16
- ![example of automation](https://github.com/K1LL3R234/homebridge-texecom/blob/master/images/example-automation.jpg?raw=true)
17
-
18
- You can also set automations to happen when you arm the alarm and when the alarm goes off.
19
-
20
- **IMPORTANT** - To use this plugin you will require a Texecom alarm system and a PC-COM, COM-IP or USB-COM serial interface. If using the PC-COM or USB-COM, you must also have nothing already utilising COM1 on the alarm panel, or be able to move existing modules connected to COM1 to a different COM port on the alarm panel. The support for IP is new and is intended for use with the COM-IP -- we don't know if it works with the SmartCom, so let us know if you get it working.
21
-
22
- ## Configuration
23
-
24
- Texecom zones must be configured individually in the Homebridge config.json file with the appropriate zone number from Texecom. Configuring areas is optional, but is required if you want to see if the alarm if set or have automations or notifications when the alarm is armed, disarmed or triggered. You probably have many zones and only one area.
25
-
26
- Example:
27
-
28
- ```json
29
- "platforms": [
30
- {
31
- "platform": "Texecom",
32
- "serial_device": "/dev/ttyUSB0",
33
- "baud_rate": 19200,
34
- "udl":1234,
35
- "zones": [
36
- {
37
- "name": "Living Room",
38
- "zone_number": "7",
39
- "zone_type": "motion",
40
- "dwell": 1000
41
- },
42
- {
43
- "name": "Front Door",
44
- "zone_number": "15",
45
- "zone_type": "contact",
46
- "dwell": 1000
47
- },
48
- {
49
- "name": "Back Yard",
50
- "zone_number": "19",
51
- "zone_type": "motion",
52
- "dwell": 1000
53
- }
54
- ],
55
- "areas": [
56
- {
57
- "name": "Inside",
58
- "area_number": "1",
59
- "area_type": "securitysystem",
60
- "dwell": 0,
61
- "zones":[7,15]
62
- },
63
- {
64
- "name": "Outside",
65
- "area_number": "2",
66
- "area_type": "securitysystem",
67
- "dwell": 0,
68
- "zones":[19]
69
- }
70
- ]
71
- }
72
- ]
73
- ```
74
-
75
-
76
- ### Global Configuration
77
-
78
- For serial connections:
79
-
80
- | Key | Default | Description |
81
- | --- | --- | --- |
82
- | `serial_device` | N/A | The serial device on which to connect to Texecom |
83
- | `baud_rate` | N/A | The baud rate configured in Texecom (Usually 19200) |
84
- | `zones` | N/A | The individual configuration for each zone in Texecom |
85
-
86
- For IP connections:
87
-
88
- | Key | Default | Description |
89
- | --- | --- | --- |
90
- | `ip_address` | N/A | The IP address of the COM-IP Texecom module |
91
- | `ip_port` | 10001 | The TCP port of the COM-IP Texecom module |
92
-
93
- For UDL
94
-
95
- | Key | Default | Description |
96
- | --- | --- | --- |
97
- | `udl` | 1234 | The UDL code on the panel to be able to arm and disarm alarm |
98
-
99
- For arm state reporting
100
-
101
- When an area is armed the panel reports the area and the user number, but not whether it was a full arm or a part arm. These settings say how to read that.
102
-
103
- | Key | Default | Description |
104
- | --- | --- | --- |
105
- | `remote_users` | `[]` | User numbers that arm using a remote or keyfob, e.g. `[17]`. An arm by one of these users is always reported to HomeKit as Away. |
106
- | `app_users` | `[]` | User numbers the panel reports when an area is armed from this plugin, e.g. `[25, 254]`. |
107
- | `default_arm_state` | `"away"` | What to report for an arm by any other user, at a keypad for example. One of `away`, `night` or `stay`. |
108
-
109
- When the arm was started from HomeKit the plugin already knows what was asked for and reports that, whatever the user number. These settings only come into play for an arm that started somewhere else.
110
-
111
- ### Panel Clock
112
-
113
- The panel keeps its own clock, and nothing corrects it once it drifts apart from an engineer at the keypad. This checks it against the clock on the machine running Homebridge and sets it when the two have come apart.
114
-
115
- | Key | Default | Description |
116
- | --- | --- | --- |
117
- | `time_sync_interval` | 0 | How often to check the panel clock, in hours. `1` checks every hour, `24` once a day, `744` once every 31 days, and anything in between works. `0` turns it off and leaves the panel clock alone. |
118
-
119
- ```json
120
- "time_sync_interval": 24
121
- ```
122
-
123
- It is off unless you set it. A UDL is needed, the same one arming uses, because the panel asks to be logged into before it will give up its clock or take a new time.
124
-
125
- The panel is checked shortly after Homebridge connects to it as well as on the interval, so a panel that lost its clock in a power cut is put right without waiting for the next check. A difference of a minute is left alone: the panel only counts whole minutes, so a check landing either side of a minute boundary can look a minute out when it is really in step. Anything beyond that is set. The panel carries a two digit year, so it is read as being in this century.
126
-
127
- Once a day is plenty for a panel that keeps reasonable time. Checking every hour is there for a panel that drifts badly, and costs two short commands each time.
128
-
129
- ### Upgrading from 4.3.0
130
-
131
- **Only relevant if you ran 4.3.0.** Skip this if you came from 4.2.8 or earlier, or are installing fresh.
132
-
133
- 4.3.0 published every zone and area as a standalone accessory that had to be added to the Home app by hand. From 4.3.1 they are bridged again, which is how it worked up to 4.2.8 and means they appear on their own.
134
-
135
- The catch is that HomeKit treats a standalone accessory and a bridged one as different accessories, so any scene, button or automation built on the ones 4.3.0 published stops working when they move back onto the bridge. Nothing the plugin does can carry that across.
136
-
137
- If you set all that up under 4.3.0 and would rather keep it:
138
-
139
- ```json
140
- "external_accessories": true
141
- ```
142
-
143
- That republishes them exactly as 4.3.0 did, with the same identities, so everything keeps working untouched. The trade-off is that they stay outside the bridge, so a zone added later still has to be paired by hand.
144
-
145
- Leaving it off, or leaving it out entirely, gives bridged accessories.
146
- ### Combined Areas
147
-
148
- A combined area is a single accessory that arms or disarms several areas at once. The panel addresses areas as a bitmask, so all of them are armed with one command rather than several in a row.
149
-
150
- ```json
151
- "area_groups": [
152
- {
153
- "name": "Everything",
154
- "areas": [1, 2, 3, 4, 5],
155
- "dwell": 0
156
- },
157
- {
158
- "name": "House and Garage",
159
- "areas": [1, 2],
160
- "dwell": 0
161
- }
162
- ]
163
- ```
164
-
165
- | Key | Default | Description |
166
- | --- | --- | --- |
167
- | `name` | N/A | The name of the combined area as it will appear in HomeKit |
168
- | `areas` | N/A | The area numbers to arm and disarm together. The panel supports areas 1 to 8 |
169
- | `dwell` | 0 | The amount of time in ms before a cleared state is applied |
170
-
171
- The areas can also still be listed under `areas` and keep their own accessories, and an area may belong to more than one combined area.
172
-
173
- A combined area shows as armed only once every one of its areas is armed, so it never reports the house as set while part of it is still open. Until they are all armed HomeKit shows it arming. An alarm in any one of its areas shows through immediately.
174
-
175
- ### Per-zone Configuration
176
-
177
- This plugin is a platform plugin so you must configure each zone from your Texecom intruder alarm into your config individually.
178
-
179
- | Key | Default | Description |
180
- | --- | --- | --- |
181
- | `name` | N/A | The name of the area as it will appear in HomeKit, e.g. 'Texecom Alarm'. |
182
- | `zone_number` | N/A | The zone number from Texecom |
183
- | `zone_type` | `"motion"` | The type of zone; motion, contact, smoke, or carbonmonoxide |
184
- | `dwell` | 0 | The amount of time in ms that a zone stays active after zone activation is cleared by Texecom |
185
-
186
- ### Per-area Configuration
187
-
188
- | Key | Default | Description |
189
- | --- | --- | --- |
190
- | `name` | N/A | The name of the sensor as it will appear in HomeKit. |
191
- | `area_number` | N/A | The area number from Texecom, usually 1. |
192
- | `area_type` | `"securitysystem"` | The type of area; only securitysystem is supported. |
193
- | `dwell` | 0 | |
194
- | `zones` | N/A | Add all the zone numbers to the area to be able to trigger alarm and the corresponding area |
195
-
196
- ## Configuring Texecom
197
-
198
- Ensure your intruder alarm is fully configured and operational, connect a USB-Com or PC-Com cable to COM1 on the panel PCB and then connect to the computer running Homebridge.
199
-
200
- To configure your COM1 port for the Crestron protocol:
201
-
202
- 1. Enter your engineer code
203
- 2. Scroll until you find "UDL/Digi Options"
204
- 3. Press 8 to jump to "Com Port Setup"
205
- 4. Scroll to "Com Port 1"
206
- 5. Press "No" to edit the port
207
- 6. Press 8 to jump to "Crestron System"
208
- 7. Press "Yes" to confirm and save.
209
- 8. Scroll until you find UDL.
210
- 9. Press "Yes" to go into it.
211
- 10. Press "No" to edit and change it to disired UDL code.
212
- 11. Press "Yes" to confirm and save.
213
-
214
- Press "Menu" repeatedly to exit the engineer menu.
215
-
216
- **Make sure you program your UDL code in the panel too.**
217
-
218
- If connecting to a COM-IP, set up the COM-IP as usual and ensure it is working. Then change the configuration for the port the COM-IP is connected to to Crestron as detailed above. This allows the panel to configure the IP address into the module, then changing to Crestron will allow the panel to input/output the correct commands.
219
-
220
- ## Future features
221
-
222
- Alarm systems are complicated and have a lot of features, not all them are suitable for integrating to HomeKit but many of them can be integrated.
223
-
224
- * **Panic buttons** - Investigate the possibility of integrating the medical, panic, and fire buttons into HomeKit as buttons/switches to manually trigger those alerts.
225
-
226
-
227
- ## Config Schema
228
-
1
+ [![npm version](https://badgen.net/npm/v/homebridge-texecom-full/latest)](https://www.npmjs.com/package/homebridge-texecom-full)
2
+ [![npm beta version](https://badgen.net/npm/v/homebridge-texecom-full/beta)](https://www.npmjs.com/package/homebridge-texecom-full)
3
+ [![npm downloads](https://badgen.net/npm/dt/homebridge-texecom-full)](https://www.npmjs.com/package/homebridge-texecom-full)
4
+ [![GitHub last commit](https://badgen.net/github/last-commit/K1LL3R234/homebridge-texecom)](https://github.com/K1LL3R234/homebridge-texecom)
5
+ [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
6
+ # homebridge-texecom-full
7
+
8
+ A plugin for [Homebridge](https://github.com/nfarina/homebridge) that creates HomeKit motion, contact, smoke, or carbon monoxide sensors for alarm zones from a Texecom Premier intruder alarm via a serial connection or COM-IP module.
9
+
10
+ You can receive notifications, which can be set to work only when you're away from home:
11
+
12
+ ![example of notifications](https://github.com/K1LL3R234/homebridge-texecom/blob/master/images/example-notifications.jpg?raw=true)
13
+
14
+ Another great use is to use the alarm's motion sensors to switch lights on automatically:
15
+
16
+ ![example of automation](https://github.com/K1LL3R234/homebridge-texecom/blob/master/images/example-automation.jpg?raw=true)
17
+
18
+ You can also set automations to happen when you arm the alarm and when the alarm goes off.
19
+
20
+ **IMPORTANT** - To use this plugin you will require a Texecom alarm system and a PC-COM, COM-IP or USB-COM serial interface. If using the PC-COM or USB-COM, you must also have nothing already utilising COM1 on the alarm panel, or be able to move existing modules connected to COM1 to a different COM port on the alarm panel. The support for IP is new and is intended for use with the COM-IP -- we don't know if it works with the SmartCom, so let us know if you get it working.
21
+
22
+ ## Configuration
23
+
24
+ Texecom zones must be configured individually in the Homebridge config.json file with the appropriate zone number from Texecom. Configuring areas is optional, but is required if you want to see if the alarm if set or have automations or notifications when the alarm is armed, disarmed or triggered. You probably have many zones and only one area.
25
+
26
+ Example:
27
+
28
+ ```json
29
+ "platforms": [
30
+ {
31
+ "platform": "Texecom",
32
+ "serial_device": "/dev/ttyUSB0",
33
+ "baud_rate": 19200,
34
+ "udl": "1234",
35
+ "zones": [
36
+ {
37
+ "name": "Living Room",
38
+ "zone_number": "7",
39
+ "zone_type": "motion",
40
+ "dwell": 1000
41
+ },
42
+ {
43
+ "name": "Front Door",
44
+ "zone_number": "15",
45
+ "zone_type": "contact",
46
+ "dwell": 1000
47
+ },
48
+ {
49
+ "name": "Back Yard",
50
+ "zone_number": "19",
51
+ "zone_type": "motion",
52
+ "dwell": 1000
53
+ }
54
+ ],
55
+ "areas": [
56
+ {
57
+ "name": "Inside",
58
+ "area_number": "1",
59
+ "area_type": "securitysystem",
60
+ "dwell": 0,
61
+ "zones":[7,15]
62
+ },
63
+ {
64
+ "name": "Outside",
65
+ "area_number": "2",
66
+ "area_type": "securitysystem",
67
+ "dwell": 0,
68
+ "zones":[19]
69
+ }
70
+ ]
71
+ }
72
+ ]
73
+ ```
74
+
75
+
76
+ ### Global Configuration
77
+
78
+ For serial connections:
79
+
80
+ | Key | Default | Description |
81
+ | --- | --- | --- |
82
+ | `serial_device` | N/A | The serial device on which to connect to Texecom |
83
+ | `baud_rate` | N/A | The baud rate configured in Texecom (Usually 19200) |
84
+ | `zones` | N/A | The individual configuration for each zone in Texecom |
85
+
86
+ For IP connections:
87
+
88
+ | Key | Default | Description |
89
+ | --- | --- | --- |
90
+ | `ip_address` | N/A | The IP address of the COM-IP Texecom module |
91
+ | `ip_port` | 10001 | The TCP port of the COM-IP Texecom module |
92
+
93
+ For UDL
94
+
95
+ | Key | Default | Description |
96
+ | --- | --- | --- |
97
+ | `udl` | N/A | The UDL code on the panel to be able to arm and disarm alarm, e.g. `"1234"`. Give it in quotes if it starts with a 0. |
98
+
99
+ For arm state reporting
100
+
101
+ When an area is armed the panel reports the area and the user number, but not whether it was a full arm or a part arm. These settings say how to read that.
102
+
103
+ | Key | Default | Description |
104
+ | --- | --- | --- |
105
+ | `remote_users` | `[]` | User numbers that arm using a remote or keyfob, e.g. `[17]`. An arm by one of these users is always reported to HomeKit as Away. |
106
+ | `app_users` | `[]` | User numbers the panel reports when an area is armed from this plugin, e.g. `[25, 254]`. |
107
+ | `default_arm_state` | `"away"` | What to report for an arm by any other user, at a keypad for example. One of `away`, `night` or `stay`. |
108
+
109
+ When the arm was started from HomeKit the plugin already knows what was asked for and reports that, whatever the user number. These settings only come into play for an arm that started somewhere else.
110
+
111
+ ### Panel Clock
112
+
113
+ The panel keeps its own clock, and nothing corrects it once it drifts apart from an engineer at the keypad. This checks it against the clock on the machine running Homebridge and sets it when the two have come apart.
114
+
115
+ | Key | Default | Description |
116
+ | --- | --- | --- |
117
+ | `time_sync_interval` | 0 | How often to check the panel clock, in hours. `1` checks every hour, `24` once a day, `744` once every 31 days, and anything in between works. `0` turns it off and leaves the panel clock alone. |
118
+ | `time_zone` | This machine's | The time zone the panel keeps its clock in, e.g. `Europe/London`. Only needed when the machine running Homebridge is not set to the panel's time zone, which is usual in Docker. |
119
+
120
+ ```json
121
+ "time_sync_interval": 24
122
+ ```
123
+
124
+ It is off unless you set it. A UDL is needed, the same one arming uses, because the panel asks to be logged into before it will give up its clock or take a new time.
125
+
126
+ The panel is checked shortly after Homebridge connects to it as well as on the interval, so a panel that lost its clock in a power cut is put right without waiting for the next check. A difference of a minute is left alone: the panel only counts whole minutes, so a check landing either side of a minute boundary can look a minute out when it is really in step. Anything beyond that is set. The panel carries a two digit year, so it is read as being in this century.
127
+
128
+ Homebridge in Docker runs on UTC unless `TZ` is set, while the panel keeps local time. Set `time_zone` in that case. Without it, a panel that looks a whole number of hours out from a machine on UTC is left alone with a warning, rather than being set an hour wrong every summer.
129
+
130
+ Once a day is plenty for a panel that keeps reasonable time. Checking every hour is there for a panel that drifts badly, and costs two short commands each time.
131
+
132
+ ### Upgrading from 4.3.0
133
+
134
+ **Only relevant if you ran 4.3.0.** Skip this if you came from 4.2.8 or earlier, or are installing fresh.
135
+
136
+ 4.3.0 published every zone and area as a standalone accessory that had to be added to the Home app by hand. From 4.3.1 they are bridged again, which is how it worked up to 4.2.8 and means they appear on their own.
137
+
138
+ The catch is that HomeKit treats a standalone accessory and a bridged one as different accessories, so any scene, button or automation built on the ones 4.3.0 published stops working when they move back onto the bridge. Nothing the plugin does can carry that across.
139
+
140
+ If you set all that up under 4.3.0 and would rather keep it:
141
+
142
+ ```json
143
+ "external_accessories": true
144
+ ```
145
+
146
+ That republishes them exactly as 4.3.0 did, with the same identities, so everything keeps working untouched. The trade-off is that they stay outside the bridge, so a zone added later still has to be paired by hand.
147
+
148
+ Leaving it off, or leaving it out entirely, gives bridged accessories.
149
+ ### Combined Areas
150
+
151
+ A combined area is a single accessory that arms or disarms several areas at once. The panel addresses areas as a bitmask, so all of them are armed with one command rather than several in a row.
152
+
153
+ ```json
154
+ "area_groups": [
155
+ {
156
+ "name": "Everything",
157
+ "areas": [1, 2, 3, 4, 5],
158
+ "dwell": 0
159
+ },
160
+ {
161
+ "name": "House and Garage",
162
+ "areas": [1, 2],
163
+ "dwell": 0
164
+ }
165
+ ]
166
+ ```
167
+
168
+ | Key | Default | Description |
169
+ | --- | --- | --- |
170
+ | `name` | N/A | The name of the combined area as it will appear in HomeKit |
171
+ | `areas` | N/A | The area numbers to arm and disarm together. The panel supports areas 1 to 8 |
172
+ | `dwell` | 0 | The amount of time in ms before a cleared state is applied |
173
+
174
+ The areas can also still be listed under `areas` and keep their own accessories, and an area may belong to more than one combined area.
175
+
176
+ A combined area shows as armed only once every one of its areas is armed, so it never reports the house as set while part of it is still open. Until they are all armed HomeKit shows it arming. An alarm in any one of its areas shows through immediately.
177
+
178
+ ### Per-zone Configuration
179
+
180
+ This plugin is a platform plugin so you must configure each zone from your Texecom intruder alarm into your config individually.
181
+
182
+ | Key | Default | Description |
183
+ | --- | --- | --- |
184
+ | `name` | N/A | The name of the area as it will appear in HomeKit, e.g. 'Texecom Alarm'. |
185
+ | `zone_number` | N/A | The zone number from Texecom |
186
+ | `zone_type` | `"motion"` | The type of zone; motion, contact, smoke, or carbonmonoxide |
187
+ | `dwell` | 0 | The amount of time in ms that a zone stays active after zone activation is cleared by Texecom |
188
+
189
+ ### Per-area Configuration
190
+
191
+ | Key | Default | Description |
192
+ | --- | --- | --- |
193
+ | `name` | N/A | The name of the sensor as it will appear in HomeKit. |
194
+ | `area_number` | N/A | The area number from Texecom, usually 1. |
195
+ | `area_type` | `"securitysystem"` | The type of area; only securitysystem is supported, and an area is always one. |
196
+ | `dwell` | 0 | |
197
+ | `zones` | N/A | Add all the zone numbers to the area to be able to trigger alarm and the corresponding area |
198
+
199
+ ## Configuring Texecom
200
+
201
+ Ensure your intruder alarm is fully configured and operational, connect a USB-Com or PC-Com cable to COM1 on the panel PCB and then connect to the computer running Homebridge.
202
+
203
+ To configure your COM1 port for the Crestron protocol:
204
+
205
+ 1. Enter your engineer code
206
+ 2. Scroll until you find "UDL/Digi Options"
207
+ 3. Press 8 to jump to "Com Port Setup"
208
+ 4. Scroll to "Com Port 1"
209
+ 5. Press "No" to edit the port
210
+ 6. Press 8 to jump to "Crestron System"
211
+ 7. Press "Yes" to confirm and save.
212
+ 8. Scroll until you find UDL.
213
+ 9. Press "Yes" to go into it.
214
+ 10. Press "No" to edit and change it to disired UDL code.
215
+ 11. Press "Yes" to confirm and save.
216
+
217
+ Press "Menu" repeatedly to exit the engineer menu.
218
+
219
+ **Make sure you program your UDL code in the panel too.**
220
+
221
+ If connecting to a COM-IP, set up the COM-IP as usual and ensure it is working. Then change the configuration for the port the COM-IP is connected to to Crestron as detailed above. This allows the panel to configure the IP address into the module, then changing to Crestron will allow the panel to input/output the correct commands.
222
+
223
+ ## Future features
224
+
225
+ Alarm systems are complicated and have a lot of features, not all them are suitable for integrating to HomeKit but many of them can be integrated.
226
+
227
+ * **Panic buttons** - Investigate the possibility of integrating the medical, panic, and fire buttons into HomeKit as buttons/switches to manually trigger those alerts.
228
+
229
+
230
+ ## Config Schema
231
+
229
232
  If someone can make the config.schema.json interface pretty and improve on it it will be appreciated.