@uboness/homebridge-mqtt 0.0.2 → 0.0.4
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 +4 -0
- package/README.md +116 -2
- package/dist/MqttDevice.d.ts.map +1 -1
- package/dist/MqttDevice.js +4 -2
- package/dist/MqttDevice.js.map +1 -1
- package/dist/service/StatefulScene.d.ts +12 -0
- package/dist/service/StatefulScene.d.ts.map +1 -0
- package/dist/service/StatefulScene.js +27 -0
- package/dist/service/StatefulScene.js.map +1 -0
- package/dist/service/StatelessScene.d.ts +12 -0
- package/dist/service/StatelessScene.d.ts.map +1 -0
- package/dist/service/StatelessScene.js +27 -0
- package/dist/service/StatelessScene.js.map +1 -0
- package/dist/service/characteristic/archetype/common.d.ts +1 -1
- package/dist/service/characteristic/archetype/common.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/common.js +3 -0
- package/dist/service/characteristic/archetype/common.js.map +1 -1
- package/dist/service/characteristic/index.d.ts +4 -1
- package/dist/service/characteristic/index.d.ts.map +1 -1
- package/dist/service/characteristic/index.js +4 -1
- package/dist/service/characteristic/index.js.map +1 -1
- package/dist/service/characteristic/momentaryOn.d.ts +10 -0
- package/dist/service/characteristic/momentaryOn.d.ts.map +1 -0
- package/dist/service/characteristic/momentaryOn.js +21 -0
- package/dist/service/characteristic/momentaryOn.js.map +1 -0
- package/dist/service/characteristic/mqttBridge.d.ts +5 -0
- package/dist/service/characteristic/mqttBridge.d.ts.map +1 -0
- package/dist/service/characteristic/mqttBridge.js +15 -0
- package/dist/service/characteristic/mqttBridge.js.map +1 -0
- package/dist/service/characteristic/stickyOn.d.ts +11 -0
- package/dist/service/characteristic/stickyOn.d.ts.map +1 -0
- package/dist/service/characteristic/stickyOn.js +29 -0
- package/dist/service/characteristic/stickyOn.js.map +1 -0
- package/dist/service/index.d.ts.map +1 -1
- package/dist/service/index.js +4 -0
- package/dist/service/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [0.0.4](https://github.com/uboness/{{name}}/compare/v0.0.3...v0.0.4) (2025-01-26)
|
|
6
|
+
|
|
7
|
+
## [0.0.3](https://github.com/uboness/{{name}}/compare/v0.0.2...v0.0.3) (2025-01-25)
|
|
8
|
+
|
|
5
9
|
## [0.0.2](https://github.com/uboness/{{name}}/compare/v0.0.1...v0.0.2) (2025-01-25)
|
|
6
10
|
|
|
7
11
|
## 0.0.1 (2025-01-25)
|
package/README.md
CHANGED
|
@@ -1307,13 +1307,35 @@ Other values can be converted using a converter (as shown below).
|
|
|
1307
1307
|
"topics": {
|
|
1308
1308
|
"lockTargetState": {
|
|
1309
1309
|
"get": "<read_topic>",
|
|
1310
|
-
"
|
|
1310
|
+
"set": "<write_topic>",
|
|
1311
1311
|
"converter"?: "boolean" | { "secured": "<value indicating 'secured'>", "unsecured": "value indicating 'unsecured'" } // a boolean 'true' indicates 'secured'
|
|
1312
1312
|
}
|
|
1313
1313
|
}
|
|
1314
1314
|
}
|
|
1315
1315
|
```
|
|
1316
1316
|
|
|
1317
|
+
|
|
1318
|
+
### <code style="color: green">momentaryOn</code>
|
|
1319
|
+
|
|
1320
|
+
This is a special case of an 'on' characteristic when turned on it immediately turns back off.
|
|
1321
|
+
When turned on, it publishes the configured value to the configured topic.
|
|
1322
|
+
|
|
1323
|
+
#### Services
|
|
1324
|
+
- [stateless-scene](#stateless-scene)
|
|
1325
|
+
|
|
1326
|
+
#### Configuration
|
|
1327
|
+
|
|
1328
|
+
```typescript
|
|
1329
|
+
{
|
|
1330
|
+
"topics": {
|
|
1331
|
+
"momentaryOn": {
|
|
1332
|
+
"get": "<read_topic>",
|
|
1333
|
+
"value": number | string | boolean // the published value
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
```
|
|
1338
|
+
|
|
1317
1339
|
### <code style="color: green">motionDetected</code>
|
|
1318
1340
|
|
|
1319
1341
|
Indicates if a sensor detected motion. By default, will look for `true` (indicating "detected")
|
|
@@ -1944,6 +1966,29 @@ This characteristic is optional on all sensor services.
|
|
|
1944
1966
|
}
|
|
1945
1967
|
```
|
|
1946
1968
|
|
|
1969
|
+
### <code style="color: green">stickyOn</code>
|
|
1970
|
+
|
|
1971
|
+
This is a special case of an 'on' characteristic that is associated with a value. When turned on,
|
|
1972
|
+
it publishes this value to the configured `set` topic, and it stays turned on until it receives a
|
|
1973
|
+
different value from the configured `get` topic. Trying to force it off will cause it to "silently" turn back
|
|
1974
|
+
on ("silently" in that it will not publish the value to the `set` topic).
|
|
1975
|
+
|
|
1976
|
+
#### Services
|
|
1977
|
+
- [stateful-scene](#stateful-scene)
|
|
1978
|
+
|
|
1979
|
+
#### Configuration
|
|
1980
|
+
|
|
1981
|
+
```typescript
|
|
1982
|
+
{
|
|
1983
|
+
"topics": {
|
|
1984
|
+
"stickyOn": {
|
|
1985
|
+
"get": "<read_topic>",
|
|
1986
|
+
"set": "<write_topic>",
|
|
1987
|
+
"value": number | string | boolean // the published value
|
|
1988
|
+
}
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1991
|
+
```
|
|
1947
1992
|
|
|
1948
1993
|
### <code style="color: green">swingMode</code>
|
|
1949
1994
|
|
|
@@ -2310,6 +2355,8 @@ Other values can be converted using the [Percentages](#percentages-) converter.
|
|
|
2310
2355
|
- [security-system](#security-system)
|
|
2311
2356
|
- [smoke-sensor](#smoke-sensor)
|
|
2312
2357
|
- [speaker](#speaker)
|
|
2358
|
+
- [stateful-scene](#stateful-scene)
|
|
2359
|
+
- [stateless-scene](#stateless-scene)
|
|
2313
2360
|
- [switch](#switch)
|
|
2314
2361
|
- [temperature-sensor](#temperature-sensor)
|
|
2315
2362
|
- [thermostat](#thermostat)
|
|
@@ -3289,6 +3336,73 @@ Characteristics:
|
|
|
3289
3336
|
}
|
|
3290
3337
|
```
|
|
3291
3338
|
|
|
3339
|
+
### stateful-scene
|
|
3340
|
+
|
|
3341
|
+
This can be a useful tool to implement a multi-state switch over a single topic. For example,
|
|
3342
|
+
if there is a device that can have 3 states = `off`, `low` and `high`. These states are published
|
|
3343
|
+
to a single topic. You can then set up a `stateful-scene` device. The primary service will
|
|
3344
|
+
represent the `off` state, and two additional `stateful-scene` sub-services will represent the other
|
|
3345
|
+
`low` and `high` states. This will translate to a HomeKit grouped accessory with 3 switches where
|
|
3346
|
+
only the switch representing the current state can be on at any given time. Trying to turn it off
|
|
3347
|
+
will fail - it will only turn off if you turn on any of the other switches (which effectively changing
|
|
3348
|
+
the state of the device).
|
|
3349
|
+
|
|
3350
|
+
Characteristics:
|
|
3351
|
+
- [stickyOn](#code-stylecolor-greenstickyOncode) (required)
|
|
3352
|
+
- [statusFault](#code-stylecolor-greenstatusFaultcode) (optional)
|
|
3353
|
+
- [faultMessage](#code-stylecolor-greenfaultMessagecode) (optional)
|
|
3354
|
+
|
|
3355
|
+
```json
|
|
3356
|
+
{
|
|
3357
|
+
"name": "<custom name>",
|
|
3358
|
+
"type": "speaker",
|
|
3359
|
+
"topics": {
|
|
3360
|
+
"stickyOn": { // required
|
|
3361
|
+
"get": "<read_topic>",
|
|
3362
|
+
"set": "<write_topic>",
|
|
3363
|
+
"value": string | number | boolean // the published value
|
|
3364
|
+
},
|
|
3365
|
+
"statusFault"?: { // optional
|
|
3366
|
+
"get": "<read_topic>",
|
|
3367
|
+
"converter"?: "boolean" | { "on": "'fault' value", "off": "'no fault' value"}
|
|
3368
|
+
},
|
|
3369
|
+
"faultMessage"?: { // optional
|
|
3370
|
+
"get": "<topic>"
|
|
3371
|
+
}
|
|
3372
|
+
}
|
|
3373
|
+
}
|
|
3374
|
+
```
|
|
3375
|
+
|
|
3376
|
+
### stateless-scene
|
|
3377
|
+
|
|
3378
|
+
This can be useful to define a device that simply triggers a scene. It only publishes a value and
|
|
3379
|
+
ignores any other values that are published on the MQTT broker.
|
|
3380
|
+
|
|
3381
|
+
Characteristics:
|
|
3382
|
+
- [momentaryOn](#code-stylecolor-greenmomentaryOncode) (required)
|
|
3383
|
+
- [statusFault](#code-stylecolor-greenstatusFaultcode) (optional)
|
|
3384
|
+
- [faultMessage](#code-stylecolor-greenfaultMessagecode) (optional)
|
|
3385
|
+
|
|
3386
|
+
```json
|
|
3387
|
+
{
|
|
3388
|
+
"name": "<custom name>",
|
|
3389
|
+
"type": "speaker",
|
|
3390
|
+
"topics": {
|
|
3391
|
+
"momentaryOn": { // required
|
|
3392
|
+
"set": "<write_topic>",
|
|
3393
|
+
"value": string | number | boolean // the published value
|
|
3394
|
+
},
|
|
3395
|
+
"statusFault"?: { // optional
|
|
3396
|
+
"get": "<read_topic>",
|
|
3397
|
+
"converter"?: "boolean" | { "on": "'fault' value", "off": "'no fault' value"}
|
|
3398
|
+
},
|
|
3399
|
+
"faultMessage"?: { // optional
|
|
3400
|
+
"get": "<topic>"
|
|
3401
|
+
}
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
3404
|
+
```
|
|
3405
|
+
|
|
3292
3406
|
### switch
|
|
3293
3407
|
|
|
3294
3408
|
Characteristics:
|
|
@@ -3299,7 +3413,7 @@ Characteristics:
|
|
|
3299
3413
|
```json
|
|
3300
3414
|
{
|
|
3301
3415
|
"name": "<custom name>",
|
|
3302
|
-
"type": "
|
|
3416
|
+
"type": "switch",
|
|
3303
3417
|
"topics": {
|
|
3304
3418
|
"on": { // required
|
|
3305
3419
|
"get": "<read_topic>",
|
package/dist/MqttDevice.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MqttDevice.d.ts","sourceRoot":"","sources":["../src/MqttDevice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MqttDevice.d.ts","sourceRoot":"","sources":["../src/MqttDevice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,UAAU;IAEnB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,UAAU,CAAS;gBAEf,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,GAAE,WAAW,EAAO;IAqBlK,IAAI,EAAE,WAEL;IAED,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,WAEP;IAED,IAAI,SAAS,IAIY,OAAO,CAF/B;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,EAI/B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAED,yBAAiB,UAAU,CAAC;IAExB;;;;;;;;OAQG;IACH,KAAY,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KACxC,CAAA;IAED,KAAY,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAEpF"}
|
package/dist/MqttDevice.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MqttDevice = void 0;
|
|
4
|
+
const index_1 = require("./service/characteristic/index");
|
|
4
5
|
class MqttDevice {
|
|
5
6
|
constructor(platform, mqtt, accessory, config, primaryService, services = []) {
|
|
6
7
|
this._connected = false;
|
|
@@ -13,8 +14,9 @@ class MqttDevice {
|
|
|
13
14
|
this.primaryService.hap.setPrimaryService(true);
|
|
14
15
|
this.services = services;
|
|
15
16
|
this.primaryService.hap.setCharacteristic(platform.Characteristic.Name, accessory.displayName);
|
|
16
|
-
accessory.getService(platform.Service.AccessoryInformation)
|
|
17
|
-
|
|
17
|
+
const info = accessory.getService(platform.Service.AccessoryInformation);
|
|
18
|
+
(0, index_1.mqttBridge)(platform, mqtt, info).setValue(mqtt.id);
|
|
19
|
+
info.setCharacteristic(platform.Characteristic.Name, accessory.displayName)
|
|
18
20
|
.setCharacteristic(platform.Characteristic.Manufacturer, 'mqtt')
|
|
19
21
|
.setCharacteristic(platform.Characteristic.Model, config.type)
|
|
20
22
|
.setCharacteristic(platform.Characteristic.SerialNumber, config.id);
|
package/dist/MqttDevice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MqttDevice.js","sourceRoot":"","sources":["../src/MqttDevice.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MqttDevice.js","sourceRoot":"","sources":["../src/MqttDevice.ts"],"names":[],"mappings":";;;AAIA,0DAA4D;AAG5D,MAAa,UAAU;IAYnB,YAAY,QAAsB,EAAE,IAAU,EAAE,SAA4B,EAAE,MAAyB,EAAE,cAA2B,EAAE,WAA0B,EAAE;QAF1J,eAAU,GAAG,KAAK,CAAC;QAGvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAE/F,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACzE,IAAA,kBAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,IAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC;aACvE,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC;aAC/D,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;aAC7D,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS,CAAC,SAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAI,CAAC,cAAc,CAAC,OAAO;YAC3B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACzC,CAAC,CAAC;IACP,CAAC;CACJ;AA7DD,gCA6DC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { StickyOn } from './characteristic/index.js';
|
|
2
|
+
import { MqttService } from './MqttService.js';
|
|
3
|
+
export declare namespace StatefulScene {
|
|
4
|
+
const TYPE: "stateful-scene";
|
|
5
|
+
type Config = MqttService.Config & {
|
|
6
|
+
type: typeof TYPE;
|
|
7
|
+
name: string;
|
|
8
|
+
topics: StickyOn & MqttService.StandardTopics;
|
|
9
|
+
};
|
|
10
|
+
const create: MqttService.Factory;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=StatefulScene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatefulScene.d.ts","sourceRoot":"","sources":["../../src/service/StatefulScene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,yBAAiB,aAAa,CAAC;IAEpB,MAAM,IAAI,kBAA4B,CAAC;IAE9C,KAAY,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG;QACtC,IAAI,EAAE,OAAO,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAA;KAChD,CAAC;IAEK,MAAM,MAAM,EAAE,WAAW,CAAC,OAmBhC,CAAC;CACL"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StatefulScene = void 0;
|
|
4
|
+
const index_js_1 = require("./characteristic/index.js");
|
|
5
|
+
const until_js_1 = require("./until.js");
|
|
6
|
+
var StatefulScene;
|
|
7
|
+
(function (StatefulScene) {
|
|
8
|
+
StatefulScene.TYPE = 'stateful-scene';
|
|
9
|
+
StatefulScene.create = async (platform, mqtt, accessory, serviceConfig, primary) => {
|
|
10
|
+
if (serviceConfig.type !== StatefulScene.TYPE) {
|
|
11
|
+
throw new Error(`StatelessScene factory expects a '${StatefulScene.TYPE}' config`);
|
|
12
|
+
}
|
|
13
|
+
const config = serviceConfig;
|
|
14
|
+
const { service, cleanup, online, ctx } = await (0, until_js_1.defineService)(platform, mqtt, accessory, platform.Service.Switch, serviceConfig, primary);
|
|
15
|
+
if (!config.topics.stickyOn) {
|
|
16
|
+
throw new Error(`Could not create Button service [${config.name}] for device [${accessory.context.deviceId}]. Missing 'stickyOn' topics`);
|
|
17
|
+
}
|
|
18
|
+
cleanup.push(await (0, index_js_1.stickyOn)(platform, mqtt, accessory, service, config.topics.stickyOn, ctx));
|
|
19
|
+
return {
|
|
20
|
+
config,
|
|
21
|
+
hap: service,
|
|
22
|
+
dispose: () => cleanup.detach(),
|
|
23
|
+
setConnected: value => online.setValue(value)
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
})(StatefulScene = exports.StatefulScene || (exports.StatefulScene = {}));
|
|
27
|
+
//# sourceMappingURL=StatefulScene.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatefulScene.js","sourceRoot":"","sources":["../../src/service/StatefulScene.ts"],"names":[],"mappings":";;;AAAA,wDAAyF;AAEzF,yCAA2C;AAE3C,IAAiB,aAAa,CA8B7B;AA9BD,WAAiB,aAAa;IAEb,kBAAI,GAAG,gBAAyB,CAAC;IAQjC,oBAAM,GAAwB,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;QACnG,IAAI,aAAa,CAAC,IAAI,KAAK,cAAA,IAAI,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,qCAAqC,cAAA,IAAI,UAAU,CAAC,CAAC;SACxE;QACD,MAAM,MAAM,GAAG,aAAuB,CAAC;QAEvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,wBAAa,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAE1I,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,iBAAiB,SAAS,CAAC,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;SAC7I;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9F,OAAO;YACH,MAAM;YACN,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;YAC/B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;SAChD,CAAC;IACN,CAAC,CAAC;AACN,CAAC,EA9BgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QA8B7B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MomentaryOn } from './characteristic/index.js';
|
|
2
|
+
import { MqttService } from './MqttService.js';
|
|
3
|
+
export declare namespace StatelessScene {
|
|
4
|
+
const TYPE: "stateless-scene";
|
|
5
|
+
type Config = MqttService.Config & {
|
|
6
|
+
type: typeof TYPE;
|
|
7
|
+
name: string;
|
|
8
|
+
topics: MomentaryOn & MqttService.StandardTopics;
|
|
9
|
+
};
|
|
10
|
+
const create: MqttService.Factory;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=StatelessScene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatelessScene.d.ts","sourceRoot":"","sources":["../../src/service/StatelessScene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,yBAAiB,cAAc,CAAC;IAErB,MAAM,IAAI,mBAA6B,CAAC;IAE/C,KAAY,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG;QACtC,IAAI,EAAE,OAAO,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EACF,WAAW,GACX,WAAW,CAAC,cAAc,CAAA;KACjC,CAAC;IAEK,MAAM,MAAM,EAAE,WAAW,CAAC,OAmBhC,CAAC;CACL"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StatelessScene = void 0;
|
|
4
|
+
const index_js_1 = require("./characteristic/index.js");
|
|
5
|
+
const until_js_1 = require("./until.js");
|
|
6
|
+
var StatelessScene;
|
|
7
|
+
(function (StatelessScene) {
|
|
8
|
+
StatelessScene.TYPE = 'stateless-scene';
|
|
9
|
+
StatelessScene.create = async (platform, mqtt, accessory, serviceConfig, primary) => {
|
|
10
|
+
if (serviceConfig.type !== StatelessScene.TYPE) {
|
|
11
|
+
throw new Error(`StatelessScene factory expects a '${StatelessScene.TYPE}' config`);
|
|
12
|
+
}
|
|
13
|
+
const config = serviceConfig;
|
|
14
|
+
const { service, cleanup, online, ctx } = await (0, until_js_1.defineService)(platform, mqtt, accessory, platform.Service.Switch, serviceConfig, primary);
|
|
15
|
+
if (!config.topics.momentaryOn) {
|
|
16
|
+
throw new Error(`Could not create Button service [${config.name}] for device [${accessory.context.deviceId}]. Missing 'momentaryOn' topics`);
|
|
17
|
+
}
|
|
18
|
+
cleanup.push(await (0, index_js_1.momentaryOn)(platform, mqtt, accessory, service, config.topics.momentaryOn, ctx));
|
|
19
|
+
return {
|
|
20
|
+
config,
|
|
21
|
+
hap: service,
|
|
22
|
+
dispose: () => cleanup.detach(),
|
|
23
|
+
setConnected: value => online.setValue(value)
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
})(StatelessScene = exports.StatelessScene || (exports.StatelessScene = {}));
|
|
27
|
+
//# sourceMappingURL=StatelessScene.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatelessScene.js","sourceRoot":"","sources":["../../src/service/StatelessScene.ts"],"names":[],"mappings":";;;AAAA,wDAAqE;AAErE,yCAA2C;AAE3C,IAAiB,cAAc,CAgC9B;AAhCD,WAAiB,cAAc;IAEd,mBAAI,GAAG,iBAA0B,CAAC;IAUlC,qBAAM,GAAwB,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;QACnG,IAAI,aAAa,CAAC,IAAI,KAAK,eAAA,IAAI,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAA,IAAI,UAAU,CAAC,CAAC;SACxE;QACD,MAAM,MAAM,GAAG,aAAuB,CAAC;QAEvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,wBAAa,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAE1I,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,iBAAiB,SAAS,CAAC,OAAO,CAAC,QAAQ,iCAAiC,CAAC,CAAC;SAChJ;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpG,OAAO;YACH,MAAM;YACN,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;YAC/B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;SAChD,CAAC;IACN,CAAC,CAAC;AACN,CAAC,EAhCgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAgC9B"}
|
|
@@ -17,5 +17,5 @@ export type JsonTopicValue<T = any> = {
|
|
|
17
17
|
stringify(value: T): string;
|
|
18
18
|
parse(value: string): T;
|
|
19
19
|
};
|
|
20
|
-
export declare const parseMqttValue: (value: string) => string | number | boolean;
|
|
20
|
+
export declare const parseMqttValue: (value: string | number | boolean) => string | number | boolean;
|
|
21
21
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAgC,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAAE,QAAO,cAAc,CAAA;CAAE,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,QAAQ,CAAC;AAEnE,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG,UAAU,CAAC;AACnE,MAAM,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;AAC3I,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,KAAK,SAAU,cAAc,cAAc,UAAU,OAAM,0BAA0B,gCAIjG,CAAA;CACJ;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,OAAO,qBAAqB,KAAG,CAAE,MAAM,EAAE,SAAS,cAAc,CAAC,EAAE,MAAM,CAoBhH,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;CAC3B,CAAA;AAED,eAAO,MAAM,cAAc,UAAW,MAAM,GAAG,MAAM,GAAG,OAAO,8BAe9D,CAAC"}
|
|
@@ -32,6 +32,9 @@ const parseTopic = (topic, ctx) => {
|
|
|
32
32
|
};
|
|
33
33
|
exports.parseTopic = parseTopic;
|
|
34
34
|
const parseMqttValue = (value) => {
|
|
35
|
+
if ((0, common_js_1.isNumber)(value) || (0, common_js_1.isBoolean)(value)) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
35
38
|
const num = parseFloat(value);
|
|
36
39
|
if (!Number.isNaN(num)) {
|
|
37
40
|
return num;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":";;;AACA,kDAAoG;AASpG,IAAiB,wBAAwB,CAMxC;AAND,WAAiB,wBAAwB;IACxB,8BAAK,GAAG,CAAC,IAAoB,EAAE,UAAsB,EAAE,KAAiC,CAAC,GAAG,EAAE,CAAC,sBAAU,CAAC,IAAI,CAAC,EAAE,EAAE;QAC3H,IAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAChD,IAAY,CAAC,EAAE,GAAG,EAAE,CAAC;QACtB,OAAO,IAAmC,CAAC;IAC/C,CAAC,CAAA;AACL,CAAC,EANgB,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMxC;AAEM,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,GAA0B,EAAgD,EAAE;IAClH,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE;QACP,OAAO,CAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAE,CAAC;KACtC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAmB;QACzB,IAAI;QACJ,SAAS,CAAC,KAAK;YACX,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,mBAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,KAAa;YACf,OAAO,mBAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;KACJ,CAAC;IAEF,OAAO,CAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAE,CAAC;AACnC,CAAC,CAAC;AApBW,QAAA,UAAU,cAoBrB;AAQK,MAAM,cAAc,GAAG,CAAC,KAAgC,EAAE,EAAE;IAC/D,IAAI,IAAA,oBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAE;QACrC,OAAO,KAAK,CAAC;KAChB;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC;KACd;IACD,IAAI,KAAK,KAAK,MAAM,EAAE;QAClB,OAAO,IAAI,CAAC;KACf;IACD,IAAI,KAAK,KAAK,OAAO,EAAE;QACnB,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB"}
|
|
@@ -45,8 +45,10 @@ export * from './securitySystemTargetState.js';
|
|
|
45
45
|
export * from './securitySystemAlarmType.js';
|
|
46
46
|
export * from './smokeDetected.js';
|
|
47
47
|
export * from './faultMessage';
|
|
48
|
-
export * from './
|
|
48
|
+
export * from './momentaryOn.js';
|
|
49
49
|
export * from './motionDetected.js';
|
|
50
|
+
export * from './mute.js';
|
|
51
|
+
export * from './mqttBridge.js';
|
|
50
52
|
export * from './mqttOnline.js';
|
|
51
53
|
export * from './no2Density.js';
|
|
52
54
|
export * from './ozoneDensity.js';
|
|
@@ -63,6 +65,7 @@ export * from './relativeHumidityDehumidifierThreshold.js';
|
|
|
63
65
|
export * from './statusFault.js';
|
|
64
66
|
export * from './statusTampered.js';
|
|
65
67
|
export * from './statusLowBattery.js';
|
|
68
|
+
export * from './stickyOn.js';
|
|
66
69
|
export * from './so2Density.js';
|
|
67
70
|
export * from './targetFanState.js';
|
|
68
71
|
export * from './targetHeatingCoolingState.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,EACnC,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEvN,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,8 +57,10 @@ __exportStar(require("./securitySystemTargetState.js"), exports);
|
|
|
57
57
|
__exportStar(require("./securitySystemAlarmType.js"), exports);
|
|
58
58
|
__exportStar(require("./smokeDetected.js"), exports);
|
|
59
59
|
__exportStar(require("./faultMessage"), exports);
|
|
60
|
-
__exportStar(require("./
|
|
60
|
+
__exportStar(require("./momentaryOn.js"), exports);
|
|
61
61
|
__exportStar(require("./motionDetected.js"), exports);
|
|
62
|
+
__exportStar(require("./mute.js"), exports);
|
|
63
|
+
__exportStar(require("./mqttBridge.js"), exports);
|
|
62
64
|
__exportStar(require("./mqttOnline.js"), exports);
|
|
63
65
|
__exportStar(require("./no2Density.js"), exports);
|
|
64
66
|
__exportStar(require("./ozoneDensity.js"), exports);
|
|
@@ -75,6 +77,7 @@ __exportStar(require("./relativeHumidityDehumidifierThreshold.js"), exports);
|
|
|
75
77
|
__exportStar(require("./statusFault.js"), exports);
|
|
76
78
|
__exportStar(require("./statusTampered.js"), exports);
|
|
77
79
|
__exportStar(require("./statusLowBattery.js"), exports);
|
|
80
|
+
__exportStar(require("./stickyOn.js"), exports);
|
|
78
81
|
__exportStar(require("./so2Density.js"), exports);
|
|
79
82
|
__exportStar(require("./targetFanState.js"), exports);
|
|
80
83
|
__exportStar(require("./targetHeatingCoolingState.js"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/characteristic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAUA,iDAAgE;AAAvD,oHAAA,wBAAwB,OAAA;AACjC,8CAA4B;AAC5B,kDAAgC;AAChC,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,0DAAwC;AACxC,8DAA4C;AAC5C,6DAA2C;AAC3C,2DAAyC;AACzC,+DAA6C;AAC7C,8DAA4C;AAC5C,wDAAsC;AACtC,kEAAgD;AAChD,kEAAgD;AAChD,uDAAqC;AACrC,uDAAqC;AACrC,0DAAwC;AACxC,gEAA8C;AAC9C,+DAA6C;AAC7C,0EAAwD;AACxD,gEAA8C;AAC9C,2CAAyB;AACzB,4DAA0C;AAC1C,0CAAwB;AACxB,yDAAuC;AACvC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,0DAAwC;AACxC,oDAAkC;AAClC,wDAAsC;AACtC,uDAAqC;AACrC,8CAA4B;AAC5B,yDAAuC;AACvC,mDAAiC;AACjC,kEAAgD;AAChD,iEAA+C;AAC/C,+DAA6C;AAC7C,qDAAmC;AACnC,iDAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/characteristic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAUA,iDAAgE;AAAvD,oHAAA,wBAAwB,OAAA;AACjC,8CAA4B;AAC5B,kDAAgC;AAChC,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,0DAAwC;AACxC,8DAA4C;AAC5C,6DAA2C;AAC3C,2DAAyC;AACzC,+DAA6C;AAC7C,8DAA4C;AAC5C,wDAAsC;AACtC,kEAAgD;AAChD,kEAAgD;AAChD,uDAAqC;AACrC,uDAAqC;AACrC,0DAAwC;AACxC,gEAA8C;AAC9C,+DAA6C;AAC7C,0EAAwD;AACxD,gEAA8C;AAC9C,2CAAyB;AACzB,4DAA0C;AAC1C,0CAAwB;AACxB,yDAAuC;AACvC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,0DAAwC;AACxC,oDAAkC;AAClC,wDAAsC;AACtC,uDAAqC;AACrC,8CAA4B;AAC5B,yDAAuC;AACvC,mDAAiC;AACjC,kEAAgD;AAChD,iEAA+C;AAC/C,+DAA6C;AAC7C,qDAAmC;AACnC,iDAA+B;AAC/B,mDAAiC;AACjC,sDAAoC;AACpC,4CAA0B;AAC1B,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,oDAAkC;AAClC,2DAAyC;AACzC,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,mDAAiC;AACjC,mDAAiC;AACjC,mEAAiD;AACjD,mEAAiD;AACjD,2EAAyD;AACzD,6EAA2D;AAC3D,mDAAiC;AACjC,sDAAoC;AACpC,wDAAsC;AACtC,gDAA8B;AAC9B,kDAAgC;AAChC,sDAAoC;AACpC,iEAA+C;AAC/C,yEAAuD;AACvD,iEAA+C;AAC/C,wDAAsC;AACtC,sDAAoC;AACpC,8DAA4C;AAC5C,+DAA6C;AAC7C,+DAA6C;AAC7C,kDAAgC;AAChC,kDAAgC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CharacteristicConfigurator } from './index';
|
|
2
|
+
export type MomentaryOn = {
|
|
3
|
+
momentaryOn: MomentaryOnConfig;
|
|
4
|
+
};
|
|
5
|
+
export type MomentaryOnConfig = {
|
|
6
|
+
set: string;
|
|
7
|
+
value: string | number | boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const momentaryOn: CharacteristicConfigurator<MomentaryOnConfig>;
|
|
10
|
+
//# sourceMappingURL=momentaryOn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"momentaryOn.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/momentaryOn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACtB,WAAW,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,0BAA0B,CAAC,iBAAiB,CAarE,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.momentaryOn = void 0;
|
|
4
|
+
const common_js_1 = require("../../common.js");
|
|
5
|
+
const index_js_1 = require("./archetype/index.js");
|
|
6
|
+
const momentaryOn = async (platform, mqtt, accessory, service, config, ctx) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const [setTopic, setJson, fullSetTopic] = (0, index_js_1.parseTopic)(config.set, ctx);
|
|
9
|
+
const publishedValue = (_a = setJson === null || setJson === void 0 ? void 0 : setJson.stringify(config.value)) !== null && _a !== void 0 ? _a : `${config.value}`;
|
|
10
|
+
const on = ((_b = service.getCharacteristic(platform.Characteristic.On)) !== null && _b !== void 0 ? _b : service.addCharacteristic(platform.Characteristic.On))
|
|
11
|
+
.onSet(value => {
|
|
12
|
+
if (value) {
|
|
13
|
+
(0, common_js_1.nextTick)(() => on.updateValue(false));
|
|
14
|
+
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][momentaryOn][${config.value}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
15
|
+
mqtt.publish(setTopic, publishedValue);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return index_js_1.DetachableCharacteristic.mixin(on, common_js_1.Detachable.NOOP);
|
|
19
|
+
};
|
|
20
|
+
exports.momentaryOn = momentaryOn;
|
|
21
|
+
//# sourceMappingURL=momentaryOn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"momentaryOn.js","sourceRoot":"","sources":["../../../src/service/characteristic/momentaryOn.ts"],"names":[],"mappings":";;;AAAA,+CAAuD;AACvD,mDAA4E;AAYrE,MAAM,WAAW,GAAkD,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAqC,EAAE;;IACnK,MAAM,CAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAE,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7E,MAAM,EAAE,GAAG,CAAC,MAAA,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,mCAAI,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SACtH,KAAK,CAAC,KAAK,CAAC,EAAE;QACX,IAAI,KAAK,EAAE;YACP,IAAA,oBAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,kBAAkB,MAAM,CAAC,KAAK,YAAY,cAAc,eAAe,YAAY,GAAG,CAAC,CAAC;YACtL,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;SAC1C;IACL,CAAC,CAAC,CAAA;IAEN,OAAO,mCAAwB,CAAC,KAAK,CAAC,EAAE,EAAE,sBAAU,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC,CAAA;AAbY,QAAA,WAAW,eAavB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Characteristic, Service } from 'homebridge';
|
|
2
|
+
import { Mqtt } from '../../Mqtt';
|
|
3
|
+
import { MqttPlatform } from '../../MqttPlatform.js';
|
|
4
|
+
export declare const mqttBridge: (platform: MqttPlatform, mqtt: Mqtt, service: Service) => Characteristic;
|
|
5
|
+
//# sourceMappingURL=mqttBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mqttBridge.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/mqttBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,OAAO,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,eAAO,MAAM,UAAU,aAAc,YAAY,QAAQ,IAAI,WAAW,OAAO,KAAG,cAQjF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mqttBridge = void 0;
|
|
4
|
+
const DISPLAY_NAME = 'MQTT Bridge';
|
|
5
|
+
const UUID = '78d6605d-be4b-4ef9-9170-e7dfc632da4a';
|
|
6
|
+
const mqttBridge = (platform, mqtt, service) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const bridge = new platform.Characteristic(DISPLAY_NAME, UUID, {
|
|
9
|
+
format: "string" /* Formats.STRING */,
|
|
10
|
+
perms: ["pr" /* Perms.PAIRED_READ */, "ev" /* Perms.NOTIFY */]
|
|
11
|
+
});
|
|
12
|
+
return ((_a = service.getCharacteristic(DISPLAY_NAME)) !== null && _a !== void 0 ? _a : service.addCharacteristic(bridge));
|
|
13
|
+
};
|
|
14
|
+
exports.mqttBridge = mqttBridge;
|
|
15
|
+
//# sourceMappingURL=mqttBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mqttBridge.js","sourceRoot":"","sources":["../../../src/service/characteristic/mqttBridge.ts"],"names":[],"mappings":";;;AAIA,MAAM,YAAY,GAAG,aAAa,CAAC;AACnC,MAAM,IAAI,GAAG,sCAAsC,CAAC;AAE7C,MAAM,UAAU,GAAG,CAAC,QAAsB,EAAE,IAAU,EAAE,OAAgB,EAAkB,EAAE;;IAE/F,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE;QAC3D,MAAM,+BAAgB;QACtB,KAAK,EAAE,uDAAmC;KAC7C,CAAC,CAAC;IAEH,OAAO,CAAC,MAAA,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,mCAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CharacteristicConfigurator } from './index';
|
|
2
|
+
export type StickyOn = {
|
|
3
|
+
stickyOn: StickyOnConfig;
|
|
4
|
+
};
|
|
5
|
+
export type StickyOnConfig = {
|
|
6
|
+
set: string;
|
|
7
|
+
get: string;
|
|
8
|
+
value: string | number | boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const stickyOn: CharacteristicConfigurator<StickyOnConfig>;
|
|
11
|
+
//# sourceMappingURL=stickyOn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stickyOn.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/stickyOn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,EAAE,cAAc,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,0BAA0B,CAAC,cAAc,CAuB/D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stickyOn = void 0;
|
|
4
|
+
const common_js_1 = require("../../common.js");
|
|
5
|
+
const index_js_1 = require("./archetype/index.js");
|
|
6
|
+
const stickyOn = async (platform, mqtt, accessory, service, config, ctx) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const [setTopic, setJson, fullSetTopic] = (0, index_js_1.parseTopic)(config.set, ctx);
|
|
9
|
+
const [getTopic, getJson, fullGetTopic] = (0, index_js_1.parseTopic)(config.get, ctx);
|
|
10
|
+
const publishedValue = (_a = setJson === null || setJson === void 0 ? void 0 : setJson.stringify(config.value)) !== null && _a !== void 0 ? _a : `${config.value}`;
|
|
11
|
+
const on = ((_b = service.getCharacteristic(platform.Characteristic.On)) !== null && _b !== void 0 ? _b : service.addCharacteristic(platform.Characteristic.On))
|
|
12
|
+
.onSet(value => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
(0, common_js_1.nextTick)(() => on.updateValue(true));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][stickyOn][${config.value}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
18
|
+
mqtt.publish(setTopic, publishedValue);
|
|
19
|
+
});
|
|
20
|
+
const detachable = await mqtt.subscribe(getTopic, value => {
|
|
21
|
+
const mqttValue = !getJson ? (0, index_js_1.parseMqttValue)(value) : getJson.parse(value);
|
|
22
|
+
const hapValue = `${mqttValue}` === `${config.value}`;
|
|
23
|
+
platform.logger.debug(`Setting [${mqtt.id}][${accessory.displayName}][${service.displayName}][stickyOn][${config.value}] to [${hapValue}] with MQTT value [${mqttValue}] from topic [${fullGetTopic}]`);
|
|
24
|
+
on.updateValue(hapValue);
|
|
25
|
+
});
|
|
26
|
+
return index_js_1.DetachableCharacteristic.mixin(on, detachable);
|
|
27
|
+
};
|
|
28
|
+
exports.stickyOn = stickyOn;
|
|
29
|
+
//# sourceMappingURL=stickyOn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stickyOn.js","sourceRoot":"","sources":["../../../src/service/characteristic/stickyOn.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,mDAA4F;AAarF,MAAM,QAAQ,GAA+C,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAqC,EAAE;;IAC7J,MAAM,CAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAE,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,CAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAE,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAE7E,MAAM,EAAE,GAAG,CAAC,MAAA,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,mCAAI,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SACtH,KAAK,CAAC,KAAK,CAAC,EAAE;QACX,IAAI,CAAC,KAAK,EAAE;YACR,IAAA,oBAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACrC,OAAO;SACV;QACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,eAAe,MAAM,CAAC,KAAK,YAAY,cAAc,eAAe,YAAY,GAAG,CAAC,CAAC;QACnL,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;QACtD,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,GAAG,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACtD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,eAAe,MAAM,CAAC,KAAK,SAAS,QAAQ,sBAAsB,SAAS,iBAAiB,YAAY,GAAG,CAAC,CAAC;QACxM,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,mCAAwB,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC,CAAC;AAvBW,QAAA,QAAQ,YAuBnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc/C,cAAc,kBAAkB,CAAA;AAEhC,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CA8BxD,CAAA"}
|
package/dist/service/index.js
CHANGED
|
@@ -37,11 +37,13 @@ const Outlet_js_1 = require("./Outlet.js");
|
|
|
37
37
|
const SecuritySystem_js_1 = require("./SecuritySystem.js");
|
|
38
38
|
const SmokeSensor_js_1 = require("./SmokeSensor.js");
|
|
39
39
|
const Speaker_js_1 = require("./Speaker.js");
|
|
40
|
+
const StatefulScene_1 = require("./StatefulScene");
|
|
40
41
|
const Switch_js_1 = require("./Switch.js");
|
|
41
42
|
const TemperatureSensor_js_1 = require("./TemperatureSensor.js");
|
|
42
43
|
const Thermostat_js_1 = require("./Thermostat.js");
|
|
43
44
|
const Window_1 = require("./Window");
|
|
44
45
|
const WindowCovering_js_1 = require("./WindowCovering.js");
|
|
46
|
+
const StatelessScene_js_1 = require("./StatelessScene.js");
|
|
45
47
|
__exportStar(require("./MqttService.js"), exports);
|
|
46
48
|
exports.Services = {
|
|
47
49
|
[AirQualitySensor_js_1.AirQualitySensor.TYPE]: AirQualitySensor_js_1.AirQualitySensor.create,
|
|
@@ -66,6 +68,8 @@ exports.Services = {
|
|
|
66
68
|
[SecuritySystem_js_1.SecuritySystem.TYPE]: SecuritySystem_js_1.SecuritySystem.create,
|
|
67
69
|
[SmokeSensor_js_1.SmokeSensor.TYPE]: SmokeSensor_js_1.SmokeSensor.create,
|
|
68
70
|
[Speaker_js_1.Speaker.TYPE]: Speaker_js_1.Speaker.create,
|
|
71
|
+
[StatelessScene_js_1.StatelessScene.TYPE]: StatelessScene_js_1.StatelessScene.create,
|
|
72
|
+
[StatefulScene_1.StatefulScene.TYPE]: StatefulScene_1.StatefulScene.create,
|
|
69
73
|
[Switch_js_1.Switch.TYPE]: Switch_js_1.Switch.create,
|
|
70
74
|
[TemperatureSensor_js_1.TemperatureSensor.TYPE]: TemperatureSensor_js_1.TemperatureSensor.create,
|
|
71
75
|
[Thermostat_js_1.Thermostat.TYPE]: Thermostat_js_1.Thermostat.create,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAAyD;AACzD,6CAAuC;AACvC,2CAAqC;AACrC,iDAA2C;AAC3C,yDAAmD;AACnD,+CAAyC;AACzC,iCAA8B;AAC9B,yCAAsC;AACtC,qCAA+B;AAC/B,2EAAqE;AACrE,2DAAqD;AACrD,mDAA6C;AAC7C,iDAA2C;AAC3C,qDAA+C;AAC/C,yDAAmD;AACnD,mDAA6C;AAC7C,uDAAiD;AAEjD,6DAAuD;AACvD,2CAAqC;AACrC,2DAAqD;AACrD,qDAA+C;AAC/C,6CAAuC;AACvC,2CAAqC;AACrC,iEAA2D;AAC3D,mDAA6C;AAC7C,qCAAkC;AAClC,2DAAqD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAAyD;AACzD,6CAAuC;AACvC,2CAAqC;AACrC,iDAA2C;AAC3C,yDAAmD;AACnD,+CAAyC;AACzC,iCAA8B;AAC9B,yCAAsC;AACtC,qCAA+B;AAC/B,2EAAqE;AACrE,2DAAqD;AACrD,mDAA6C;AAC7C,iDAA2C;AAC3C,qDAA+C;AAC/C,yDAAmD;AACnD,mDAA6C;AAC7C,uDAAiD;AAEjD,6DAAuD;AACvD,2CAAqC;AACrC,2DAAqD;AACrD,qDAA+C;AAC/C,6CAAuC;AACvC,mDAAgD;AAChD,2CAAqC;AACrC,iEAA2D;AAC3D,mDAA6C;AAC7C,qCAAkC;AAClC,2DAAqD;AACrD,2DAAoD;AAEpD,mDAAgC;AAEnB,QAAA,QAAQ,GAAwC;IACzD,CAAC,sCAAgB,CAAC,IAAI,CAAC,EAAW,sCAAgB,CAAC,MAAM;IACzD,CAAC,oBAAO,CAAC,IAAI,CAAC,EAAoB,oBAAO,CAAC,MAAM;IAChD,CAAC,kBAAM,CAAC,IAAI,CAAC,EAAqB,kBAAM,CAAC,MAAM;IAC/C,CAAC,sBAAQ,CAAC,IAAI,CAAC,EAAmB,sBAAQ,CAAC,MAAM;IACjD,CAAC,wBAAS,CAAC,IAAI,CAAC,EAAkB,wBAAS,CAAC,MAAM;IAClD,CAAC,gCAAa,CAAC,IAAI,CAAC,EAAc,gCAAa,CAAC,MAAM;IACtD,CAAC,WAAI,CAAC,IAAI,CAAC,EAAuB,WAAI,CAAC,MAAM;IAC7C,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAmB,mBAAQ,CAAC,MAAM;IACjD,CAAC,YAAG,CAAC,IAAI,CAAC,EAAwB,YAAG,CAAC,MAAM;IAC5C,CAAC,kDAAsB,CAAC,IAAI,CAAC,EAAK,kDAAsB,CAAC,MAAM;IAC/D,CAAC,kCAAc,CAAC,IAAI,CAAC,EAAa,kCAAc,CAAC,MAAM;IACvD,CAAC,0BAAU,CAAC,IAAI,CAAC,EAAiB,0BAAU,CAAC,MAAM;IACnD,CAAC,wBAAS,CAAC,IAAI,CAAC,EAAkB,wBAAS,CAAC,MAAM;IAClD,CAAC,4BAAW,CAAC,IAAI,CAAC,EAAgB,4BAAW,CAAC,MAAM;IACpD,CAAC,gCAAa,CAAC,IAAI,CAAC,EAAc,gCAAa,CAAC,MAAM;IACtD,CAAC,0BAAU,CAAC,IAAI,CAAC,EAAiB,0BAAU,CAAC,MAAM;IACnD,CAAC,8BAAY,CAAC,IAAI,CAAC,EAAe,8BAAY,CAAC,MAAM;IACrD,CAAC,oCAAe,CAAC,IAAI,CAAC,EAAY,oCAAe,CAAC,MAAM;IACxD,CAAC,kBAAM,CAAC,IAAI,CAAC,EAAqB,kBAAM,CAAC,MAAM;IAC/C,CAAC,kCAAc,CAAC,IAAI,CAAC,EAAa,kCAAc,CAAC,MAAM;IACvD,CAAC,4BAAW,CAAC,IAAI,CAAC,EAAgB,4BAAW,CAAC,MAAM;IACpD,CAAC,oBAAO,CAAC,IAAI,CAAC,EAAoB,oBAAO,CAAC,MAAM;IAChD,CAAC,kCAAc,CAAC,IAAI,CAAC,EAAa,kCAAc,CAAC,MAAM;IACvD,CAAC,6BAAa,CAAC,IAAI,CAAC,EAAc,6BAAa,CAAC,MAAM;IACtD,CAAC,kBAAM,CAAC,IAAI,CAAC,EAAqB,kBAAM,CAAC,MAAM;IAC/C,CAAC,wCAAiB,CAAC,IAAI,CAAC,EAAU,wCAAiB,CAAC,MAAM;IAC1D,CAAC,0BAAU,CAAC,IAAI,CAAC,EAAiB,0BAAU,CAAC,MAAM;IACnD,CAAC,eAAM,CAAC,IAAI,CAAC,EAAqB,eAAM,CAAC,MAAM;IAC/C,CAAC,kCAAc,CAAC,IAAI,CAAC,EAAa,kCAAc,CAAC,MAAM;CAC1D,CAAA"}
|