homebridge-flume 3.1.4 → 3.1.5-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.
- package/README.md +1 -0
- package/config.schema.json +6 -0
- package/dist/homebridge/platform.d.ts +4 -3
- package/dist/homebridge/platform.js +1 -1
- package/dist/homebridge/platform.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/i18n/de.d.ts +66 -0
- package/dist/i18n/de.js +4 -1
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts +2 -0
- package/dist/i18n/en.js +2 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/i18n.d.ts +2 -0
- package/dist/i18n/template.d.ts +2 -0
- package/dist/model/api.d.ts +3 -9
- package/dist/model/api.js +32 -40
- package/dist/model/api.js.map +1 -1
- package/dist/model/device.d.ts +2 -2
- package/dist/model/device.js +10 -5
- package/dist/model/device.js.map +1 -1
- package/dist/model/types.d.ts +13 -0
- package/dist/model/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,6 +57,7 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
57
57
|
- `password` - (Required) Flume password
|
|
58
58
|
- `clientId`/`clientSecret` - (Required) Flume Client ID, found at [https://portal.flumetech.com](https://portal.flumetech.com)
|
|
59
59
|
- `refreshInterval` - (Required) number of minutes between updates; must be `1` or more
|
|
60
|
+
- `useNotifications` - (Optional) if true, unread usage alerts will cause leak detection notifications
|
|
60
61
|
- `units` - (Required) the type of units to use for custom characteristics
|
|
61
62
|
- `disableDeviceLogging` - (Optional) if true, then accessory status changes will not be logged
|
|
62
63
|
- `verbose` - (Optional) if true, there will be additional logging for debugging purposes
|
package/config.schema.json
CHANGED
|
@@ -43,6 +43,11 @@
|
|
|
43
43
|
"minimum": 1,
|
|
44
44
|
"required": true
|
|
45
45
|
},
|
|
46
|
+
"useNotifications": {
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"title": "${config.title.useNotifications}",
|
|
49
|
+
"description": "${config.description.useNotifications}"
|
|
50
|
+
},
|
|
46
51
|
"units": {
|
|
47
52
|
"type": "string",
|
|
48
53
|
"title": "${config.title.units}",
|
|
@@ -87,6 +92,7 @@
|
|
|
87
92
|
"clientId",
|
|
88
93
|
"clientSecret",
|
|
89
94
|
"refreshInterval",
|
|
95
|
+
"useNotifications",
|
|
90
96
|
"units",
|
|
91
97
|
"disableDeviceLogging",
|
|
92
98
|
"verbose",
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory
|
|
1
|
+
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory } from 'homebridge';
|
|
2
|
+
import { FlumeConfig } from '../model/types.js';
|
|
2
3
|
export declare class FlumePlatform implements DynamicPlatformPlugin {
|
|
3
4
|
readonly log: Logger;
|
|
4
|
-
readonly config:
|
|
5
|
+
readonly config: FlumeConfig;
|
|
5
6
|
readonly api: API;
|
|
6
7
|
private flumeAPI;
|
|
7
8
|
private readonly accessories;
|
|
8
|
-
constructor(log: Logger, config:
|
|
9
|
+
constructor(log: Logger, config: FlumeConfig, api: API);
|
|
9
10
|
private didFinishLaunching;
|
|
10
11
|
private shutdown;
|
|
11
12
|
private initializeAccessory;
|
|
@@ -29,7 +29,7 @@ export class FlumePlatform {
|
|
|
29
29
|
this.log.error(strings.errors.badConfig, PROJECT_HOMEPAGE);
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
-
this.flumeAPI = await FlumeAPI.connect(this.config
|
|
32
|
+
this.flumeAPI = await FlumeAPI.connect(this.config, this.api.user.persistPath(), this.log);
|
|
33
33
|
const keepDevices = new Set();
|
|
34
34
|
const excludeDevices = new Set(this.config.excludeDevices ?? []);
|
|
35
35
|
const devices = this.flumeAPI.devices.filter((device) => !excludeDevices.has(device.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/de.d.ts
CHANGED
|
@@ -1,4 +1,70 @@
|
|
|
1
1
|
declare const de: {
|
|
2
|
+
config: {
|
|
3
|
+
continue: string;
|
|
4
|
+
needed: string;
|
|
5
|
+
support: string;
|
|
6
|
+
thankYou: string;
|
|
7
|
+
description: {
|
|
8
|
+
clientSecret: string;
|
|
9
|
+
disableDeviceLogging: string;
|
|
10
|
+
excludeDevices: string;
|
|
11
|
+
refreshInterval: string;
|
|
12
|
+
units: string;
|
|
13
|
+
useNotifications: string;
|
|
14
|
+
verbose: string;
|
|
15
|
+
};
|
|
16
|
+
enumNames: {
|
|
17
|
+
gallons: string;
|
|
18
|
+
liters: string;
|
|
19
|
+
cubicFeet: string;
|
|
20
|
+
cubicMeters: string;
|
|
21
|
+
};
|
|
22
|
+
title: {
|
|
23
|
+
clientId: string;
|
|
24
|
+
clientSecret: string;
|
|
25
|
+
deviceId: string;
|
|
26
|
+
disableDeviceLogging: string;
|
|
27
|
+
excludeDevices: string;
|
|
28
|
+
password: string;
|
|
29
|
+
refreshInterval: string;
|
|
30
|
+
units: string;
|
|
31
|
+
useNotifications: string;
|
|
32
|
+
username: string;
|
|
33
|
+
verbose: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
customChar: {
|
|
37
|
+
lastMonth: string;
|
|
38
|
+
monthUsage: string;
|
|
39
|
+
todayUsage: string;
|
|
40
|
+
};
|
|
41
|
+
errors: {
|
|
42
|
+
badConfig: string;
|
|
43
|
+
httpRetry: string;
|
|
44
|
+
noDataReceived: string;
|
|
45
|
+
noDevices: string;
|
|
46
|
+
noRefreshToken: string;
|
|
47
|
+
};
|
|
48
|
+
general: {
|
|
49
|
+
brand: string;
|
|
50
|
+
redacted: string;
|
|
51
|
+
};
|
|
52
|
+
startup: {
|
|
53
|
+
complete: string;
|
|
54
|
+
newDevice: string;
|
|
55
|
+
removeDevice: string;
|
|
56
|
+
restoringDevice: string;
|
|
57
|
+
welcome: string[];
|
|
58
|
+
};
|
|
59
|
+
status: {
|
|
60
|
+
batteryLow: string;
|
|
61
|
+
batteryNormal: string;
|
|
62
|
+
connectionFault: string;
|
|
63
|
+
connectionNormal: string;
|
|
64
|
+
leakDetected: string;
|
|
65
|
+
leakNotDetected: string;
|
|
66
|
+
};
|
|
67
|
+
} & {
|
|
2
68
|
config: {
|
|
3
69
|
continue: string;
|
|
4
70
|
needed: string;
|
package/dist/i18n/de.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import merge from 'lodash.merge';
|
|
2
|
+
import en from './en.js';
|
|
3
|
+
const overrides = {
|
|
2
4
|
config: {
|
|
3
5
|
continue: 'Continue %s',
|
|
4
6
|
needed: 'Sie benötigen Ihren Benutzernamen, Ihr Passwort und Ihre Client-ID/Geheimnis von %s',
|
|
@@ -67,5 +69,6 @@ const de = {
|
|
|
67
69
|
leakNotDetected: 'Keine Lecks festgestellt',
|
|
68
70
|
},
|
|
69
71
|
};
|
|
72
|
+
const de = merge({}, en, overrides);
|
|
70
73
|
export default de;
|
|
71
74
|
//# sourceMappingURL=de.js.map
|
package/dist/i18n/de.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de.js","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"de.js","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,SAAS,GAAG;IAEhB,MAAM,EAAE;QAEN,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,qFAAqF;QAC7F,OAAO,EAAE,mDAAmD;QAC5D,QAAQ,EAAE,6CAA6C;QAEvD,WAAW,EAAE;YACX,YAAY,EAAE,0FAA0F;YACxG,oBAAoB,EAAE,mEAAmE;YACzF,cAAc,EAAE,0EAA0E;YAC1F,eAAe,EAAE,0EAA0E;YAC3F,KAAK,EAAE,wEAAwE;YAC/E,OAAO,EAAE,8CAA8C;SACxD;QAED,SAAS,EAAE;YACT,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,YAAY;SAC1B;QAED,KAAK,EAAE;YACL,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,iBAAiB;YAC/B,QAAQ,EAAE,WAAW;YACrB,oBAAoB,EAAE,oCAAoC;YAC1D,cAAc,EAAE,qBAAqB;YACrC,QAAQ,EAAE,gBAAgB;YAC1B,eAAe,EAAE,0BAA0B;YAC3C,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE,SAAS;SACnB;KACF;IAED,UAAU,EAAE;QACV,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,OAAO;KACpB;IAED,MAAM,EAAE;QACN,SAAS,EAAE,gHAAgH;QAC3H,SAAS,EAAE,2DAA2D;QACtE,cAAc,EAAE,uCAAuC;QACvD,SAAS,EAAE,gDAAgD;QAC3D,cAAc,EAAE,0FAA0F;KAC3G;IAED,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,mBAAmB;KAC9B;IAED,OAAO,EAAE;QACP,QAAQ,EAAE,8BAA8B;QACxC,SAAS,EAAE,yBAAyB;QACpC,YAAY,EAAE,kBAAkB;QAChC,eAAe,EAAE,yBAAyB;QAC1C,OAAO,EAAE;YACP,8GAA8G;YAC9G,2EAA2E;YAC3E,qFAAqF;SACtF;KACF;IAED,MAAM,EAAE;QACN,UAAU,EAAE,4BAA4B;QACxC,aAAa,EAAE,qBAAqB;QACpC,eAAe,EAAE,2BAA2B;QAC5C,gBAAgB,EAAE,8BAA8B;QAChD,YAAY,EAAE,eAAe;QAC7B,eAAe,EAAE,0BAA0B;KAC5C;CACF,CAAC;AAEF,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AAEpC,eAAe,EAAE,CAAC"}
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ declare const en: {
|
|
|
10
10
|
excludeDevices: string;
|
|
11
11
|
refreshInterval: string;
|
|
12
12
|
units: string;
|
|
13
|
+
useNotifications: string;
|
|
13
14
|
verbose: string;
|
|
14
15
|
};
|
|
15
16
|
enumNames: {
|
|
@@ -27,6 +28,7 @@ declare const en: {
|
|
|
27
28
|
password: string;
|
|
28
29
|
refreshInterval: string;
|
|
29
30
|
units: string;
|
|
31
|
+
useNotifications: string;
|
|
30
32
|
username: string;
|
|
31
33
|
verbose: string;
|
|
32
34
|
};
|
package/dist/i18n/en.js
CHANGED
|
@@ -10,6 +10,7 @@ const en = {
|
|
|
10
10
|
excludeDevices: 'Look for "Adding new device: [Device ID]" in the logs',
|
|
11
11
|
refreshInterval: 'Number of minutes between requests to Flume for leak information',
|
|
12
12
|
units: 'Volume units to use for custom characteristics',
|
|
13
|
+
useNotifications: 'If true, an unread usage alert notification will be considered a leak',
|
|
13
14
|
verbose: 'Enable additional debug logging',
|
|
14
15
|
},
|
|
15
16
|
enumNames: {
|
|
@@ -27,6 +28,7 @@ const en = {
|
|
|
27
28
|
password: 'Flume Password',
|
|
28
29
|
refreshInterval: 'Refresh Interval',
|
|
29
30
|
units: 'Units',
|
|
31
|
+
useNotifications: 'Include Usage Alerts',
|
|
30
32
|
username: 'Flume Username',
|
|
31
33
|
verbose: 'Verbose',
|
|
32
34
|
},
|
package/dist/i18n/en.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG;IAET,MAAM,EAAE;QAEN,QAAQ,EAAE,aAAa,EAAE,kBAAkB;QAC3C,MAAM,EAAE,qEAAqE,EAAE,MAAM;QACrF,OAAO,EAAE,sCAAsC,EAAE,MAAM;QACvD,QAAQ,EAAE,2CAA2C;QAErD,WAAW,EAAE;YACX,YAAY,EAAE,qFAAqF;YACnG,oBAAoB,EAAE,2DAA2D;YACjF,cAAc,EAAE,uDAAuD;YACvE,eAAe,EAAE,kEAAkE;YACnF,KAAK,EAAE,gDAAgD;YACvD,OAAO,EAAE,iCAAiC;SAC3C;QAED,SAAS,EAAE;YACT,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc;SAC5B;QAED,KAAK,EAAE;YACL,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,eAAe;YAC7B,QAAQ,EAAE,WAAW;YACrB,oBAAoB,EAAE,wBAAwB;YAC9C,cAAc,EAAE,iBAAiB;YACjC,QAAQ,EAAE,gBAAgB;YAC1B,eAAe,EAAE,kBAAkB;YACnC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,SAAS;SACnB;KACF;IAED,UAAU,EAAE;QACV,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,OAAO;KACpB;IAED,MAAM,EAAE;QACN,SAAS,EAAE,6FAA6F;QACxG,SAAS,EAAE,yCAAyC,EAAE,SAAS;QAC/D,cAAc,EAAE,oCAAoC;QACpD,SAAS,EAAE,uCAAuC;QAClD,cAAc,EAAE,oEAAoE;KACrF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,kBAAkB;KAC7B;IAED,OAAO,EAAE;QACP,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,kBAAkB;QAChC,eAAe,EAAE,mBAAmB;QACpC,OAAO,EAAE;YACP,4GAA4G;YAC5G,8EAA8E;YAC9E,4EAA4E;YAC5E,qHAAqH;SACtH;KACF;IAED,MAAM,EAAE;QACN,UAAU,EAAE,gBAAgB;QAC5B,aAAa,EAAE,mBAAmB;QAClC,eAAe,EAAE,wBAAwB;QACzC,gBAAgB,EAAE,qBAAqB;QACvC,YAAY,EAAE,gBAAgB;QAC9B,eAAe,EAAE,mBAAmB;KACrC;CACF,CAAC;AAEF,eAAe,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG;IAET,MAAM,EAAE;QAEN,QAAQ,EAAE,aAAa,EAAE,kBAAkB;QAC3C,MAAM,EAAE,qEAAqE,EAAE,MAAM;QACrF,OAAO,EAAE,sCAAsC,EAAE,MAAM;QACvD,QAAQ,EAAE,2CAA2C;QAErD,WAAW,EAAE;YACX,YAAY,EAAE,qFAAqF;YACnG,oBAAoB,EAAE,2DAA2D;YACjF,cAAc,EAAE,uDAAuD;YACvE,eAAe,EAAE,kEAAkE;YACnF,KAAK,EAAE,gDAAgD;YACvD,gBAAgB,EAAE,uEAAuE;YACzF,OAAO,EAAE,iCAAiC;SAC3C;QAED,SAAS,EAAE;YACT,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc;SAC5B;QAED,KAAK,EAAE;YACL,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,eAAe;YAC7B,QAAQ,EAAE,WAAW;YACrB,oBAAoB,EAAE,wBAAwB;YAC9C,cAAc,EAAE,iBAAiB;YACjC,QAAQ,EAAE,gBAAgB;YAC1B,eAAe,EAAE,kBAAkB;YACnC,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,sBAAsB;YACxC,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,SAAS;SACnB;KACF;IAED,UAAU,EAAE;QACV,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,OAAO;KACpB;IAED,MAAM,EAAE;QACN,SAAS,EAAE,6FAA6F;QACxG,SAAS,EAAE,yCAAyC,EAAE,SAAS;QAC/D,cAAc,EAAE,oCAAoC;QACpD,SAAS,EAAE,uCAAuC;QAClD,cAAc,EAAE,oEAAoE;KACrF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,kBAAkB;KAC7B;IAED,OAAO,EAAE;QACP,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,kBAAkB;QAChC,eAAe,EAAE,mBAAmB;QACpC,OAAO,EAAE;YACP,4GAA4G;YAC5G,8EAA8E;YAC9E,4EAA4E;YAC5E,qHAAqH;SACtH;KACF;IAED,MAAM,EAAE;QACN,UAAU,EAAE,gBAAgB;QAC5B,aAAa,EAAE,mBAAmB;QAClC,eAAe,EAAE,wBAAwB;QACzC,gBAAgB,EAAE,qBAAqB;QACvC,YAAY,EAAE,gBAAgB;QAC9B,eAAe,EAAE,mBAAmB;KACrC;CACF,CAAC;AAEF,eAAe,EAAE,CAAC"}
|
package/dist/i18n/i18n.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ declare const translations: {
|
|
|
19
19
|
excludeDevices: string;
|
|
20
20
|
refreshInterval: string;
|
|
21
21
|
units: string;
|
|
22
|
+
useNotifications: string;
|
|
22
23
|
verbose: string;
|
|
23
24
|
};
|
|
24
25
|
enumNames: {
|
|
@@ -36,6 +37,7 @@ declare const translations: {
|
|
|
36
37
|
password: string;
|
|
37
38
|
refreshInterval: string;
|
|
38
39
|
units: string;
|
|
40
|
+
useNotifications: string;
|
|
39
41
|
username: string;
|
|
40
42
|
verbose: string;
|
|
41
43
|
};
|
package/dist/i18n/template.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
10
10
|
excludeDevices: string;
|
|
11
11
|
refreshInterval: string;
|
|
12
12
|
units: string;
|
|
13
|
+
useNotifications: string;
|
|
13
14
|
verbose: string;
|
|
14
15
|
};
|
|
15
16
|
enumNames: {
|
|
@@ -27,6 +28,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
27
28
|
password: string;
|
|
28
29
|
refreshInterval: string;
|
|
29
30
|
units: string;
|
|
31
|
+
useNotifications: string;
|
|
30
32
|
username: string;
|
|
31
33
|
verbose: string;
|
|
32
34
|
};
|
package/dist/model/api.d.ts
CHANGED
|
@@ -2,15 +2,9 @@ import { Logger } from 'homebridge';
|
|
|
2
2
|
import { Device } from './device.js';
|
|
3
3
|
import * as Types from './types.js';
|
|
4
4
|
export declare class FlumeAPI {
|
|
5
|
-
private readonly
|
|
6
|
-
private readonly password;
|
|
7
|
-
private readonly clientId;
|
|
8
|
-
private readonly clientSecret;
|
|
9
|
-
private readonly refreshInterval;
|
|
10
|
-
private readonly units;
|
|
5
|
+
private readonly config;
|
|
11
6
|
private persistPath;
|
|
12
7
|
private readonly log;
|
|
13
|
-
private readonly verbose;
|
|
14
8
|
private _auth?;
|
|
15
9
|
readonly locationNames: Map<string, string>;
|
|
16
10
|
private readonly _devices;
|
|
@@ -18,7 +12,7 @@ export declare class FlumeAPI {
|
|
|
18
12
|
private syncTimer;
|
|
19
13
|
private lastFullRefresh;
|
|
20
14
|
private constructor();
|
|
21
|
-
static connect(
|
|
15
|
+
static connect(config: Types.FlumeConfig, persistPath: string, log: Logger): Promise<FlumeAPI>;
|
|
22
16
|
get devices(): Device[];
|
|
23
17
|
teardown(): void;
|
|
24
18
|
private do;
|
|
@@ -33,7 +27,7 @@ export declare class FlumeAPI {
|
|
|
33
27
|
private getUnreadNotifications;
|
|
34
28
|
private getDevices;
|
|
35
29
|
private getDeviceData;
|
|
36
|
-
getLeakData
|
|
30
|
+
private getLeakData;
|
|
37
31
|
private getUsageData;
|
|
38
32
|
private synchronizeData;
|
|
39
33
|
private logHTTP;
|
package/dist/model/api.js
CHANGED
|
@@ -28,40 +28,29 @@ const HTTP_RETRY_CODES = [
|
|
|
28
28
|
const FULL_REFRESH_INTERVAL = 15 * MINUTE;
|
|
29
29
|
const RETRY_INTERVALS = [1, 2, 5, 10, 15, 30, 60];
|
|
30
30
|
export class FlumeAPI {
|
|
31
|
-
|
|
32
|
-
password;
|
|
33
|
-
clientId;
|
|
34
|
-
clientSecret;
|
|
35
|
-
refreshInterval;
|
|
36
|
-
units;
|
|
31
|
+
config;
|
|
37
32
|
persistPath;
|
|
38
33
|
log;
|
|
39
|
-
verbose;
|
|
40
34
|
_auth;
|
|
41
35
|
locationNames = new Map();
|
|
42
36
|
_devices = new Map();
|
|
43
37
|
retryIndex = 0;
|
|
44
38
|
syncTimer = null;
|
|
45
39
|
lastFullRefresh = 0;
|
|
46
|
-
constructor(
|
|
47
|
-
this.
|
|
48
|
-
this.password = password;
|
|
49
|
-
this.clientId = clientId;
|
|
50
|
-
this.clientSecret = clientSecret;
|
|
51
|
-
this.refreshInterval = refreshInterval;
|
|
52
|
-
this.units = units;
|
|
40
|
+
constructor(config, persistPath, log) {
|
|
41
|
+
this.config = config;
|
|
53
42
|
this.persistPath = persistPath;
|
|
54
43
|
this.log = log;
|
|
55
|
-
this.verbose = verbose;
|
|
56
44
|
}
|
|
57
|
-
static async connect(
|
|
58
|
-
const api = new FlumeAPI(
|
|
59
|
-
api._auth = await Auth.load(persistPath, clientId);
|
|
45
|
+
static async connect(config, persistPath, log) {
|
|
46
|
+
const api = new FlumeAPI(config, persistPath, log);
|
|
47
|
+
api._auth = await Auth.load(persistPath, config.clientId);
|
|
60
48
|
let shouldContinue = true;
|
|
61
49
|
if (!api.auth) {
|
|
62
50
|
shouldContinue = await api.authenticate();
|
|
63
51
|
}
|
|
64
52
|
if (shouldContinue) {
|
|
53
|
+
await api.refreshAuthIfNecessary();
|
|
65
54
|
await api.getLocations();
|
|
66
55
|
await api.getDevices();
|
|
67
56
|
await api.synchronizeData();
|
|
@@ -141,16 +130,16 @@ export class FlumeAPI {
|
|
|
141
130
|
async saveTokenData(tokenData) {
|
|
142
131
|
this._auth = new Auth(tokenData);
|
|
143
132
|
if (this._auth) {
|
|
144
|
-
await this._auth.save(this.persistPath, this.clientId);
|
|
133
|
+
await this._auth.save(this.persistPath, this.config.clientId);
|
|
145
134
|
}
|
|
146
135
|
}
|
|
147
136
|
async authenticate() {
|
|
148
137
|
const data = {
|
|
149
138
|
grant_type: 'password',
|
|
150
|
-
client_id: this.clientId,
|
|
151
|
-
client_secret: this.clientSecret,
|
|
152
|
-
username: this.username,
|
|
153
|
-
password: this.password,
|
|
139
|
+
client_id: this.config.clientId,
|
|
140
|
+
client_secret: this.config.clientSecret,
|
|
141
|
+
username: this.config.username,
|
|
142
|
+
password: this.config.password,
|
|
154
143
|
};
|
|
155
144
|
const tokenData = await this.do(this.authenticate.name, data, false, true, URL_AUTH);
|
|
156
145
|
if (!tokenData) {
|
|
@@ -166,13 +155,13 @@ export class FlumeAPI {
|
|
|
166
155
|
}
|
|
167
156
|
const data = {
|
|
168
157
|
grant_type: 'refresh_token',
|
|
169
|
-
client_id: this.clientId,
|
|
170
|
-
client_secret: this.clientSecret,
|
|
158
|
+
client_id: this.config.clientId,
|
|
159
|
+
client_secret: this.config.clientSecret,
|
|
171
160
|
refresh_token: this.auth.refresh,
|
|
172
161
|
};
|
|
173
162
|
const tokenData = await this.do(this.authRefresh.name, data, false, true, URL_AUTH);
|
|
174
163
|
if (!tokenData) {
|
|
175
|
-
return
|
|
164
|
+
return await this.authenticate();
|
|
176
165
|
}
|
|
177
166
|
await this.saveTokenData(tokenData);
|
|
178
167
|
return true;
|
|
@@ -185,12 +174,12 @@ export class FlumeAPI {
|
|
|
185
174
|
startSyncTimer() {
|
|
186
175
|
this.teardown();
|
|
187
176
|
// Note the Flume API has a limit of 120 requests per hour
|
|
188
|
-
this.syncTimer = setInterval(() => {
|
|
189
|
-
this.
|
|
190
|
-
|
|
177
|
+
this.syncTimer = setInterval(async () => {
|
|
178
|
+
await this.refreshAuthIfNecessary();
|
|
179
|
+
await this.synchronizeData();
|
|
180
|
+
}, MINUTE * this.config.refreshInterval);
|
|
191
181
|
}
|
|
192
182
|
async getLocations() {
|
|
193
|
-
await this.refreshAuthIfNecessary();
|
|
194
183
|
const locationDatum = await this.do(this.getLocations.name, null, true, true, URL_GET_LOCATIONS, this.auth?.userId);
|
|
195
184
|
if (!locationDatum) {
|
|
196
185
|
return false;
|
|
@@ -201,7 +190,6 @@ export class FlumeAPI {
|
|
|
201
190
|
return true;
|
|
202
191
|
}
|
|
203
192
|
async getUnreadNotifications(deviceId) {
|
|
204
|
-
await this.refreshAuthIfNecessary();
|
|
205
193
|
const notificationDatum = await this.do(this.getUnreadNotifications.name, null, true, true, URL_GET_NOTIFICATIONS, this.auth?.userId, deviceId);
|
|
206
194
|
if (!notificationDatum) {
|
|
207
195
|
return null;
|
|
@@ -215,7 +203,6 @@ export class FlumeAPI {
|
|
|
215
203
|
return response;
|
|
216
204
|
}
|
|
217
205
|
async getDevices() {
|
|
218
|
-
await this.refreshAuthIfNecessary();
|
|
219
206
|
const deviceDatum = await this.do(this.getDevices.name, null, true, true, URL_GET_DEVICES, this.auth?.userId);
|
|
220
207
|
if (!deviceDatum) {
|
|
221
208
|
return false;
|
|
@@ -257,14 +244,14 @@ export class FlumeAPI {
|
|
|
257
244
|
bucket: 'DAY',
|
|
258
245
|
since_datetime: startOfToday,
|
|
259
246
|
operation: 'SUM',
|
|
260
|
-
units: this.units,
|
|
247
|
+
units: this.config.units ?? Types.VolumeUnits.GALLONS,
|
|
261
248
|
},
|
|
262
249
|
{
|
|
263
250
|
request_id: 'month',
|
|
264
251
|
bucket: 'MON',
|
|
265
252
|
since_datetime: startOfCurrMonth,
|
|
266
253
|
operation: 'SUM',
|
|
267
|
-
units: this.units,
|
|
254
|
+
units: this.config.units ?? Types.VolumeUnits.GALLONS,
|
|
268
255
|
},
|
|
269
256
|
{
|
|
270
257
|
request_id: 'lastMonth',
|
|
@@ -272,7 +259,7 @@ export class FlumeAPI {
|
|
|
272
259
|
since_datetime: startOfLastMonth,
|
|
273
260
|
until_datetime: startOfCurrMonth,
|
|
274
261
|
operation: 'SUM',
|
|
275
|
-
units: this.units,
|
|
262
|
+
units: this.config.units ?? Types.VolumeUnits.GALLONS,
|
|
276
263
|
},
|
|
277
264
|
],
|
|
278
265
|
};
|
|
@@ -283,25 +270,30 @@ export class FlumeAPI {
|
|
|
283
270
|
return usageData;
|
|
284
271
|
}
|
|
285
272
|
async synchronizeData() {
|
|
286
|
-
await this.refreshAuthIfNecessary();
|
|
287
273
|
for (const device of this._devices.values()) {
|
|
288
274
|
const id = device.id;
|
|
275
|
+
let deviceData = null;
|
|
289
276
|
let usageData = null;
|
|
290
277
|
if (Date.now() - this.lastFullRefresh > FULL_REFRESH_INTERVAL) {
|
|
278
|
+
deviceData = await this.getDeviceData(id);
|
|
291
279
|
usageData = await this.getUsageData(id);
|
|
292
280
|
this.lastFullRefresh = Date.now();
|
|
293
281
|
}
|
|
294
|
-
const
|
|
295
|
-
|
|
282
|
+
const leakData = await this.getLeakData(id);
|
|
283
|
+
let unreadNotifications = null;
|
|
284
|
+
if (this.config.useNotifications) {
|
|
285
|
+
unreadNotifications = await this.getUnreadNotifications(id);
|
|
286
|
+
}
|
|
287
|
+
device.update(leakData, unreadNotifications, deviceData, usageData);
|
|
296
288
|
}
|
|
297
289
|
;
|
|
298
290
|
}
|
|
299
291
|
logHTTP(level, caller, message, ...parameters) {
|
|
300
|
-
this.log.log(level, '[HTTP %s()] %s', caller, message, parameters);
|
|
292
|
+
this.log.log(level, '[HTTP %s()] %s', caller, message, ...parameters);
|
|
301
293
|
}
|
|
302
294
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
303
295
|
logIfVerbose(caller, data) {
|
|
304
|
-
if (!this.verbose) {
|
|
296
|
+
if (!this.config.verbose) {
|
|
305
297
|
return;
|
|
306
298
|
}
|
|
307
299
|
let message = JSON.stringify(data);
|
package/dist/model/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/model/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/model/api.ts"],"names":[],"mappings":"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"}
|
package/dist/model/device.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DeviceData, NotificationType, UsageData } from './types.js';
|
|
1
|
+
import { DeviceData, LeakData, NotificationType, UsageData } from './types.js';
|
|
2
2
|
export declare class Device {
|
|
3
3
|
readonly id: string;
|
|
4
4
|
readonly locationId: string;
|
|
@@ -12,5 +12,5 @@ export declare class Device {
|
|
|
12
12
|
private _onUpdateCallback;
|
|
13
13
|
constructor(data: DeviceData);
|
|
14
14
|
setOnUpdateCallback(callback: (serialNumber: string) => void): void;
|
|
15
|
-
update(unreadNotifications: Set<NotificationType> | null, usageData: UsageData | null): void;
|
|
15
|
+
update(leakData: LeakData | null, unreadNotifications: Set<NotificationType> | null, deviceData: DeviceData | null, usageData: UsageData | null): void;
|
|
16
16
|
}
|
package/dist/model/device.js
CHANGED
|
@@ -21,11 +21,16 @@ export class Device {
|
|
|
21
21
|
setOnUpdateCallback(callback) {
|
|
22
22
|
this._onUpdateCallback = callback;
|
|
23
23
|
}
|
|
24
|
-
update(unreadNotifications, usageData) {
|
|
25
|
-
if (
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
update(leakData, unreadNotifications, deviceData, usageData) {
|
|
25
|
+
if (leakData) {
|
|
26
|
+
this.isLeakDetected = leakData.active;
|
|
27
|
+
if (unreadNotifications) {
|
|
28
|
+
this.isLeakDetected = unreadNotifications.has(NotificationType.USAGE_ALERT);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (deviceData) {
|
|
32
|
+
this.isBatteryLow = deviceData.battery_level === BATTERY_LEVEL_LOW;
|
|
33
|
+
this.isDisconnected = !deviceData.connected;
|
|
29
34
|
}
|
|
30
35
|
if (usageData) {
|
|
31
36
|
this.usageToday = usageData.today[0]?.value || 0;
|
package/dist/model/device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/model/device.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/model/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,gBAAgB,EAAa,MAAM,YAAY,CAAC;AAE/E,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,OAAO,MAAM;IAER,EAAE,CAAS;IACX,UAAU,CAAS;IACnB,WAAW,CAAS;IAE7B,YAAY,CAAU;IACtB,cAAc,CAAU;IAExB,cAAc,GAAY,KAAK,CAAC;IAEhC,UAAU,GAAW,CAAC,CAAC;IACvB,UAAU,GAAW,CAAC,CAAC;IACvB,cAAc,GAAW,CAAC,CAAC;IAEnB,iBAAiB,GAAkC,IAAI,CAAC;IAEhE,YAAY,IAAgB;QAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,KAAK,iBAAiB,CAAC;IAC/D,CAAC;IAED,mBAAmB,CAAC,QAAwC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,QAAyB,EAAE,mBAAiD,EAAE,UAA6B,EAAE,SAA2B;QAE7I,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;YAEtC,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,aAAa,KAAK,iBAAiB,CAAC;YACnE,IAAI,CAAC,cAAc,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAC9C,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF"}
|
package/dist/model/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { PlatformConfig } from 'homebridge';
|
|
2
3
|
export declare const SENSITIVE_KEYS: string[];
|
|
3
4
|
export declare enum VolumeUnits {
|
|
4
5
|
GALLONS = "GALLONS",
|
|
@@ -16,6 +17,18 @@ export declare enum NotificationType {
|
|
|
16
17
|
export interface FlumeResponse<T> extends AxiosResponse {
|
|
17
18
|
data: T[];
|
|
18
19
|
}
|
|
20
|
+
export type FlumeConfig = PlatformConfig & {
|
|
21
|
+
username: string;
|
|
22
|
+
password: string;
|
|
23
|
+
clientId: string;
|
|
24
|
+
clientSecret: string;
|
|
25
|
+
refreshInterval: number;
|
|
26
|
+
useNotifications: boolean;
|
|
27
|
+
units?: VolumeUnits;
|
|
28
|
+
excludeDevices?: string[];
|
|
29
|
+
disableDeviceLogging: boolean;
|
|
30
|
+
verbose: boolean;
|
|
31
|
+
};
|
|
19
32
|
export type TokenData = {
|
|
20
33
|
token_type: string;
|
|
21
34
|
access_token: string;
|
package/dist/model/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;AAEtH,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;AAC/B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,CAAN,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,qEAAe,CAAA;IACf,2DAAU,CAAA;IACV,6DAAW,CAAA;IACX,iEAAa,CAAA;IACb,8DAAY,CAAA;AACd,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B"}
|