From 4d26ea50bdc03e4be1a791057b3f77b849b862ec Mon Sep 17 00:00:00 2001 From: Jacky Liang Date: Wed, 21 Feb 2024 01:32:35 -0500 Subject: [PATCH] Documented gateways, panels and fixed bugs ### UPDATED - Improved gateway manufacturer model naming (for NETGEAR and iControl). ### FIXED - "Unknown Device Type (Notable Events Only)" accidently parsed from the sensors table. ### ADDED - Gateway documentation for ADT Pulse Gateway iHub-3001 (HW 3.4 / Broadband). - Gateway documentation for Compact SMA Protocol Gateway (HW 2 / Broadband). - Panel documentation for LYNX/QuickConnect (3 emergency keys). - Panel documentation for GE Security Concord 4. --- package.json | 2 +- src/lib/items.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ src/lib/utility.ts | 16 +++++++++++++--- 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index b9ad421..3f1ae64 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "homebridge-adt-pulse", "displayName": "Homebridge ADT Pulse", - "version": "3.2.3", + "version": "3.2.4", "description": "Homebridge security system platform for ADT Pulse", "main": "./build/index.js", "exports": "./build/index.js", diff --git a/src/lib/items.ts b/src/lib/items.ts index e618de8..1b8d996 100644 --- a/src/lib/items.ts +++ b/src/lib/items.ts @@ -329,6 +329,19 @@ export const collectionSensorActions: CollectionSensorActions = [ * @since 1.0.0 */ export const deviceGateways: DeviceGateways = [ + { + description: 'ADT Pulse Gateway iHub-3001 / HW 3.4 / Broadband Active', + gateway: { + broadbandConnectionStatus: 'Active', + cellularConnectionStatus: 'N/A', + cellularSignalStrength: 'N/A', + firmwareVersion: '24.0.0-9', + hardwareVersion: 'HW=3.4, BL=ICONTROL_CFE 1.3, PL=24.0.0-9, SKU=0YUC0500MY5', + manufacturer: 'ADT Pulse Gateway', + model: 'iHub-3001', + primaryConnectionType: 'Broadband', + }, + }, { description: 'ADT Pulse Gateway PGZNG1 / HW 1 / Broadband Active', gateway: { @@ -381,6 +394,19 @@ export const deviceGateways: DeviceGateways = [ primaryConnectionType: 'Broadband', }, }, + { + description: 'Compact SMA Protocol Gateway / HW 2 / Broadband Active', + gateway: { + broadbandConnectionStatus: 'Active', + cellularConnectionStatus: 'N/A', + cellularSignalStrength: 'N/A', + firmwareVersion: '27.0.0-140', + hardwareVersion: 'HW=02_CSMAP, BL=NA, PL=27.0.0-140', + manufacturer: null, + model: 'Compact SMA Protocol Gateway', + primaryConnectionType: 'Broadband', + }, + }, { description: 'Compact SMA Protocol Gateway / HW 2 / Cellular Active', gateway: { @@ -455,6 +481,14 @@ export const deviceSecurityPanels: DeviceSecurityPanels = [ typeModel: 'Security Panel - LYNX/QuickConnect', }, }, + { + description: 'Ademco LYNX/ADT QuickConnect - Emergency Keys 95/96/99', + panel: { + emergencyKeys: 'Button: Fire Alarm (Zone 95) Button: Personal Emergency (Zone 96) Button: Personal Emergency (Zone 99)', + manufacturerProvider: null, + typeModel: 'Security Panel - LYNX/QuickConnect', + }, + }, { description: 'DSC Impassa SCW9057', panel: { @@ -463,6 +497,14 @@ export const deviceSecurityPanels: DeviceSecurityPanels = [ typeModel: 'Security Panel - Impassa SCW9057', }, }, + { + description: 'GE Security Concord 4', + panel: { + emergencyKeys: null, + manufacturerProvider: 'GE Security', + typeModel: 'Security Panel - Concord 4', + }, + }, ]; /** diff --git a/src/lib/utility.ts b/src/lib/utility.ts index 31c212f..d203674 100644 --- a/src/lib/utility.ts +++ b/src/lib/utility.ts @@ -552,15 +552,21 @@ export function findGatewayManufacturerModel(mode: FindGatewayManufacturerModelM let newModel = model; switch (true) { + case manufacturer === 'ADT Pulse Gateway' && model === 'iHub-3001': + newManufacturer = 'iControl'; + newModel = 'ADT Pulse Gateway iHub-3001'; + break; case manufacturer === 'ADT Pulse Gateway' && model === 'PGZNG1': - newManufacturer = 'Netgear'; + newManufacturer = 'NETGEAR'; newModel = 'ADT Pulse Gateway PGZNG1'; break; case manufacturer === null && model === 'Compact SMA Protocol Gateway': - newManufacturer = 'Icontrol Networks'; + newManufacturer = 'iControl'; + newModel = 'Compact SMA Protocol Gateway'; break; case manufacturer === null && model === 'Lynx/QuickConnect Cellular-Only Gateway': newManufacturer = 'Ademco/ADT'; + newModel = 'Lynx/QuickConnect Cellular-Only Gateway'; break; default: break; @@ -1440,7 +1446,11 @@ export function parseSensorsTable(elements: ParseOrbSensorsTableElements): Parse const cleanedZone = Number(clearWhitespace(zoneText)); // These devices are not supported because they do not display a status in the summary page. - if (['System/Supervisory', 'Unknown Device Type'].includes(cleanedDeviceType)) { + if ([ + 'System/Supervisory', + 'Unknown Device Type', + 'Unknown Device Type (Notable Events Only)', + ].includes(cleanedDeviceType)) { return; }