homebridge-plugin-klares4 1.1.7-debug0 → 1.1.8
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 +34 -1
- package/README.md +76 -4
- package/config.schema.json +5 -5
- package/dist/accessories/cover-accessory.d.ts.map +1 -1
- package/dist/accessories/cover-accessory.js +21 -5
- package/dist/accessories/cover-accessory.js.map +1 -1
- package/dist/accessories/gate-accessory.d.ts +20 -0
- package/dist/accessories/gate-accessory.d.ts.map +1 -0
- package/dist/accessories/gate-accessory.js +70 -0
- package/dist/accessories/gate-accessory.js.map +1 -0
- package/dist/debug-capture.js +11 -11
- package/dist/debug-capture.js.map +1 -1
- package/dist/platform.d.ts +2 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +10 -3
- package/dist/platform.js.map +1 -1
- package/dist/types.d.ts +14 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/websocket-client.d.ts +2 -0
- package/dist/websocket-client.d.ts.map +1 -1
- package/dist/websocket-client.js +137 -27
- package/dist/websocket-client.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
## [1.1.
|
|
10
|
+
## [1.1.8] - 2026-03-07
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **WebSocket session leak (firmware crash)**: Replaced `ws.terminate()` with graceful `ws.close(1001, 'Heartbeat timeout')` in `forceReconnect()`. The firmware now receives the WebSocket CLOSE frame and can properly release the session. Previously, abrupt TCP disconnects left "ghost" sessions accumulating on the firmware over weeks, eventually causing firmware lockup requiring full reset.
|
|
15
|
+
- **Double reconnect scheduling**: Added `isManualClose` flag to prevent the `close` event handler from calling `scheduleReconnect()` when the disconnect was intentional (from `forceReconnect()` or `disconnect()`). This fixes the broken exponential backoff caused by double-scheduling.
|
|
16
|
+
- **PIN exposed in logs**: Applied `maskSensitiveData()` to `sendMessage()` log output. The PIN was previously logged in plain text during the login message.
|
|
17
|
+
- **Cover movement simulation race condition**: `updateStatus()` no longer overwrites `currentPosition`/`targetPosition` while a local movement simulation interval is active. This prevents conflicting updates between the local simulation and real-time firmware messages.
|
|
18
|
+
- **Cover simulation not stopped on firmware stop**: The movement simulation interval is now cancelled when the firmware signals `state: 'stopped'` (e.g., user stops cover physically via Ksenia app).
|
|
19
|
+
- **Cover NaN stepTime in setInterval**: Added guard to detect `distance === 0` or invalid `stepTime` before starting the simulation interval, preventing `setInterval(fn, NaN)` which fires immediately and continuously.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Removed all emoji characters from log messages, documentation, and UI schema
|
|
24
|
+
- Version bumped from 1.1.7-beta2 to 1.1.8 (stable release)
|
|
25
|
+
|
|
26
|
+
## [1.1.7-beta2] - 2026-01-17
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- **System Temperature Sensors**: New automatic sensors for system temperatures
|
|
31
|
+
- Internal temperature sensor (`Temperatura Interna`) from central unit
|
|
32
|
+
- External temperature sensor (`Temperatura Esterna`) from external probe (if available)
|
|
33
|
+
- Sensors are created dynamically only when temperature data is available (not "NA")
|
|
34
|
+
- Real-time updates via STATUS_SYSTEM messages
|
|
35
|
+
- Follows the same pattern as BUS_HA sensors for consistency
|
|
36
|
+
- Can be assigned to different rooms and used in HomeKit automations
|
|
37
|
+
|
|
38
|
+
### Improved
|
|
39
|
+
|
|
40
|
+
- Enhanced temperature handling with proper NA (not available) detection
|
|
41
|
+
- Type-safe implementation with updated interfaces for STATUS_SYSTEM data structure
|
|
42
|
+
|
|
43
|
+
## [1.1.7] - 2026-01-14
|
|
11
44
|
|
|
12
45
|
### Added
|
|
13
46
|
|
package/README.md
CHANGED
|
@@ -17,6 +17,7 @@ Complete plugin for Ksenia Lares4 systems integrating security zones, lights, co
|
|
|
17
17
|
- **Smart Covers**: Percentage control with configurable timing
|
|
18
18
|
- **Thermostats**: Temperature and heating/cooling mode control
|
|
19
19
|
- **Environmental Sensors**: Real-time temperature, humidity, and light levels
|
|
20
|
+
- **System Temperature Sensors**: Internal and external temperature from central unit
|
|
20
21
|
- **Real-time Updates**: WebSocket connection with automatic reconnection
|
|
21
22
|
- **UI Configuration**: Complete graphical interface in Homebridge UI
|
|
22
23
|
- **Customization**: Custom names and selective entity exclusion
|
|
@@ -232,6 +233,42 @@ Enable debug logging for detailed diagnostics:
|
|
|
232
233
|
}
|
|
233
234
|
```
|
|
234
235
|
|
|
236
|
+
### Roadmap
|
|
237
|
+
|
|
238
|
+
#### Planned for v1.2.0
|
|
239
|
+
|
|
240
|
+
The following entity types are currently not supported but are planned for the next beta release:
|
|
241
|
+
|
|
242
|
+
##### Irrigation Systems (IRR)
|
|
243
|
+
|
|
244
|
+
- **Type**: Switch (bistable)
|
|
245
|
+
- **Examples**: Drip irrigation, garden zones, lawn sprinklers
|
|
246
|
+
- **HomeKit Mapping**: Valve/Switch accessories
|
|
247
|
+
- **Status**: Planned
|
|
248
|
+
|
|
249
|
+
##### Indicators & Status LEDs (GEN, MOD:S)
|
|
250
|
+
|
|
251
|
+
- **Type**: Read-only sensors/switches
|
|
252
|
+
- **Examples**: Zone status indicators, system LEDs
|
|
253
|
+
- **HomeKit Mapping**: Contact Sensor (read-only)
|
|
254
|
+
- **Status**: Planned
|
|
255
|
+
|
|
256
|
+
##### Sirens & Alarms (GEN, MOD:AT)
|
|
257
|
+
|
|
258
|
+
- **Type**: Switch (manual control)
|
|
259
|
+
- **Examples**: External siren, internal siren
|
|
260
|
+
- **HomeKit Mapping**: Switch with security considerations
|
|
261
|
+
- **Status**: Under evaluation
|
|
262
|
+
|
|
263
|
+
##### Alarm Bridges (GEN, MOD:A)
|
|
264
|
+
|
|
265
|
+
- **Type**: Read-only sensors
|
|
266
|
+
- **Examples**: State bridges, alarm bridges
|
|
267
|
+
- **HomeKit Mapping**: Contact Sensor (read-only)
|
|
268
|
+
- **Status**: Planned
|
|
269
|
+
|
|
270
|
+
**Note**: These features will be implemented based on user feedback and testing. If you have one of these devices and would like to help with testing, please open an issue on GitHub.
|
|
271
|
+
|
|
235
272
|
### License
|
|
236
273
|
|
|
237
274
|
This project is released under the MIT license.
|
|
@@ -240,7 +277,7 @@ This project is released under the MIT license.
|
|
|
240
277
|
|
|
241
278
|
- [Homebridge](https://homebridge.io/)
|
|
242
279
|
- [Homebridge UI](https://github.com/homebridge/homebridge-config-ui-x)
|
|
243
|
-
- [Ksenia Security](https://www.
|
|
280
|
+
- [Ksenia Security](https://www.kseniasecurity.com/)
|
|
244
281
|
|
|
245
282
|
---
|
|
246
283
|
|
|
@@ -252,8 +289,7 @@ This project is released under the MIT license.
|
|
|
252
289
|
- **Controllo Luci**: Accensione/spegnimento di tutte le luci del sistema
|
|
253
290
|
- **Tapparelle Intelligenti**: Controllo percentuale con timing configurabile
|
|
254
291
|
- **Termostati**: Controllo temperatura e modalita riscaldamento/raffreddamento
|
|
255
|
-
- **Sensori Ambientali**: Temperatura, umidita e luminosita in tempo reale
|
|
256
|
-
- **Aggiornamenti Real-time**: Connessione WebSocket con riconnessione automatica
|
|
292
|
+
- **Sensori Ambientali**: Temperatura, umidita e luminosita in tempo reale- **Sensori Temperatura Sistema**: Temperatura interna ed esterna dalla centrale- **Aggiornamenti Real-time**: Connessione WebSocket con riconnessione automatica
|
|
257
293
|
- **Configurazione UI**: Interfaccia grafica completa in Homebridge UI
|
|
258
294
|
- **Personalizzazione**: Nomi personalizzati ed esclusione selettiva di entita
|
|
259
295
|
- **Bridge MQTT**: Pubblicazione stati e ricezione comandi via MQTT (opzionale)
|
|
@@ -482,11 +518,47 @@ I contributi sono benvenuti! Per contribuire:
|
|
|
482
518
|
|
|
483
519
|
Questo progetto e rilasciato sotto licenza MIT.
|
|
484
520
|
|
|
521
|
+
### Roadmap
|
|
522
|
+
|
|
523
|
+
#### Pianificato per v1.2.0
|
|
524
|
+
|
|
525
|
+
I seguenti tipi di entità non sono attualmente supportati ma sono pianificati per la prossima release beta:
|
|
526
|
+
|
|
527
|
+
##### Sistemi di Irrigazione (IRR)
|
|
528
|
+
|
|
529
|
+
- **Tipo**: Switch (bistabile)
|
|
530
|
+
- **Esempi**: Irrigazione a goccia, zone giardino, irrigatori
|
|
531
|
+
- **Mappatura HomeKit**: Accessori Valve/Switch
|
|
532
|
+
- **Stato**: Pianificato
|
|
533
|
+
|
|
534
|
+
##### Indicatori e LED di Stato (GEN, MOD:S)
|
|
535
|
+
|
|
536
|
+
- **Tipo**: Sensori/switch in sola lettura
|
|
537
|
+
- **Esempi**: Spie stato zone, LED di sistema
|
|
538
|
+
- **Mappatura HomeKit**: Sensore di contatto (sola lettura)
|
|
539
|
+
- **Stato**: Pianificato
|
|
540
|
+
|
|
541
|
+
##### Sirene e Allarmi (GEN, MOD:AT)
|
|
542
|
+
|
|
543
|
+
- **Tipo**: Switch (controllo manuale)
|
|
544
|
+
- **Esempi**: Sirena esterna, sirena interna
|
|
545
|
+
- **Mappatura HomeKit**: Switch con considerazioni di sicurezza
|
|
546
|
+
- **Stato**: In valutazione
|
|
547
|
+
|
|
548
|
+
##### Ponti Allarme (GEN, MOD:A)
|
|
549
|
+
|
|
550
|
+
- **Tipo**: Sensori in sola lettura
|
|
551
|
+
- **Esempi**: Ponti di stato, ponti allarme
|
|
552
|
+
- **Mappatura HomeKit**: Sensore di contatto (sola lettura)
|
|
553
|
+
- **Stato**: Pianificato
|
|
554
|
+
|
|
555
|
+
**Nota**: Queste funzionalità verranno implementate in base al feedback degli utenti e ai test. Se hai uno di questi dispositivi e desideri aiutare con i test, apri una issue su GitHub.
|
|
556
|
+
|
|
485
557
|
### Link Utili
|
|
486
558
|
|
|
487
559
|
- [Homebridge](https://homebridge.io/)
|
|
488
560
|
- [Homebridge UI](https://github.com/homebridge/homebridge-config-ui-x)
|
|
489
|
-
- [Ksenia Security](https://www.
|
|
561
|
+
- [Ksenia Security](https://www.kseniasecurity.com/)
|
|
490
562
|
|
|
491
563
|
---
|
|
492
564
|
|
package/config.schema.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"singular": true,
|
|
5
5
|
"customUi": false,
|
|
6
6
|
"headerDisplay": "<div class='text-center mb-3'><h3>klares4 - Ksenia Lares4 per Homebridge</h3><p class='text-muted'>Integrazione professionale per sistemi di sicurezza Ksenia Lares 4.0</p></div><div class='alert alert-info'><strong>Prima di iniziare, verifica che:</strong><ul class='mb-0 mt-2'><li>La centrale Lares4 sia raggiungibile in rete locale</li><li>L'accesso WebSocket sia abilitato sulla centrale</li><li>Tu disponga di un PIN utente</li></ul></div>",
|
|
7
|
-
"footerDisplay": "<div class='text-center mt-4 pt-3 border-top'><p class='text-muted mb-2'>Versione 1.1.
|
|
7
|
+
"footerDisplay": "<div class='text-center mt-4 pt-3 border-top'><p class='text-muted mb-2'>Versione 1.1.8 • Sviluppato da Paolo Trivisonno</p><a href='https://github.com/paolo-trivi/homebridge-plugin-klares4' target='_blank' class='btn btn-sm btn-outline-primary mr-2'>Documentazione</a> <a href='https://github.com/paolo-trivi/homebridge-plugin-klares4/issues' target='_blank' class='btn btn-sm btn-outline-secondary mr-2'>Segnala Bug</a> <a href='https://github.com/sponsors/paolo-trivi' target='_blank' class='btn btn-sm btn-outline-success'>Supporta</a></div>",
|
|
8
8
|
"schema": {
|
|
9
9
|
"type": "object",
|
|
10
10
|
"properties": {
|
|
@@ -772,13 +772,13 @@
|
|
|
772
772
|
},
|
|
773
773
|
{
|
|
774
774
|
"type": "section",
|
|
775
|
-
"title": "
|
|
775
|
+
"title": "Diagnostica & Debug",
|
|
776
776
|
"expandable": true,
|
|
777
777
|
"expanded": false,
|
|
778
778
|
"items": [
|
|
779
779
|
{
|
|
780
780
|
"type": "help",
|
|
781
|
-
"helpvalue": "<div class='alert alert-warning'><strong
|
|
781
|
+
"helpvalue": "<div class='alert alert-warning'><strong>Strumento di Diagnostica Completa</strong><p class='mb-2'>Genera un file di debug con TUTTO il necessario per diagnosticare problemi:</p><ul class='mb-2'><li><strong>Tutti i messaggi WebSocket RAW</strong> per 60 secondi</li><li><strong>Lista completa dispositivi</strong> dalla centrale Ksenia</li><li><strong>Tutti i comandi disponibili</strong> (ZONES, OUTPUTS, BUS_HAS, SCENARIOS, STATUS)</li><li><strong>Stati in tempo reale</strong> durante la cattura</li></ul><p class='mb-0 text-danger'><strong>IMPORTANTE:</strong> Durante i 60 secondi di cattura, <strong>prova tutte le entità che non funzionano usando l'app Ksenia</strong> (accendi/spegni luci, apri/chiudi tapparelle, cambia zone, ecc). Questo ci permetterà di vedere esattamente come la centrale risponde ai comandi.</p></div>"
|
|
782
782
|
},
|
|
783
783
|
{
|
|
784
784
|
"key": "generateDebugFile",
|
|
@@ -787,11 +787,11 @@
|
|
|
787
787
|
},
|
|
788
788
|
{
|
|
789
789
|
"type": "help",
|
|
790
|
-
"helpvalue": "<div class='alert alert-info'><strong
|
|
790
|
+
"helpvalue": "<div class='alert alert-info'><strong>Procedura consigliata:</strong><ol class='mb-0'><li><strong>Attiva</strong> l'opzione sopra e <strong>salva</strong> la configurazione</li><li><strong>Riavvia Homebridge</strong> (il debug inizierà automaticamente)</li><li><strong>Nei prossimi 60 secondi</strong>: apri l'app Ksenia e <strong>testa TUTTE le entità che non funzionano</strong> (luci on/off, tapparelle su/giù, scenari, zone, ecc)</li><li><strong>Attendi</strong> che la cattura finisca (vedrai conferma nei log con il percorso del file)</li><li><strong>Trova il file</strong> usando il pulsante qui sotto o nei log</li><li><strong>Condividi</strong> il file per supporto (PIN già mascherati automaticamente)</li></ol></div>"
|
|
791
791
|
},
|
|
792
792
|
{
|
|
793
793
|
"type": "help",
|
|
794
|
-
"helpvalue": "<div class='alert alert-success'><strong
|
|
794
|
+
"helpvalue": "<div class='alert alert-success'><strong>Percorso File Debug:</strong><p class='mb-2'>I file di debug vengono salvati in:</p><p class='mb-2'><code>~/.homebridge/klares4-debug-*.json</code></p><p class='mb-2'>oppure su macOS:</p><p class='mb-2'><code>/Users/[tuo-username]/.homebridge/klares4-debug-*.json</code></p><p class='mb-0'><strong>Suggerimento:</strong> Cerca il file più recente con nome <code>klares4-debug-</code> seguito dalla data/ora. Il percorso esatto viene mostrato nei log di Homebridge quando il file viene generato.</p></div>"
|
|
795
795
|
}
|
|
796
796
|
]
|
|
797
797
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cover-accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/cover-accessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AAEzD;;;GAGG;AACH,qBAAa,cAAc;IAUnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,OAAO,CAAU;IAClB,MAAM,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,YAAY,CAAC,CAAiC;gBAGjC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,iBAAiB;IAsDpC,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC5D,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIjD,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIlD,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI7D,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"cover-accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/cover-accessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AAEzD;;;GAGG;AACH,qBAAa,cAAc;IAUnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,OAAO,CAAU;IAClB,MAAM,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,YAAY,CAAC,CAAiC;gBAGjC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,iBAAiB;IAsDpC,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC5D,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIjD,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIlD,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI7D,OAAO,CAAC,gBAAgB;IA2DjB,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;CA8CpD"}
|
|
@@ -89,6 +89,12 @@ class CoverAccessory {
|
|
|
89
89
|
const stepSize = this.platform.config.coverStepSize ?? 5;
|
|
90
90
|
const totalTime = (distance / 100) * (this.maxSeconds * 1000);
|
|
91
91
|
const stepTime = totalTime / (distance / stepSize);
|
|
92
|
+
// Guard: nothing to simulate (position already reached during async moveCover, or invalid values)
|
|
93
|
+
if (distance === 0 || isNaN(stepTime) || stepTime <= 0) {
|
|
94
|
+
this.positionState = 2; // Stopped
|
|
95
|
+
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
92
98
|
let currentStep = 0;
|
|
93
99
|
const totalSteps = Math.ceil(distance / stepSize);
|
|
94
100
|
this.moveInterval = setInterval(() => {
|
|
@@ -110,11 +116,21 @@ class CoverAccessory {
|
|
|
110
116
|
}
|
|
111
117
|
updateStatus(newDevice) {
|
|
112
118
|
this.device = newDevice;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
this.
|
|
116
|
-
this.
|
|
117
|
-
this.
|
|
119
|
+
// If firmware signals the cover has stopped, cancel any running simulation
|
|
120
|
+
if (this.moveInterval && newDevice.status?.state === 'stopped') {
|
|
121
|
+
clearInterval(this.moveInterval);
|
|
122
|
+
this.moveInterval = undefined;
|
|
123
|
+
this.platform.log.debug(`${this.device.name}: Simulation cancelled by firmware stop`);
|
|
124
|
+
}
|
|
125
|
+
// Only update position/target from firmware when simulation is not active,
|
|
126
|
+
// to avoid the simulation and real firmware updates conflicting
|
|
127
|
+
if (!this.moveInterval) {
|
|
128
|
+
if (this.device.status?.position !== this.currentPosition) {
|
|
129
|
+
this.currentPosition = this.device.status?.position ?? 0;
|
|
130
|
+
this.targetPosition = this.device.status?.position ?? 0;
|
|
131
|
+
this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
|
|
132
|
+
this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
|
|
133
|
+
}
|
|
118
134
|
}
|
|
119
135
|
switch (this.device.status?.state) {
|
|
120
136
|
case 'opening':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cover-accessory.js","sourceRoot":"","sources":["../../src/accessories/cover-accessory.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,MAAa,cAAc;IASvB,YACqB,QAAwB,EACxB,SAA4B;QAD5B,aAAQ,GAAR,QAAQ,CAAgB;QACxB,cAAS,GAAT,SAAS,CAAmB;QARzC,mBAAc,GAAW,CAAC,CAAC;QAC3B,oBAAe,GAAW,CAAC,CAAC;QAC5B,kBAAa,GAAW,CAAC,CAAC,CAAC,cAAc;QAQ7C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAqB,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,QAAQ,CAAC,MAAuB,CAAC,UAAU,IAAI,EAAE,CAAC;QAE1E,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAC7C,CAAC;QACF,IAAI,oBAAoB,EAAE,CAAC;YACvB,oBAAoB;iBACf,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;iBACtE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC;iBACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC5E,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,OAAO;YACR,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpF,IAAI,CAAC,OAAO;aACP,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;aAC/D,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO;aACP,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;aAC7D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO;aACP,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aAC9D,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9C,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QACnF,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAEhF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAC5C,mBAAmB,CACtB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAC3C,kBAAkB,CACrB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,IAAI,CAAC,aAAa,CACrB,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,KAA0B;QACrD,MAAM,cAAc,GAAG,KAAe,CAAC;QAEvC,IAAI,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,IAAI,CAAC;YACD,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,UAAU;YACtC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,UAAU;YACtC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,IAAI,CAAC,aAAa,CACrB,CAAC;YAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,eAAe,cAAc,GAAG,CAAC,CAAC;YAE5E,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACnB,uBAAuB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAC1C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACzD,CAAC;YACF,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,4EAE7C,CAAC;QACN,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAClE,CAAC;IAEM,KAAK,CAAC,gBAAgB;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEO,gBAAgB,CAAC,cAAsB;QAC3C,yEAAyE;QACzE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,0CAA0C,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAQ,CAAC,MAAuB,CAAC,aAAa,IAAI,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAEnD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAElD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAS,EAAE;YACvC,WAAW,EAAE,CAAC;YAEd,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;gBACtC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,UAAU;gBAElC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAC5C,IAAI,CAAC,eAAe,CACvB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,IAAI,CAAC,aAAa,CACrB,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACnB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,2BAA2B,cAAc,GAAG,CAClE,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,YAAa,CAAC,CAAC;gBAClC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAC3B,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC,CAClE,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAC5C,IAAI,CAAC,eAAe,CACvB,CAAC;YACN,CAAC;QACL,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;IAEM,YAAY,CAAC,SAAsB;QACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cover-accessory.js","sourceRoot":"","sources":["../../src/accessories/cover-accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
|
|
2
|
+
import type { Lares4Platform } from '../platform';
|
|
3
|
+
import type { KseniaGate } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* Gate Accessory Handler
|
|
6
|
+
* Handles HomeKit Switch service for Ksenia Lares4 monostable gates (GATE/M)
|
|
7
|
+
* Gates are exposed as momentary switches that trigger on press
|
|
8
|
+
*/
|
|
9
|
+
export declare class GateAccessory {
|
|
10
|
+
private readonly platform;
|
|
11
|
+
private readonly accessory;
|
|
12
|
+
private service;
|
|
13
|
+
device: KseniaGate;
|
|
14
|
+
private autoOffTimeout?;
|
|
15
|
+
constructor(platform: Lares4Platform, accessory: PlatformAccessory);
|
|
16
|
+
setOn(value: CharacteristicValue): Promise<void>;
|
|
17
|
+
getOn(): Promise<CharacteristicValue>;
|
|
18
|
+
updateDevice(device: KseniaGate): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=gate-accessory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/gate-accessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;GAIG;AACH,qBAAa,aAAa;IAMlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN9B,OAAO,CAAC,OAAO,CAAU;IAClB,MAAM,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAGnB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,iBAAiB;IA8BpC,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqChD,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK3C,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;CAIhD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GateAccessory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Gate Accessory Handler
|
|
6
|
+
* Handles HomeKit Switch service for Ksenia Lares4 monostable gates (GATE/M)
|
|
7
|
+
* Gates are exposed as momentary switches that trigger on press
|
|
8
|
+
*/
|
|
9
|
+
class GateAccessory {
|
|
10
|
+
constructor(platform, accessory) {
|
|
11
|
+
this.platform = platform;
|
|
12
|
+
this.accessory = accessory;
|
|
13
|
+
this.device = accessory.context.device;
|
|
14
|
+
const accessoryInfoService = this.accessory.getService(this.platform.Service.AccessoryInformation);
|
|
15
|
+
if (accessoryInfoService) {
|
|
16
|
+
accessoryInfoService
|
|
17
|
+
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'Ksenia')
|
|
18
|
+
.setCharacteristic(this.platform.Characteristic.Model, 'Lares4 Gate')
|
|
19
|
+
.setCharacteristic(this.platform.Characteristic.SerialNumber, this.device.id)
|
|
20
|
+
.setCharacteristic(this.platform.Characteristic.FirmwareRevision, '2.0.0');
|
|
21
|
+
}
|
|
22
|
+
this.service =
|
|
23
|
+
this.accessory.getService(this.platform.Service.Switch) ??
|
|
24
|
+
this.accessory.addService(this.platform.Service.Switch);
|
|
25
|
+
this.service.setCharacteristic(this.platform.Characteristic.Name, this.device.name);
|
|
26
|
+
this.service
|
|
27
|
+
.getCharacteristic(this.platform.Characteristic.On)
|
|
28
|
+
.onSet(this.setOn.bind(this))
|
|
29
|
+
.onGet(this.getOn.bind(this));
|
|
30
|
+
// Initialize as OFF
|
|
31
|
+
this.service.setCharacteristic(this.platform.Characteristic.On, false);
|
|
32
|
+
}
|
|
33
|
+
async setOn(value) {
|
|
34
|
+
const on = value;
|
|
35
|
+
if (!on) {
|
|
36
|
+
// User turned OFF manually, just acknowledge
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
// Clear any existing timeout
|
|
41
|
+
if (this.autoOffTimeout) {
|
|
42
|
+
clearTimeout(this.autoOffTimeout);
|
|
43
|
+
}
|
|
44
|
+
// Send momentary ON command to gate
|
|
45
|
+
await this.platform.wsClient?.toggleGate(this.device.id);
|
|
46
|
+
this.platform.log.info(`${this.device.name}: Gate activated`);
|
|
47
|
+
// Auto-off after 500ms to simulate momentary press
|
|
48
|
+
this.autoOffTimeout = setTimeout(() => {
|
|
49
|
+
this.service.updateCharacteristic(this.platform.Characteristic.On, false);
|
|
50
|
+
this.platform.log.debug(`${this.device.name}: Auto-off triggered`);
|
|
51
|
+
}, 500);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
this.platform.log.error(`Gate control error ${this.device.name}:`, error instanceof Error ? error.message : String(error));
|
|
55
|
+
// Reset to OFF on error
|
|
56
|
+
this.service.updateCharacteristic(this.platform.Characteristic.On, false);
|
|
57
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async getOn() {
|
|
61
|
+
// Gates are always "off" in terms of state (momentary switch)
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
updateDevice(device) {
|
|
65
|
+
this.device = device;
|
|
66
|
+
this.accessory.context.device = device;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.GateAccessory = GateAccessory;
|
|
70
|
+
//# sourceMappingURL=gate-accessory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-accessory.js","sourceRoot":"","sources":["../../src/accessories/gate-accessory.ts"],"names":[],"mappings":"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"}
|
package/dist/debug-capture.js
CHANGED
|
@@ -59,15 +59,15 @@ class DebugCaptureManager {
|
|
|
59
59
|
}
|
|
60
60
|
this.log.warn('');
|
|
61
61
|
this.log.warn('═══════════════════════════════════════════════════════════');
|
|
62
|
-
this.log.warn('
|
|
62
|
+
this.log.warn('[DEBUG] DEBUG CAPTURE STARTED - 60 SECONDS');
|
|
63
63
|
this.log.warn('═══════════════════════════════════════════════════════════');
|
|
64
|
-
this.log.warn('
|
|
64
|
+
this.log.warn('[ACTION] NOW: Open Ksenia app and TEST ALL NON-WORKING ENTITIES!');
|
|
65
65
|
this.log.warn(' - Turn lights ON/OFF');
|
|
66
66
|
this.log.warn(' - Open/Close covers');
|
|
67
67
|
this.log.warn(' - Activate scenarios');
|
|
68
68
|
this.log.warn(' - Change zones');
|
|
69
69
|
this.log.warn(' - Adjust thermostats');
|
|
70
|
-
this.log.warn('
|
|
70
|
+
this.log.warn('[TIMER] You have 60 seconds...');
|
|
71
71
|
this.log.warn('═══════════════════════════════════════════════════════════');
|
|
72
72
|
this.log.warn('');
|
|
73
73
|
this.isCapturing = true;
|
|
@@ -129,7 +129,7 @@ class DebugCaptureManager {
|
|
|
129
129
|
}
|
|
130
130
|
return originalSend(data, ...args);
|
|
131
131
|
};
|
|
132
|
-
this.log.info('
|
|
132
|
+
this.log.info('[OK] WebSocket hooks installed - capturing ALL traffic');
|
|
133
133
|
}
|
|
134
134
|
catch (error) {
|
|
135
135
|
this.log.error('Failed to hook WebSocket:', error instanceof Error ? error.message : String(error));
|
|
@@ -174,7 +174,7 @@ class DebugCaptureManager {
|
|
|
174
174
|
}
|
|
175
175
|
this.log.warn('');
|
|
176
176
|
this.log.warn('═══════════════════════════════════════════════════════════');
|
|
177
|
-
this.log.warn('
|
|
177
|
+
this.log.warn('[DONE] DEBUG CAPTURE COMPLETED');
|
|
178
178
|
this.log.warn('═══════════════════════════════════════════════════════════');
|
|
179
179
|
this.isCapturing = false;
|
|
180
180
|
if (this.captureTimer) {
|
|
@@ -199,7 +199,7 @@ class DebugCaptureManager {
|
|
|
199
199
|
const commandsSeen = this.extractCommands();
|
|
200
200
|
const debugData = {
|
|
201
201
|
generated: new Date().toISOString(),
|
|
202
|
-
version: '1.1.
|
|
202
|
+
version: '1.1.8',
|
|
203
203
|
captureInfo: {
|
|
204
204
|
duration: '60 seconds',
|
|
205
205
|
totalRawMessages: this.rawMessages.length,
|
|
@@ -237,19 +237,19 @@ class DebugCaptureManager {
|
|
|
237
237
|
},
|
|
238
238
|
};
|
|
239
239
|
fs.writeFileSync(filepath, JSON.stringify(debugData, null, 2));
|
|
240
|
-
this.log.warn('
|
|
241
|
-
this.log.warn('
|
|
242
|
-
this.log.warn('
|
|
240
|
+
this.log.warn('[OK] COMPREHENSIVE DEBUG FILE GENERATED!');
|
|
241
|
+
this.log.warn('[FILE] Location: ' + filepath);
|
|
242
|
+
this.log.warn('[INFO] Contains:');
|
|
243
243
|
this.log.warn(` - ${debugData.rawMessages.length} raw WebSocket messages`);
|
|
244
244
|
this.log.warn(` - ${debugData.deviceSnapshots.length} device snapshots`);
|
|
245
245
|
this.log.warn(` - ${debugData.statistics.devices} total devices`);
|
|
246
246
|
this.log.warn('');
|
|
247
|
-
this.log.warn('
|
|
247
|
+
this.log.warn('[SHARE] Share this file for support - PINs are already masked!');
|
|
248
248
|
this.log.warn('═══════════════════════════════════════════════════════════');
|
|
249
249
|
this.log.warn('');
|
|
250
250
|
}
|
|
251
251
|
catch (error) {
|
|
252
|
-
this.log.error('
|
|
252
|
+
this.log.error('Error generating debug file:', error instanceof Error ? error.message : String(error));
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
analyzeMessages() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-capture.js","sourceRoot":"","sources":["../src/debug-capture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAe7B;;;GAGG;AACH,MAAa,mBAAmB;IAO5B,YACqB,GAAW,EACX,WAAmB;QADnB,QAAG,GAAH,GAAG,CAAQ;QACX,gBAAW,GAAX,WAAW,CAAQ;QARhC,gBAAW,GAAiB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QAC7B,gBAAW,GAAG,KAAK,CAAC;QAEpB,oBAAe,GAAU,EAAE,CAAC;IAKjC,CAAC;IAEJ;;OAEG;IACI,YAAY,CACf,QAA+B,EAC/B,UAAU,GAAG,KAAK;QAElB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"debug-capture.js","sourceRoot":"","sources":["../src/debug-capture.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { KseniaDevice, MqttConfig, RoomMappingConfig } from './types';
|
|
|
4
4
|
import { MqttBridge } from './mqtt-bridge';
|
|
5
5
|
import { LightAccessory } from './accessories/light-accessory';
|
|
6
6
|
import { CoverAccessory } from './accessories/cover-accessory';
|
|
7
|
+
import { GateAccessory } from './accessories/gate-accessory';
|
|
7
8
|
import { SensorAccessory } from './accessories/sensor-accessory';
|
|
8
9
|
import { ZoneAccessory } from './accessories/zone-accessory';
|
|
9
10
|
import { ThermostatAccessory } from './accessories/thermostat-accessory';
|
|
@@ -11,7 +12,7 @@ import { ScenarioAccessory } from './accessories/scenario-accessory';
|
|
|
11
12
|
/**
|
|
12
13
|
* Union type for all accessory handlers
|
|
13
14
|
*/
|
|
14
|
-
export type AccessoryHandler = LightAccessory | CoverAccessory | SensorAccessory | ZoneAccessory | ThermostatAccessory | ScenarioAccessory;
|
|
15
|
+
export type AccessoryHandler = LightAccessory | CoverAccessory | GateAccessory | SensorAccessory | ZoneAccessory | ThermostatAccessory | ScenarioAccessory;
|
|
15
16
|
/**
|
|
16
17
|
* Platform configuration interface
|
|
17
18
|
*/
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,GAAG,EACH,cAAc,EACd,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACV,MAAM,YAAY,CAAC;AAOpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACR,YAAY,
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.js
CHANGED
|
@@ -43,6 +43,7 @@ const mqtt_bridge_1 = require("./mqtt-bridge");
|
|
|
43
43
|
const debug_capture_1 = require("./debug-capture");
|
|
44
44
|
const light_accessory_1 = require("./accessories/light-accessory");
|
|
45
45
|
const cover_accessory_1 = require("./accessories/cover-accessory");
|
|
46
|
+
const gate_accessory_1 = require("./accessories/gate-accessory");
|
|
46
47
|
const sensor_accessory_1 = require("./accessories/sensor-accessory");
|
|
47
48
|
const zone_accessory_1 = require("./accessories/zone-accessory");
|
|
48
49
|
const thermostat_accessory_1 = require("./accessories/thermostat-accessory");
|
|
@@ -110,7 +111,7 @@ class Lares4Platform {
|
|
|
110
111
|
}
|
|
111
112
|
// Check if debug file generation was requested
|
|
112
113
|
if (this.config.generateDebugFile) {
|
|
113
|
-
this.log.warn('
|
|
114
|
+
this.log.warn('[DEBUG] Debug capture requested - starting 60-second capture...');
|
|
114
115
|
const debugCapture = new debug_capture_1.DebugCaptureManager(this.log, this.api.user.storagePath());
|
|
115
116
|
debugCapture.startCapture(this.wsClient, 60000);
|
|
116
117
|
// Disable the flag after starting capture
|
|
@@ -161,6 +162,7 @@ class Lares4Platform {
|
|
|
161
162
|
}
|
|
162
163
|
else if (device.type === 'light' ||
|
|
163
164
|
device.type === 'cover' ||
|
|
165
|
+
device.type === 'gate' ||
|
|
164
166
|
device.type === 'thermostat') {
|
|
165
167
|
devicesList.outputs.push(deviceInfo);
|
|
166
168
|
}
|
|
@@ -347,6 +349,7 @@ class Lares4Platform {
|
|
|
347
349
|
}
|
|
348
350
|
if ((device.type === 'light' ||
|
|
349
351
|
device.type === 'cover' ||
|
|
352
|
+
device.type === 'gate' ||
|
|
350
353
|
device.type === 'thermostat') &&
|
|
351
354
|
this.config.excludeOutputs?.includes(id)) {
|
|
352
355
|
this.log.info(`Output excluded: ${device.name} (ID: ${id})`);
|
|
@@ -367,7 +370,7 @@ class Lares4Platform {
|
|
|
367
370
|
if (device.type === 'zone') {
|
|
368
371
|
return this.config.customNames?.zones?.[id];
|
|
369
372
|
}
|
|
370
|
-
if (device.type === 'light' || device.type === 'cover' || device.type === 'thermostat') {
|
|
373
|
+
if (device.type === 'light' || device.type === 'cover' || device.type === 'gate' || device.type === 'thermostat') {
|
|
371
374
|
return this.config.customNames?.outputs?.[id];
|
|
372
375
|
}
|
|
373
376
|
if (device.type === 'sensor') {
|
|
@@ -458,6 +461,10 @@ class Lares4Platform {
|
|
|
458
461
|
handler = new cover_accessory_1.CoverAccessory(this, accessory);
|
|
459
462
|
this.log.debug(`Created handler for cover: ${device.name}`);
|
|
460
463
|
break;
|
|
464
|
+
case 'gate':
|
|
465
|
+
handler = new gate_accessory_1.GateAccessory(this, accessory);
|
|
466
|
+
this.log.debug(`Created handler for gate: ${device.name}`);
|
|
467
|
+
break;
|
|
461
468
|
case 'sensor':
|
|
462
469
|
handler = new sensor_accessory_1.SensorAccessory(this, accessory);
|
|
463
470
|
this.log.debug(`Created handler for sensor: ${device.name}`);
|
|
@@ -498,7 +505,7 @@ class Lares4Platform {
|
|
|
498
505
|
if (platformConfig && platformConfig.generateDebugFile) {
|
|
499
506
|
platformConfig.generateDebugFile = false;
|
|
500
507
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 4));
|
|
501
|
-
this.log.info('
|
|
508
|
+
this.log.info('Debug flag disabled in config.json');
|
|
502
509
|
}
|
|
503
510
|
}
|
|
504
511
|
catch (error) {
|