homebridge-carrier-infinity 1.8.0 → 1.9.0-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/.devcontainer/.uix-hb-service-homebridge-startup.json.example +5 -0
- package/.devcontainer/README.md +211 -0
- package/.devcontainer/config.json.example +28 -0
- package/.devcontainer/devcontainer.json +55 -0
- package/.devcontainer/setup-homebridge.sh +51 -0
- package/.devcontainer/start-homebridge.sh +29 -0
- package/.devcontainer/stop-homebridge.sh +7 -0
- package/CLAUDE.md +186 -0
- package/dist/accessory_base.d.ts +2 -2
- package/dist/accessory_base.d.ts.map +1 -1
- package/dist/accessory_base.js.map +1 -1
- package/dist/api/graphql_client.d.ts +71 -0
- package/dist/api/graphql_client.d.ts.map +1 -0
- package/dist/api/graphql_client.js +261 -0
- package/dist/api/graphql_client.js.map +1 -0
- package/dist/api/graphql_operations.d.ts +56 -0
- package/dist/api/graphql_operations.d.ts.map +1 -0
- package/dist/api/graphql_operations.js +325 -0
- package/dist/api/graphql_operations.js.map +1 -0
- package/dist/api/interface_graphql_mutations.d.ts +149 -0
- package/dist/api/interface_graphql_mutations.d.ts.map +1 -0
- package/dist/api/interface_graphql_mutations.js +8 -0
- package/dist/api/interface_graphql_mutations.js.map +1 -0
- package/dist/api/interface_graphql_system.d.ts +287 -0
- package/dist/api/interface_graphql_system.d.ts.map +1 -0
- package/dist/api/interface_graphql_system.js +9 -0
- package/dist/api/interface_graphql_system.js.map +1 -0
- package/dist/api/models_graphql.d.ts +167 -0
- package/dist/api/models_graphql.d.ts.map +1 -0
- package/dist/api/models_graphql.js +590 -0
- package/dist/api/models_graphql.js.map +1 -0
- package/dist/api/oauth2.d.ts +45 -0
- package/dist/api/oauth2.d.ts.map +1 -0
- package/dist/api/oauth2.js +35 -0
- package/dist/api/oauth2.js.map +1 -0
- package/dist/characteristics_base.d.ts +2 -2
- package/dist/characteristics_base.d.ts.map +1 -1
- package/dist/characteristics_base.js.map +1 -1
- package/dist/platform.d.ts +4 -4
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +7 -12
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +6 -3
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +7 -4
- package/dist/settings.js.map +1 -1
- package/eslint.config.mjs +172 -0
- package/package.json +24 -26
- package/dist/api/interface_config.d.ts +0 -185
- package/dist/api/interface_config.d.ts.map +0 -1
- package/dist/api/interface_config.js +0 -5
- package/dist/api/interface_config.js.map +0 -1
- package/dist/api/interface_locations.d.ts +0 -45
- package/dist/api/interface_locations.d.ts.map +0 -1
- package/dist/api/interface_locations.js +0 -5
- package/dist/api/interface_locations.js.map +0 -1
- package/dist/api/interface_profile.d.ts +0 -80
- package/dist/api/interface_profile.d.ts.map +0 -1
- package/dist/api/interface_profile.js +0 -5
- package/dist/api/interface_profile.js.map +0 -1
- package/dist/api/interface_status.d.ts +0 -90
- package/dist/api/interface_status.d.ts.map +0 -1
- package/dist/api/interface_status.js +0 -5
- package/dist/api/interface_status.js.map +0 -1
- package/dist/api/models.d.ts +0 -111
- package/dist/api/models.d.ts.map +0 -1
- package/dist/api/models.js +0 -572
- package/dist/api/models.js.map +0 -1
- package/dist/api/oauth.d.ts +0 -6
- package/dist/api/oauth.d.ts.map +0 -1
- package/dist/api/oauth.js +0 -49
- package/dist/api/oauth.js.map +0 -1
- package/dist/api/rest_client.d.ts +0 -15
- package/dist/api/rest_client.d.ts.map +0 -1
- package/dist/api/rest_client.js +0 -120
- package/dist/api/rest_client.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* OAuth 2.0 Authentication Helpers for Carrier Infinity GraphQL API
|
|
4
|
+
*
|
|
5
|
+
* This replaces the old OAuth 1.0 HMAC signature-based authentication
|
|
6
|
+
* with simple OAuth 2.0 Bearer token authentication via Okta.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.OAuth2Headers = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* OAuth2Headers - Simple Bearer token injection for authenticated requests
|
|
12
|
+
*
|
|
13
|
+
* This is much simpler than the old OAuth 1.0 implementation which required
|
|
14
|
+
* HMAC-SHA1 signatures, nonces, timestamps, and complex header generation.
|
|
15
|
+
*/
|
|
16
|
+
class OAuth2Headers {
|
|
17
|
+
/**
|
|
18
|
+
* Inject Bearer token into Axios request config
|
|
19
|
+
*
|
|
20
|
+
* @param config - Axios request configuration
|
|
21
|
+
* @param access_token - OAuth 2.0 access token
|
|
22
|
+
* @param token_type - OAuth 2.0 token type (usually "Bearer")
|
|
23
|
+
* @returns Modified request config with Authorization header
|
|
24
|
+
*/
|
|
25
|
+
static intercept(config, access_token, token_type = 'Bearer') {
|
|
26
|
+
if (!config.headers) {
|
|
27
|
+
config.headers = {};
|
|
28
|
+
}
|
|
29
|
+
// Set Authorization header with Bearer token
|
|
30
|
+
config.headers['Authorization'] = `${token_type} ${access_token}`;
|
|
31
|
+
return config;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.OAuth2Headers = OAuth2Headers;
|
|
35
|
+
//# sourceMappingURL=oauth2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../src/api/oauth2.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA0BH;;;;;GAKG;AACH,MAAa,aAAa;IACxB;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CACd,MAAkC,EAClC,YAAoB,EACpB,aAAqB,QAAQ;QAE7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG,EAAS,CAAC;QAC7B,CAAC;QAED,6CAA6C;QAC7C,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;QAElE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvBD,sCAuBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SystemModelGraphQL } from './api/models_graphql';
|
|
2
2
|
import { Service, Characteristic, Logger } from 'homebridge';
|
|
3
3
|
import { CharacteristicValue, UnknownContext, WithUUID } from 'homebridge';
|
|
4
4
|
import { CarrierInfinityHomebridgePlatform } from './platform';
|
|
@@ -7,7 +7,7 @@ declare class Wrapper {
|
|
|
7
7
|
protected readonly context: UnknownContext;
|
|
8
8
|
readonly Service: typeof Service;
|
|
9
9
|
readonly Characteristic: typeof Characteristic;
|
|
10
|
-
protected readonly system:
|
|
10
|
+
protected readonly system: SystemModelGraphQL;
|
|
11
11
|
protected readonly log: Logger;
|
|
12
12
|
constructor(platform: CarrierInfinityHomebridgePlatform, context: UnknownContext);
|
|
13
13
|
wrap(service: Service): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"characteristics_base.d.ts","sourceRoot":"","sources":["../src/characteristics_base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"characteristics_base.d.ts","sourceRoot":"","sources":["../src/characteristics_base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAO/D,cAAM,OAAO;aAOO,QAAQ,EAAE,iCAAiC;IAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc;IAP5C,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAiC;IACxE,SAAgB,cAAc,EAAE,OAAO,cAAc,CAAwC;IAC7F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAoD;IACjG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAwD;gBAGpE,QAAQ,EAAE,iCAAiC,EACxC,OAAO,EAAE,cAAc;IAI5C,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAG7B;AAED,8BAAsB,YAAa,SAAQ,OAAO;IAChD,SAAS,CAAC,QAAQ,EAAE,OAAO,OAAO,EAAE,CAAM;IAE1C,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAQ7B;AAED,8BAAsB,qBAAsB,SAAQ,OAAO;IACzD,SAAgB,KAAK,EAAE,QAAQ,CAAC,UAAU,cAAc,CAAC,CAAC;IAC1D,SAAS,CAAC,KAAK,KAAM;IACrB,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAE3E,SAAS,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAE3D,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAiC7B;AAED,8BAAsB,+BAAgC,SAAQ,qBAAqB;IAG3E,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAS9B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;CAqBrC;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IAC/C,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAQ7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"characteristics_base.js","sourceRoot":"","sources":["../src/characteristics_base.ts"],"names":[],"mappings":";;;AAAA,+CAAyD;AAMzD,qDAAgD;AAEhD;;EAEE;AAEF,MAAM,OAAO;IAMX,YACkB,QAA2C,EACxC,OAAuB;QAD1B,aAAQ,GAAR,QAAQ,CAAmC;QACxC,YAAO,GAAP,OAAO,CAAgB;QAP5B,YAAO,GAAmB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QACxD,mBAAc,GAA0B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAC1E,WAAM,
|
|
1
|
+
{"version":3,"file":"characteristics_base.js","sourceRoot":"","sources":["../src/characteristics_base.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
|
|
2
|
-
import {
|
|
2
|
+
import { SystemModelGraphQL } from './api/models_graphql';
|
|
3
3
|
import { BaseAccessory } from './accessory_base';
|
|
4
|
-
import {
|
|
4
|
+
import { InfinityGraphQLClient } from './api/graphql_client';
|
|
5
5
|
export declare class CarrierInfinityHomebridgePlatform implements DynamicPlatformPlugin {
|
|
6
6
|
readonly log: Logger;
|
|
7
7
|
readonly config: PlatformConfig;
|
|
@@ -10,8 +10,8 @@ export declare class CarrierInfinityHomebridgePlatform implements DynamicPlatfor
|
|
|
10
10
|
readonly Characteristic: typeof Characteristic;
|
|
11
11
|
readonly restored_accessories: Record<string, PlatformAccessory>;
|
|
12
12
|
readonly accessories: Record<string, BaseAccessory>;
|
|
13
|
-
infinity_client:
|
|
14
|
-
systems: Record<string,
|
|
13
|
+
infinity_client: InfinityGraphQLClient;
|
|
14
|
+
systems: Record<string, SystemModelGraphQL>;
|
|
15
15
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
16
16
|
configureAccessory(accessory: PlatformAccessory): void;
|
|
17
17
|
discoverSystems(): Promise<void>;
|
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,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5H,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5H,OAAO,EAEL,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAa,iCAAkC,YAAW,qBAAqB;aAc3D,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAf1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAM;IAE7E,SAAgB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAM;IAGzD,eAAe,EAAE,qBAAqB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;gBAGtC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAmB1B,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAIhD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAyEvC"}
|
package/dist/platform.js
CHANGED
|
@@ -4,10 +4,10 @@ exports.CarrierInfinityHomebridgePlatform = void 0;
|
|
|
4
4
|
const settings_1 = require("./settings");
|
|
5
5
|
const accessory_thermostat_1 = require("./accessory_thermostat");
|
|
6
6
|
const accessory_oat_1 = require("./accessory_oat");
|
|
7
|
-
const
|
|
7
|
+
const models_graphql_1 = require("./api/models_graphql");
|
|
8
8
|
const accessory_envsensor_1 = require("./accessory_envsensor");
|
|
9
9
|
const accessory_comfort_activity_1 = require("./accessory_comfort_activity");
|
|
10
|
-
const
|
|
10
|
+
const graphql_client_1 = require("./api/graphql_client");
|
|
11
11
|
class CarrierInfinityHomebridgePlatform {
|
|
12
12
|
constructor(log, config, api) {
|
|
13
13
|
this.log = log;
|
|
@@ -23,20 +23,15 @@ class CarrierInfinityHomebridgePlatform {
|
|
|
23
23
|
if (!config.username || !config.password) {
|
|
24
24
|
this.log.error('Username and password do not appear to be set in config. This is not going to work.');
|
|
25
25
|
}
|
|
26
|
-
this.infinity_client = new
|
|
26
|
+
this.infinity_client = new graphql_client_1.InfinityGraphQLClient(config['username'], config['password'], this.log);
|
|
27
27
|
this.infinity_client.refreshToken().then(); // Speed up init by starting login right away
|
|
28
28
|
this.api.on('didFinishLaunching', () => {
|
|
29
29
|
this.discoverSystems().then().catch(error => {
|
|
30
30
|
this.log.error('Could not discover devices: ' + error.message);
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
// know how to push changes to HK yet.
|
|
36
|
-
// TODO: try to move this into the api class when we have event based
|
|
37
|
-
setInterval(() => {
|
|
38
|
-
this.infinity_client.activate();
|
|
39
|
-
}, 30 * 60 * 1000); // every 30 min
|
|
33
|
+
// Note: GraphQL API does not require periodic activate() calls
|
|
34
|
+
// Data is kept fresh via periodic fetch() calls in SystemModel
|
|
40
35
|
}
|
|
41
36
|
configureAccessory(accessory) {
|
|
42
37
|
this.restored_accessories[accessory.UUID] = accessory;
|
|
@@ -45,10 +40,10 @@ class CarrierInfinityHomebridgePlatform {
|
|
|
45
40
|
// Login / wait for login token to appear
|
|
46
41
|
await this.infinity_client.refreshToken();
|
|
47
42
|
// Query for systems, start adding accessories
|
|
48
|
-
const systems = await new
|
|
43
|
+
const systems = await new models_graphql_1.LocationsModelGraphQL(this.infinity_client).getSystems();
|
|
49
44
|
for (const serialNumber of systems) {
|
|
50
45
|
// Create system api object, and save for later reference
|
|
51
|
-
const system = new
|
|
46
|
+
const system = new models_graphql_1.SystemModelGraphQL(this.infinity_client, serialNumber);
|
|
52
47
|
this.systems[serialNumber] = system;
|
|
53
48
|
// Add system based accessories
|
|
54
49
|
const context_system = { serialNumber: system.serialNumber };
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AAEA,yCAAwD;AACxD,iEAA6D;AAC7D,mDAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -8,8 +8,11 @@ export declare const PLATFORM_NAME = "CarrierInfinity";
|
|
|
8
8
|
export declare const PLUGIN_NAME = "homebridge-carrier-infinity";
|
|
9
9
|
/**
|
|
10
10
|
* Carrier/Bryant Infinity/Evolution API Settings
|
|
11
|
+
*
|
|
12
|
+
* Migrated from REST API (OAuth 1.0, XML) to GraphQL API (OAuth 2.0, JSON)
|
|
11
13
|
*/
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const INFINITY_GRAPHQL_ENDPOINT = "https://dataservice.infinity.iot.carrier.com/graphql";
|
|
15
|
+
export declare const INFINITY_GRAPHQL_NO_AUTH_ENDPOINT = "https://dataservice.infinity.iot.carrier.com/graphql-no-auth";
|
|
16
|
+
export declare const INFINITY_OAUTH_TOKEN_ENDPOINT = "https://sso.carrier.com/oauth2/default/v1/token";
|
|
17
|
+
export declare const INFINITY_OAUTH_CLIENT_ID = "0oa1ce7hwjuZbfOMB4x7";
|
|
15
18
|
//# sourceMappingURL=settings.d.ts.map
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,WAAW,gCAAgC,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,WAAW,gCAAgC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,yDAAyD,CAAC;AAChG,eAAO,MAAM,iCAAiC,iEAAiE,CAAC;AAChH,eAAO,MAAM,6BAA6B,oDAAoD,CAAC;AAC/F,eAAO,MAAM,wBAAwB,yBAAyB,CAAC"}
|
package/dist/settings.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.INFINITY_OAUTH_CLIENT_ID = exports.INFINITY_OAUTH_TOKEN_ENDPOINT = exports.INFINITY_GRAPHQL_NO_AUTH_ENDPOINT = exports.INFINITY_GRAPHQL_ENDPOINT = exports.PLUGIN_NAME = exports.PLATFORM_NAME = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
|
|
6
6
|
*/
|
|
@@ -11,8 +11,11 @@ exports.PLATFORM_NAME = 'CarrierInfinity';
|
|
|
11
11
|
exports.PLUGIN_NAME = 'homebridge-carrier-infinity';
|
|
12
12
|
/**
|
|
13
13
|
* Carrier/Bryant Infinity/Evolution API Settings
|
|
14
|
+
*
|
|
15
|
+
* Migrated from REST API (OAuth 1.0, XML) to GraphQL API (OAuth 2.0, JSON)
|
|
14
16
|
*/
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
17
|
-
exports.
|
|
17
|
+
exports.INFINITY_GRAPHQL_ENDPOINT = 'https://dataservice.infinity.iot.carrier.com/graphql';
|
|
18
|
+
exports.INFINITY_GRAPHQL_NO_AUTH_ENDPOINT = 'https://dataservice.infinity.iot.carrier.com/graphql-no-auth';
|
|
19
|
+
exports.INFINITY_OAUTH_TOKEN_ENDPOINT = 'https://sso.carrier.com/oauth2/default/v1/token';
|
|
20
|
+
exports.INFINITY_OAUTH_CLIENT_ID = '0oa1ce7hwjuZbfOMB4x7';
|
|
18
21
|
//# sourceMappingURL=settings.js.map
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAE/C;;GAEG;AACU,QAAA,WAAW,GAAG,6BAA6B,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAE/C;;GAEG;AACU,QAAA,WAAW,GAAG,6BAA6B,CAAC;AAEzD;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,sDAAsD,CAAC;AACnF,QAAA,iCAAiC,GAAG,8DAA8D,CAAC;AACnG,QAAA,6BAA6B,GAAG,iDAAiD,CAAC;AAClF,QAAA,wBAAwB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import js from '@eslint/js';
|
|
2
|
+
import tseslint from 'typescript-eslint';
|
|
3
|
+
import spellcheck from 'eslint-plugin-spellcheck';
|
|
4
|
+
|
|
5
|
+
export default tseslint.config(
|
|
6
|
+
{
|
|
7
|
+
ignores: ['dist/**', 'node_modules/**'],
|
|
8
|
+
},
|
|
9
|
+
js.configs.recommended,
|
|
10
|
+
...tseslint.configs.recommended,
|
|
11
|
+
{
|
|
12
|
+
files: ['src/**/*.ts'],
|
|
13
|
+
plugins: {
|
|
14
|
+
spellcheck,
|
|
15
|
+
},
|
|
16
|
+
languageOptions: {
|
|
17
|
+
parser: tseslint.parser,
|
|
18
|
+
parserOptions: {
|
|
19
|
+
ecmaVersion: 2018,
|
|
20
|
+
sourceType: 'module',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
rules: {
|
|
24
|
+
'quotes': ['warn', 'single'],
|
|
25
|
+
'indent': ['warn', 2, { 'SwitchCase': 1 }],
|
|
26
|
+
'semi': ['off'],
|
|
27
|
+
'spellcheck/spell-checker': [
|
|
28
|
+
'warn',
|
|
29
|
+
{
|
|
30
|
+
'strings': false,
|
|
31
|
+
'skipWords': [
|
|
32
|
+
'accessors',
|
|
33
|
+
'activityType',
|
|
34
|
+
'axios',
|
|
35
|
+
'blwrpm',
|
|
36
|
+
'bryant',
|
|
37
|
+
'cdata',
|
|
38
|
+
'cfgdead',
|
|
39
|
+
'cfgem',
|
|
40
|
+
'cfgfan',
|
|
41
|
+
'cfghumid',
|
|
42
|
+
'cfguv',
|
|
43
|
+
'cfgvent',
|
|
44
|
+
'clsp',
|
|
45
|
+
'cmode',
|
|
46
|
+
'coolingKwh',
|
|
47
|
+
'ctype',
|
|
48
|
+
'damperposition',
|
|
49
|
+
'dataservice',
|
|
50
|
+
'dayId',
|
|
51
|
+
'deadband',
|
|
52
|
+
'eHeatKwh',
|
|
53
|
+
'eheat',
|
|
54
|
+
'emailVerified',
|
|
55
|
+
'energyConfig',
|
|
56
|
+
'energyPeriodType',
|
|
57
|
+
'energyPeriods',
|
|
58
|
+
'etag',
|
|
59
|
+
'Fanv',
|
|
60
|
+
'fanGasKwh',
|
|
61
|
+
'fanKwh',
|
|
62
|
+
'fangas',
|
|
63
|
+
'fanonly',
|
|
64
|
+
'featureset',
|
|
65
|
+
'filterinterval',
|
|
66
|
+
'filtertype',
|
|
67
|
+
'filtrlvl',
|
|
68
|
+
'fueltype',
|
|
69
|
+
'gasKwh',
|
|
70
|
+
'gasunit',
|
|
71
|
+
'graphql',
|
|
72
|
+
'hPHeatKwh',
|
|
73
|
+
'heatsource',
|
|
74
|
+
'holdActivity',
|
|
75
|
+
'Homebridge',
|
|
76
|
+
'hpheat',
|
|
77
|
+
'hspf',
|
|
78
|
+
'htsp',
|
|
79
|
+
'humidifier',
|
|
80
|
+
'humidityAway',
|
|
81
|
+
'humidityHome',
|
|
82
|
+
'humidityVacation',
|
|
83
|
+
'humlvl',
|
|
84
|
+
'identityId',
|
|
85
|
+
'idu',
|
|
86
|
+
'idusource',
|
|
87
|
+
'idutype',
|
|
88
|
+
'indoorModel',
|
|
89
|
+
'indoorSerial',
|
|
90
|
+
'infinityEnergy',
|
|
91
|
+
'infinitySystems',
|
|
92
|
+
'iot',
|
|
93
|
+
'isDisconnected',
|
|
94
|
+
'Kwh',
|
|
95
|
+
'localTime',
|
|
96
|
+
'localTimeOffset',
|
|
97
|
+
'locationId',
|
|
98
|
+
'loopPumpKwh',
|
|
99
|
+
'looppump',
|
|
100
|
+
'memoization',
|
|
101
|
+
'mutex',
|
|
102
|
+
'nonces',
|
|
103
|
+
'oat',
|
|
104
|
+
'occ',
|
|
105
|
+
'occEnabled',
|
|
106
|
+
'Okta',
|
|
107
|
+
'odu',
|
|
108
|
+
'odutype',
|
|
109
|
+
'opstat',
|
|
110
|
+
'otmr',
|
|
111
|
+
'outdoorModel',
|
|
112
|
+
'outdoorSerial',
|
|
113
|
+
'rclg',
|
|
114
|
+
'rclgovercool',
|
|
115
|
+
'reheat',
|
|
116
|
+
'reheatKwh',
|
|
117
|
+
'rh',
|
|
118
|
+
'rhtg',
|
|
119
|
+
'Retryable',
|
|
120
|
+
'seer',
|
|
121
|
+
'setpoint',
|
|
122
|
+
'setpoints',
|
|
123
|
+
'sig',
|
|
124
|
+
'statpress',
|
|
125
|
+
'svalue',
|
|
126
|
+
'thingName',
|
|
127
|
+
'timestamps',
|
|
128
|
+
'oauth',
|
|
129
|
+
'unregister',
|
|
130
|
+
'userName',
|
|
131
|
+
'utcTime',
|
|
132
|
+
'uvlvl',
|
|
133
|
+
'vacat',
|
|
134
|
+
'vacatrunning',
|
|
135
|
+
'vacend',
|
|
136
|
+
'vacfan',
|
|
137
|
+
'vacmaxt',
|
|
138
|
+
'vacmint',
|
|
139
|
+
'vacstart',
|
|
140
|
+
'vent',
|
|
141
|
+
'ventclg',
|
|
142
|
+
'venthtg',
|
|
143
|
+
'ventlvl',
|
|
144
|
+
'ventspdclg',
|
|
145
|
+
'ventspdhtg',
|
|
146
|
+
'wc',
|
|
147
|
+
'wcTime',
|
|
148
|
+
'xml',
|
|
149
|
+
'xml2js',
|
|
150
|
+
'zoneId',
|
|
151
|
+
'zoneconditioning',
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
'comma-dangle': ['warn', 'always-multiline'],
|
|
156
|
+
'dot-notation': 'off',
|
|
157
|
+
'eqeqeq': 'warn',
|
|
158
|
+
'curly': ['warn', 'all'],
|
|
159
|
+
'brace-style': ['warn'],
|
|
160
|
+
'prefer-arrow-callback': ['warn'],
|
|
161
|
+
'max-len': ['warn', 140],
|
|
162
|
+
'no-console': ['warn'],
|
|
163
|
+
'comma-spacing': ['error'],
|
|
164
|
+
'no-multi-spaces': ['warn', { 'ignoreEOLComments': true }],
|
|
165
|
+
'no-trailing-spaces': ['warn'],
|
|
166
|
+
'lines-between-class-members': ['warn', 'always', { 'exceptAfterSingleLine': true }],
|
|
167
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
168
|
+
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
169
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "Homebridge Carrier Infinity",
|
|
3
3
|
"name": "homebridge-carrier-infinity",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.9.0-beta.1",
|
|
5
5
|
"description": "Standalone homebridge plugin for Carrier Infinity / Bryant Evolution / ICP Brands Ion thermostats.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"commit": "git-cz",
|
|
21
21
|
"lint": "eslint src/**.ts --max-warnings=0",
|
|
22
|
-
"
|
|
23
|
-
"watch": "npm run build && nodemon",
|
|
22
|
+
"watch": "npm run build && npm link && nodemon",
|
|
24
23
|
"build": "rimraf ./dist && tsc",
|
|
25
24
|
"prepublishOnly": "npm run lint && npm run build",
|
|
26
25
|
"test": "jest",
|
|
@@ -31,7 +30,7 @@
|
|
|
31
30
|
"src"
|
|
32
31
|
],
|
|
33
32
|
"ext": "ts",
|
|
34
|
-
"exec": "tsc &&
|
|
33
|
+
"exec": "tsc && pm2 restart homebridge",
|
|
35
34
|
"delay": 5000,
|
|
36
35
|
"env": {
|
|
37
36
|
"NODE_OPTIONS": "--trace-warnings"
|
|
@@ -49,37 +48,36 @@
|
|
|
49
48
|
"infinitive"
|
|
50
49
|
],
|
|
51
50
|
"dependencies": {
|
|
52
|
-
"async-mutex": "^0.
|
|
53
|
-
"axios": "^1.
|
|
54
|
-
"oauth-sign": "^0.9.0",
|
|
51
|
+
"async-mutex": "^0.5.0",
|
|
52
|
+
"axios": "^1.13.4",
|
|
55
53
|
"object-hash": "^3.0.0",
|
|
56
54
|
"typescript-memoize": "^1.1.1",
|
|
57
|
-
"typescript-retry-decorator": "^2.
|
|
58
|
-
"xml2js": "^0.6.2"
|
|
55
|
+
"typescript-retry-decorator": "^2.5.3"
|
|
59
56
|
},
|
|
60
57
|
"devDependencies": {
|
|
61
|
-
"@commitlint/cli": "^
|
|
62
|
-
"@commitlint/config-conventional": "^
|
|
63
|
-
"@commitlint/cz-commitlint": "^
|
|
58
|
+
"@commitlint/cli": "^20.3.1",
|
|
59
|
+
"@commitlint/config-conventional": "^20.3.1",
|
|
60
|
+
"@commitlint/cz-commitlint": "^20.3.1",
|
|
61
|
+
"@eslint/js": "^9.39.2",
|
|
64
62
|
"@semantic-release/git": "^10.0.1",
|
|
65
|
-
"@types/jest": "^
|
|
66
|
-
"@types/node": "^
|
|
63
|
+
"@types/jest": "^30.0.0",
|
|
64
|
+
"@types/node": "^22.10.5",
|
|
67
65
|
"@types/object-hash": "^3.0.6",
|
|
68
|
-
"@
|
|
69
|
-
"@typescript-eslint/
|
|
70
|
-
"@typescript-eslint/parser": "^6.21.0",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^8.54.0",
|
|
67
|
+
"@typescript-eslint/parser": "^8.54.0",
|
|
71
68
|
"commitizen": "^4.3.1",
|
|
72
|
-
"eslint": "^
|
|
69
|
+
"eslint": "^9.39.2",
|
|
73
70
|
"eslint-plugin-spellcheck": "^0.0.20",
|
|
74
|
-
"homebridge": "^1.
|
|
75
|
-
"jest": "^
|
|
76
|
-
"json-to-ts": "^1.
|
|
77
|
-
"nodemon": "^3.1.
|
|
78
|
-
"rimraf": "^
|
|
79
|
-
"semantic-release": "^
|
|
80
|
-
"ts-jest": "^29.
|
|
71
|
+
"homebridge": "^1.11.1",
|
|
72
|
+
"jest": "^30.2.0",
|
|
73
|
+
"json-to-ts": "^2.1.0",
|
|
74
|
+
"nodemon": "^3.1.11",
|
|
75
|
+
"rimraf": "^6.1.2",
|
|
76
|
+
"semantic-release": "^25.0.2",
|
|
77
|
+
"ts-jest": "^29.4.6",
|
|
81
78
|
"ts-node": "^10.9.2",
|
|
82
|
-
"typescript": "^5.
|
|
79
|
+
"typescript": "^5.9.3",
|
|
80
|
+
"typescript-eslint": "^8.54.0"
|
|
83
81
|
},
|
|
84
82
|
"config": {
|
|
85
83
|
"commitizen": {
|