@homebridge-plugins/homebridge-resideo 2.1.7-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.
Files changed (87) hide show
  1. package/.github/FUNDING.yml +4 -0
  2. package/.github/ISSUE_TEMPLATE/bug-report.yml +97 -0
  3. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  4. package/.github/ISSUE_TEMPLATE/feature-request.yml +38 -0
  5. package/.github/ISSUE_TEMPLATE/support-request.yml +85 -0
  6. package/.github/ISSUE_TEMPLATE.md +52 -0
  7. package/.github/PULL_REQUEST_TEMPLATE/pull_request.md +27 -0
  8. package/.github/auto-merge.yml +3 -0
  9. package/.github/dependabot.yml +17 -0
  10. package/.github/labeler.yml +38 -0
  11. package/.github/npm-version-script-esm.js +85 -0
  12. package/.github/release-drafter.yml +33 -0
  13. package/.github/workflows/beta-release.yml +55 -0
  14. package/.github/workflows/build.yml +18 -0
  15. package/.github/workflows/changerelease.yml +11 -0
  16. package/.github/workflows/labeler.yml +9 -0
  17. package/.github/workflows/release-drafter.yml +14 -0
  18. package/.github/workflows/release.yml +35 -0
  19. package/.github/workflows/stale.yml +12 -0
  20. package/CHANGELOG.md +161 -0
  21. package/LICENSE +14 -0
  22. package/README.md +67 -0
  23. package/SECURITY.md +19 -0
  24. package/branding/Homebridge_x_Resideo.svg +28 -0
  25. package/branding/honeywell/Homebridge_x_Honeywell.svg +1 -0
  26. package/branding/honeywell/homebridge-honeywell-home-changelog.md +851 -0
  27. package/branding/icon.png +0 -0
  28. package/config.schema.json +611 -0
  29. package/dist/devices/device.d.ts +41 -0
  30. package/dist/devices/device.d.ts.map +1 -0
  31. package/dist/devices/device.js +279 -0
  32. package/dist/devices/device.js.map +1 -0
  33. package/dist/devices/leaksensors.d.ts +34 -0
  34. package/dist/devices/leaksensors.d.ts.map +1 -0
  35. package/dist/devices/leaksensors.js +300 -0
  36. package/dist/devices/leaksensors.js.map +1 -0
  37. package/dist/devices/roomsensors.d.ts +38 -0
  38. package/dist/devices/roomsensors.d.ts.map +1 -0
  39. package/dist/devices/roomsensors.js +274 -0
  40. package/dist/devices/roomsensors.js.map +1 -0
  41. package/dist/devices/roomsensorthermostats.d.ts +57 -0
  42. package/dist/devices/roomsensorthermostats.d.ts.map +1 -0
  43. package/dist/devices/roomsensorthermostats.js +700 -0
  44. package/dist/devices/roomsensorthermostats.js.map +1 -0
  45. package/dist/devices/thermostats.d.ts +73 -0
  46. package/dist/devices/thermostats.d.ts.map +1 -0
  47. package/dist/devices/thermostats.js +930 -0
  48. package/dist/devices/thermostats.js.map +1 -0
  49. package/dist/devices/valve.d.ts +21 -0
  50. package/dist/devices/valve.d.ts.map +1 -0
  51. package/dist/devices/valve.js +151 -0
  52. package/dist/devices/valve.js.map +1 -0
  53. package/dist/homebridge-ui/public/index.html +423 -0
  54. package/dist/homebridge-ui/server.d.ts +2 -0
  55. package/dist/homebridge-ui/server.d.ts.map +1 -0
  56. package/dist/homebridge-ui/server.js +131 -0
  57. package/dist/homebridge-ui/server.js.map +1 -0
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +7 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/platform.d.ts +94 -0
  63. package/dist/platform.d.ts.map +1 -0
  64. package/dist/platform.js +890 -0
  65. package/dist/platform.js.map +1 -0
  66. package/dist/settings.d.ts +409 -0
  67. package/dist/settings.d.ts.map +1 -0
  68. package/dist/settings.js +25 -0
  69. package/dist/settings.js.map +1 -0
  70. package/dist/utils.d.ts +21 -0
  71. package/dist/utils.d.ts.map +1 -0
  72. package/dist/utils.js +58 -0
  73. package/dist/utils.js.map +1 -0
  74. package/docs/.nojekyll +1 -0
  75. package/docs/assets/highlight.css +22 -0
  76. package/docs/assets/icons.js +18 -0
  77. package/docs/assets/icons.svg +1 -0
  78. package/docs/assets/main.js +60 -0
  79. package/docs/assets/navigation.js +1 -0
  80. package/docs/assets/search.js +1 -0
  81. package/docs/assets/style.css +1493 -0
  82. package/docs/functions/default.html +1 -0
  83. package/docs/index.html +73 -0
  84. package/docs/modules.html +2 -0
  85. package/eslint.config.js +50 -0
  86. package/package.json +102 -0
  87. package/typedoc.json +22 -0
@@ -0,0 +1,94 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ import type { API, DynamicPlatformPlugin, HAP, Logging, PlatformAccessory } from 'homebridge';
3
+ import type { accessoryAttribute, devicesConfig, location, locations, options, resideoDevice, ResideoPlatformConfig, sensorAccessory, T9groups } from './settings.js';
4
+ export declare class ResideoPlatform implements DynamicPlatformPlugin {
5
+ accessories: PlatformAccessory[];
6
+ readonly api: API;
7
+ readonly log: Logging;
8
+ protected readonly hap: HAP;
9
+ config: ResideoPlatformConfig;
10
+ sensorData: never[];
11
+ refreshInterval: any;
12
+ locations?: locations;
13
+ sensorAccessory: sensorAccessory;
14
+ firmware: accessoryAttribute['softwareRevision'];
15
+ platformConfig: ResideoPlatformConfig;
16
+ platformLogging: options['logging'];
17
+ platformRefreshRate: options['refreshRate'];
18
+ platformPushRate: options['pushRate'];
19
+ platformUpdateRate: options['updateRate'];
20
+ debugMode: boolean;
21
+ version: string;
22
+ action: string;
23
+ axios: AxiosInstance;
24
+ constructor(log: Logging, config: ResideoPlatformConfig, api: API);
25
+ configureAccessory(accessory: PlatformAccessory): void;
26
+ verifyConfig(): void;
27
+ refreshAccessToken(): Promise<void>;
28
+ getAccessToken(): Promise<void>;
29
+ updateRefreshToken(newRefreshToken: string): Promise<void>;
30
+ discoverlocations(): Promise<location[]>;
31
+ getCurrentSensorData(location: location, device: resideoDevice & devicesConfig, group: T9groups): Promise<any>;
32
+ private normalizeSensorDate;
33
+ getSoftwareRevision(location: location, device: resideoDevice & devicesConfig): Promise<any>;
34
+ private discoverDevices;
35
+ private mergeByDeviceID;
36
+ private deviceClass;
37
+ private discoverRoomSensors;
38
+ private roomsensordisplaymethod;
39
+ private createThermostat;
40
+ private createLeak;
41
+ private createValve;
42
+ private createRoomSensors;
43
+ private createRoomSensorThermostat;
44
+ registerDevice(device: resideoDevice & devicesConfig): Promise<boolean>;
45
+ private leaksensorFirmwareNewAccessory;
46
+ private leaksensorFirmwareExistingAccessory;
47
+ private valveFirmwareNewAccessory;
48
+ private valveFirmwareExistingAccessory;
49
+ private roomsensorFirmwareNewAccessory;
50
+ private roomsensorFirmwareExistingAccessory;
51
+ thermostatFirmwareNewAccessory(device: resideoDevice & devicesConfig, accessory: PlatformAccessory, location: any): Promise<void>;
52
+ thermostatFirmwareExistingAccessory(device: resideoDevice & devicesConfig, existingAccessory: PlatformAccessory, location: any): Promise<void>;
53
+ externalOrPlatform(device: resideoDevice & devicesConfig, accessory: PlatformAccessory): Promise<void>;
54
+ externalAccessory(accessory: PlatformAccessory): Promise<void>;
55
+ unregisterPlatformAccessories(existingAccessory: PlatformAccessory): void;
56
+ apiError(e: any): void;
57
+ statusCode(statusCode: number, action: string): Promise<void>;
58
+ getPlatformConfigSettings(): Promise<void>;
59
+ getPlatformRateSettings(): Promise<void>;
60
+ getPlatformLogSettings(): Promise<void>;
61
+ /**
62
+ * Asynchronously retrieves the version of the plugin from the package.json file.
63
+ *
64
+ * This method reads the package.json file located in the parent directory,
65
+ * parses its content to extract the version, and logs the version using the debug logger.
66
+ * The extracted version is then assigned to the `version` property of the class.
67
+ *
68
+ * @returns {Promise<void>} A promise that resolves when the version has been retrieved and logged.
69
+ */
70
+ getVersion(): Promise<void>;
71
+ /**
72
+ * Validate and clean a string value for a Name Characteristic.
73
+ * @param displayName - The display name of the accessory.
74
+ * @param name - The name of the characteristic.
75
+ * @param value - The value to be validated and cleaned.
76
+ * @returns The cleaned string value.
77
+ */
78
+ validateAndCleanDisplayName(displayName: string, name: string, value: string): Promise<string>;
79
+ /**
80
+ * If device level logging is turned on, log to log.warn
81
+ * Otherwise send debug logs to log.debug
82
+ */
83
+ infoLog(...log: any[]): Promise<void>;
84
+ successLog(...log: any[]): Promise<void>;
85
+ debugSuccessLog(...log: any[]): Promise<void>;
86
+ warnLog(...log: any[]): Promise<void>;
87
+ debugWarnLog(...log: any[]): Promise<void>;
88
+ errorLog(...log: any[]): Promise<void>;
89
+ debugErrorLog(...log: any[]): Promise<void>;
90
+ debugLog(...log: any[]): Promise<void>;
91
+ loggingIsDebug(): Promise<boolean>;
92
+ enablingPlatformLogging(): Promise<boolean>;
93
+ }
94
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}