homebridge-texecom-full 4.3.0 → 4.3.1-beta.1

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,33 @@
2
2
 
3
3
  This change log documents all release versions of homebridge-texecom
4
4
 
5
+ ### 4.3.1-beta.1 (2026-08-19)
6
+
7
+ - **FIX** - The arm/disarm command is retried once, as the login already was. Panels have been seen to ignore the first write and answer only the resend, which silently lost the command.
8
+ - **FIX** - An area and a zone carrying the same number were given the same serial number, so a panel with, say, zone 1 and area 1 published several accessories that were identical as far as HomeKit was concerned. Area serial numbers are now namespaced, zone serial numbers are unchanged. Present since 4.2.8.
9
+
10
+ ### 4.3.1-beta.0 (2026-08-18)
11
+
12
+ - **FIX** - Accessories are bridged again instead of being published as external accessories. 4.3.0 required every zone and area to be added to the Home app by hand, this restores the behaviour of 4.2.8 and earlier.
13
+ - **FIX** - Accessory UUIDs now match the scheme used up to 4.2.8, so upgrading from 4.2.8 keeps existing accessories along with their rooms, names and automations.
14
+ - **FIX** - Accessories are held in the Homebridge accessory cache and reused across restarts, and accessories removed from the config are unregistered.
15
+ - **FIX** - The first arm or disarm from a HomeKit button is no longer ignored (#26). The flag used to suppress echoes from the panel was never being cleared once alarm driven updates moved to `updateValue`.
16
+ - **FIX** - A full arm no longer changes to Night in the Home app a minute later (#25). The user numbers that decide how an arm is reported are configurable via `remote_users`, `app_users` and `default_arm_state` instead of being fixed in code, and an arm started from HomeKit now reports the state that was actually asked for.
17
+ - **FIX** - User numbers over 99 are no longer truncated when reading area messages from the panel.
18
+ - **FIX** - Areas are matched by area number rather than by their position in the config.
19
+ - **FIX** - The retry timer was never cleared once a command succeeded, so every arm or disarm sent a second UDL login to the panel two seconds later.
20
+ - **TWEAK** - `engines.homebridge` widened back to `^1.6.0 || ^2.0.0`, 4.3.0 refused to run on Homebridge 1.x.
21
+ - **TWEAK** - Removed the unused `crypto-js` dependency.
22
+
23
+ ### 4.3.0 (2026-05-23)
24
+
25
+ - **FIX** - Homebridge v2 compatibility: updated to new platform API with `didFinishLaunching` and `configureAccessory`
26
+ - **FIX** - Replaced deprecated `on('set', callback)` characteristic handler with `onSet` returning a Promise
27
+ - **FIX** - UUID collision between zones and areas sharing the same zone number
28
+ - **FIX** - All alarm-driven state updates now use `updateValue` instead of `setValue` to prevent feedback loops
29
+ - **FIX** - SerialPort v12 compatibility: `baudRate` (camelCase) and `@serialport/parser-readline` pipe parser
30
+ - **FIX** - Removed erroneous `registerAccessory` call alongside `registerPlatform`
31
+
5
32
  ### 4.2.8 (2025-7-28)
6
33
 
7
34
  - **TWEAK** - Data conversion issue (Typo)
@@ -57,7 +84,7 @@ This change log documents all release versions of homebridge-texecom
57
84
  - **FIX** - Zone matching did not work at all in previous release.
58
85
  - **FEATURE** - A dwell time is now configureable for each zone before activation is cleared.
59
86
  - **FIX** - Breaks added to zone searching for added performance.
60
-
87
+
61
88
  ### 1.0.2 (2017-01-24)
62
89
 
63
90
  - **TWEAK** - Zone matching made much more efficient for added improvement.
@@ -68,4 +95,4 @@ This change log documents all release versions of homebridge-texecom
68
95
 
69
96
  ### 1.0.0 (2017-01-21)
70
97
 
71
- - **FEATURE** - Initial release.
98
+ - **FEATURE** - Initial release.
package/README.md CHANGED
@@ -96,6 +96,18 @@ For UDL
96
96
  | --- | --- | --- |
97
97
  | `udl` | 1234 | The UDL code on the panel to be able to arm and disarm alarm |
98
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
+
99
111
  ### Per-zone Configuration
100
112
 
101
113
  This plugin is a platform plugin so you must configure each zone from your Texecom intruder alarm into your config individually.
@@ -46,6 +46,35 @@
46
46
  "maxLength": 6,
47
47
  "title": "UDL"
48
48
  },
49
+ "remote_users": {
50
+ "type": "array",
51
+ "title": "Remote / Keyfob Users",
52
+ "description": "Panel user numbers that arm using a remote or keyfob. An arm by one of these users is always shown as Away in HomeKit.",
53
+ "items": {
54
+ "type": "integer",
55
+ "title": "User Number"
56
+ }
57
+ },
58
+ "app_users": {
59
+ "type": "array",
60
+ "title": "App Users",
61
+ "description": "Panel user numbers the panel reports when an area is armed from this plugin. An arm by one of these users is shown as whatever was asked for in HomeKit.",
62
+ "items": {
63
+ "type": "integer",
64
+ "title": "User Number"
65
+ }
66
+ },
67
+ "default_arm_state": {
68
+ "type": "string",
69
+ "title": "Default Arm State",
70
+ "default": "away",
71
+ "description": "What to show in HomeKit when an area is armed by any other user, at a keypad for example. The panel does not report whether an arm was full or part, so this is a best guess.",
72
+ "enum": [
73
+ "away",
74
+ "night",
75
+ "stay"
76
+ ]
77
+ },
49
78
  "zones": {
50
79
  "type": "array",
51
80
  "title": "Zones",