@camstack/types 1.2.421 → 1.2.423
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/dist/addon.js +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/composer.cap.d.ts +129 -57
- package/dist/capabilities/core-blocks.cap.d.ts +936 -410
- package/dist/capabilities/index.d.ts +3 -1
- package/dist/capabilities/meter.cap.d.ts +53 -0
- package/dist/capabilities/notification-rules.cap.d.ts +12 -0
- package/dist/client.js +17 -1
- package/dist/client.mjs +17 -1
- package/dist/composition/composition-report.d.ts +45 -0
- package/dist/composition/composition.d.ts +196 -19
- package/dist/composition/helpers/compile-history.d.ts +13 -0
- package/dist/composition/helpers/compile.d.ts +2 -1
- package/dist/composition/helpers/energy.d.ts +8 -0
- package/dist/composition/helpers/history-math.d.ts +39 -0
- package/dist/composition/helpers/history-window.d.ts +71 -0
- package/dist/composition/helpers/index.d.ts +6 -2
- package/dist/composition/helpers/source-pick.d.ts +2 -0
- package/dist/composition/helpers/spec.d.ts +23 -10
- package/dist/{composition-B3Hkb6v7.js → composition-CPRAP41h.js} +792 -8
- package/dist/{composition-B2rw5L29.mjs → composition-CpETZ4HL.mjs} +595 -9
- package/dist/device/cap-vocabulary/entries/sensors.d.ts +1 -1
- package/dist/generated/addon-api.d.ts +14 -0
- package/dist/generated/addon-cap-facts.d.ts +1 -1
- package/dist/generated/cap-status-types.d.ts +3 -1
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/device-local-state.d.ts +3 -0
- package/dist/generated/device-proxy.d.ts +3 -0
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/history-catalog.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/index.js +761 -447
- package/dist/index.mjs +723 -448
- package/dist/node.js +1 -1
- package/dist/node.mjs +1 -1
- package/dist/{sleep-bykKrTgu.mjs → sleep-0sD_LHLI.mjs} +10 -1
- package/dist/{sleep-YJ6FVsUu.js → sleep-CEKGW7A5.js} +10 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
2
|
+
const require_sleep = require("./sleep-CEKGW7A5.js");
|
|
3
3
|
const require_event_category = require("./event-category-Ave2VSxY.js");
|
|
4
|
-
const require_composition = require("./composition-
|
|
4
|
+
const require_composition = require("./composition-CPRAP41h.js");
|
|
5
5
|
const require_node_color = require("./node-color.js");
|
|
6
6
|
const require_err_msg = require("./err-msg-U7lLUMNz.js");
|
|
7
7
|
const require_enums = require("./enums.js");
|
|
@@ -12627,7 +12627,8 @@ var CompositionProblemCodeSchema = zod.z.enum([
|
|
|
12627
12627
|
"native-capability-replace",
|
|
12628
12628
|
"mixed-quantity",
|
|
12629
12629
|
"helper-mismatch",
|
|
12630
|
-
"member-constraint"
|
|
12630
|
+
"member-constraint",
|
|
12631
|
+
"retention"
|
|
12631
12632
|
]);
|
|
12632
12633
|
/** One refusal, named (D391). `path` points into the composition, e.g. `features[0].fields.celsius`. */
|
|
12633
12634
|
var CompositionProblemSchema = zod.z.object({
|
|
@@ -13023,6 +13024,20 @@ function inferExpressionKinds(input) {
|
|
|
13023
13024
|
* planner (`composition-items.ts`). Internal to the composition module — NOT
|
|
13024
13025
|
* in the barrel: these are planner internals, not a published contract.
|
|
13025
13026
|
*/
|
|
13027
|
+
function seriesKinds(source) {
|
|
13028
|
+
if (source.publish !== "value") return {
|
|
13029
|
+
ok: true,
|
|
13030
|
+
kinds: new Set(["number"])
|
|
13031
|
+
};
|
|
13032
|
+
if (source.empty === "null") return {
|
|
13033
|
+
ok: true,
|
|
13034
|
+
kinds: new Set(["number", "null"])
|
|
13035
|
+
};
|
|
13036
|
+
return {
|
|
13037
|
+
ok: true,
|
|
13038
|
+
kinds: new Set(["number"])
|
|
13039
|
+
};
|
|
13040
|
+
}
|
|
13026
13041
|
function aggregateKinds(source) {
|
|
13027
13042
|
if (source.publish !== "value") return {
|
|
13028
13043
|
ok: true,
|
|
@@ -13069,6 +13084,7 @@ function sourceKinds(source, lookupCap) {
|
|
|
13069
13084
|
message: "code fields arrive in slice 4"
|
|
13070
13085
|
};
|
|
13071
13086
|
if (source.kind === "aggregate") return aggregateKinds(source);
|
|
13087
|
+
if (source.kind === "series") return seriesKinds(source);
|
|
13072
13088
|
const bindingKinds = /* @__PURE__ */ new Map();
|
|
13073
13089
|
for (const [name, binding] of Object.entries(source.bindings)) {
|
|
13074
13090
|
if (binding.kind === "literal") {
|
|
@@ -13270,7 +13286,7 @@ function planItems(def, feature, featureIndex, lookupCap, mode = "new") {
|
|
|
13270
13286
|
* One catalog row per base reading a group helper can build (D944 §3).
|
|
13271
13287
|
* Data, not a form default written into the block.
|
|
13272
13288
|
*/
|
|
13273
|
-
var NOW = {
|
|
13289
|
+
var NOW$1 = {
|
|
13274
13290
|
fieldPath: "lastFetchedAt",
|
|
13275
13291
|
expr: "now"
|
|
13276
13292
|
};
|
|
@@ -13316,7 +13332,7 @@ var GROUP_TEMPLATES = [
|
|
|
13316
13332
|
quantity: "temperature",
|
|
13317
13333
|
defaultAggregate: "mean",
|
|
13318
13334
|
empty: "null",
|
|
13319
|
-
companions: [NOW]
|
|
13335
|
+
companions: [NOW$1]
|
|
13320
13336
|
}),
|
|
13321
13337
|
numeric({
|
|
13322
13338
|
id: "humidity",
|
|
@@ -13327,7 +13343,7 @@ var GROUP_TEMPLATES = [
|
|
|
13327
13343
|
quantity: "humidity",
|
|
13328
13344
|
defaultAggregate: "mean",
|
|
13329
13345
|
empty: "null",
|
|
13330
|
-
companions: [NOW]
|
|
13346
|
+
companions: [NOW$1]
|
|
13331
13347
|
}),
|
|
13332
13348
|
numeric({
|
|
13333
13349
|
id: "pressure",
|
|
@@ -13338,7 +13354,7 @@ var GROUP_TEMPLATES = [
|
|
|
13338
13354
|
quantity: "pressure",
|
|
13339
13355
|
defaultAggregate: "mean",
|
|
13340
13356
|
empty: "null",
|
|
13341
|
-
companions: [NOW]
|
|
13357
|
+
companions: [NOW$1]
|
|
13342
13358
|
}),
|
|
13343
13359
|
numeric({
|
|
13344
13360
|
id: "illuminance",
|
|
@@ -13349,7 +13365,7 @@ var GROUP_TEMPLATES = [
|
|
|
13349
13365
|
quantity: "illuminance",
|
|
13350
13366
|
defaultAggregate: "mean",
|
|
13351
13367
|
empty: "null",
|
|
13352
|
-
companions: [NOW]
|
|
13368
|
+
companions: [NOW$1]
|
|
13353
13369
|
}),
|
|
13354
13370
|
numeric({
|
|
13355
13371
|
id: "power",
|
|
@@ -13360,7 +13376,7 @@ var GROUP_TEMPLATES = [
|
|
|
13360
13376
|
quantity: "power",
|
|
13361
13377
|
defaultAggregate: "sum",
|
|
13362
13378
|
empty: "omit",
|
|
13363
|
-
companions: [NOW]
|
|
13379
|
+
companions: [NOW$1]
|
|
13364
13380
|
}),
|
|
13365
13381
|
numeric({
|
|
13366
13382
|
id: "energy",
|
|
@@ -13371,7 +13387,7 @@ var GROUP_TEMPLATES = [
|
|
|
13371
13387
|
quantity: "energy",
|
|
13372
13388
|
defaultAggregate: "sum",
|
|
13373
13389
|
empty: "omit",
|
|
13374
|
-
companions: [NOW]
|
|
13390
|
+
companions: [NOW$1]
|
|
13375
13391
|
}),
|
|
13376
13392
|
numeric({
|
|
13377
13393
|
id: "battery",
|
|
@@ -13406,7 +13422,7 @@ var GROUP_TEMPLATES = [
|
|
|
13406
13422
|
quantity: "device",
|
|
13407
13423
|
defaultAggregate: "mean",
|
|
13408
13424
|
empty: "null",
|
|
13409
|
-
companions: [NOW]
|
|
13425
|
+
companions: [NOW$1]
|
|
13410
13426
|
}),
|
|
13411
13427
|
binary({
|
|
13412
13428
|
id: "motion",
|
|
@@ -13723,6 +13739,545 @@ async function runFanOut(calls, invoke) {
|
|
|
13723
13739
|
return results;
|
|
13724
13740
|
}
|
|
13725
13741
|
//#endregion
|
|
13742
|
+
//#region src/generated/history-catalog.ts
|
|
13743
|
+
/**
|
|
13744
|
+
* Cap history catalog, projected from every `*.cap.ts` `history` block.
|
|
13745
|
+
* 42 caps with series (76 series), 32 caps answered `'none'`.
|
|
13746
|
+
* Field keys are `runtimeState` paths (`a.b` into fixed objects only).
|
|
13747
|
+
*/
|
|
13748
|
+
var HISTORY_CATALOG = {
|
|
13749
|
+
"air-quality-sensor": {
|
|
13750
|
+
"co2Ppm": {
|
|
13751
|
+
kind: "gauge",
|
|
13752
|
+
unit: "ppm",
|
|
13753
|
+
deadband: 5
|
|
13754
|
+
},
|
|
13755
|
+
"vocPpb": {
|
|
13756
|
+
kind: "gauge",
|
|
13757
|
+
unit: "ppb",
|
|
13758
|
+
deadband: 5
|
|
13759
|
+
},
|
|
13760
|
+
"pm25": {
|
|
13761
|
+
kind: "gauge",
|
|
13762
|
+
unit: "µg/m³",
|
|
13763
|
+
deadband: 1
|
|
13764
|
+
},
|
|
13765
|
+
"pm10": {
|
|
13766
|
+
kind: "gauge",
|
|
13767
|
+
unit: "µg/m³",
|
|
13768
|
+
deadband: 1
|
|
13769
|
+
},
|
|
13770
|
+
"aqi": {
|
|
13771
|
+
kind: "gauge",
|
|
13772
|
+
unit: "count",
|
|
13773
|
+
deadband: 1
|
|
13774
|
+
}
|
|
13775
|
+
},
|
|
13776
|
+
"alarm-panel": { "state": {
|
|
13777
|
+
kind: "enum",
|
|
13778
|
+
values: [
|
|
13779
|
+
"disarmed",
|
|
13780
|
+
"armed_home",
|
|
13781
|
+
"armed_away",
|
|
13782
|
+
"armed_night",
|
|
13783
|
+
"armed_vacation",
|
|
13784
|
+
"armed_custom_bypass",
|
|
13785
|
+
"arming",
|
|
13786
|
+
"disarming",
|
|
13787
|
+
"pending",
|
|
13788
|
+
"triggered"
|
|
13789
|
+
]
|
|
13790
|
+
} },
|
|
13791
|
+
"ambient-light-sensor": { "lux": {
|
|
13792
|
+
kind: "gauge",
|
|
13793
|
+
unit: "lx",
|
|
13794
|
+
deadbandPct: 10,
|
|
13795
|
+
minIntervalMs: 6e4
|
|
13796
|
+
} },
|
|
13797
|
+
"battery": {
|
|
13798
|
+
"percentage": {
|
|
13799
|
+
kind: "gauge",
|
|
13800
|
+
unit: "%"
|
|
13801
|
+
},
|
|
13802
|
+
"volts": {
|
|
13803
|
+
kind: "gauge",
|
|
13804
|
+
unit: "V"
|
|
13805
|
+
}
|
|
13806
|
+
},
|
|
13807
|
+
"binary": { "on": { kind: "boolean" } },
|
|
13808
|
+
"brightness": { "percentage": {
|
|
13809
|
+
kind: "gauge",
|
|
13810
|
+
unit: "%",
|
|
13811
|
+
minIntervalMs: 0
|
|
13812
|
+
} },
|
|
13813
|
+
"carbon-monoxide": { "detected": { kind: "boolean" } },
|
|
13814
|
+
"climate-control": {
|
|
13815
|
+
"currentTemp": {
|
|
13816
|
+
kind: "gauge",
|
|
13817
|
+
unit: "°C",
|
|
13818
|
+
deadband: .1
|
|
13819
|
+
},
|
|
13820
|
+
"currentHumidity": {
|
|
13821
|
+
kind: "gauge",
|
|
13822
|
+
unit: "%",
|
|
13823
|
+
deadband: .5
|
|
13824
|
+
},
|
|
13825
|
+
"target": {
|
|
13826
|
+
kind: "gauge",
|
|
13827
|
+
unit: "°C",
|
|
13828
|
+
minIntervalMs: 0
|
|
13829
|
+
},
|
|
13830
|
+
"targetHigh": {
|
|
13831
|
+
kind: "gauge",
|
|
13832
|
+
unit: "°C",
|
|
13833
|
+
minIntervalMs: 0
|
|
13834
|
+
},
|
|
13835
|
+
"targetLow": {
|
|
13836
|
+
kind: "gauge",
|
|
13837
|
+
unit: "°C",
|
|
13838
|
+
minIntervalMs: 0
|
|
13839
|
+
}
|
|
13840
|
+
},
|
|
13841
|
+
"connectivity": { "connected": { kind: "boolean" } },
|
|
13842
|
+
"contact": { "entryOpen": { kind: "boolean" } },
|
|
13843
|
+
"cover": { "position": {
|
|
13844
|
+
kind: "gauge",
|
|
13845
|
+
unit: "%",
|
|
13846
|
+
minIntervalMs: 0
|
|
13847
|
+
} },
|
|
13848
|
+
"device-status": { "online": { kind: "boolean" } },
|
|
13849
|
+
"dishwasher": {
|
|
13850
|
+
"progressPercent": {
|
|
13851
|
+
kind: "gauge",
|
|
13852
|
+
unit: "%",
|
|
13853
|
+
deadband: 2
|
|
13854
|
+
},
|
|
13855
|
+
"state": {
|
|
13856
|
+
kind: "enum",
|
|
13857
|
+
values: [
|
|
13858
|
+
"idle",
|
|
13859
|
+
"running",
|
|
13860
|
+
"paused",
|
|
13861
|
+
"finished",
|
|
13862
|
+
"error",
|
|
13863
|
+
"unavailable"
|
|
13864
|
+
]
|
|
13865
|
+
},
|
|
13866
|
+
"operationState": {
|
|
13867
|
+
kind: "enum",
|
|
13868
|
+
values: [
|
|
13869
|
+
"Inactive",
|
|
13870
|
+
"Ready",
|
|
13871
|
+
"DelayedStart",
|
|
13872
|
+
"Run",
|
|
13873
|
+
"Pause",
|
|
13874
|
+
"ActionRequired",
|
|
13875
|
+
"Finished",
|
|
13876
|
+
"Error",
|
|
13877
|
+
"Aborting"
|
|
13878
|
+
]
|
|
13879
|
+
},
|
|
13880
|
+
"remainingSeconds": {
|
|
13881
|
+
kind: "gauge",
|
|
13882
|
+
unit: "s",
|
|
13883
|
+
minIntervalMs: 6e4
|
|
13884
|
+
},
|
|
13885
|
+
"doorOpen": { kind: "boolean" },
|
|
13886
|
+
"powerOn": { kind: "boolean" }
|
|
13887
|
+
},
|
|
13888
|
+
"enum-sensor": { "value": {
|
|
13889
|
+
kind: "enum",
|
|
13890
|
+
skipWhenSet: "timestamp"
|
|
13891
|
+
} },
|
|
13892
|
+
"fan-control": {
|
|
13893
|
+
"percentage": {
|
|
13894
|
+
kind: "gauge",
|
|
13895
|
+
unit: "%",
|
|
13896
|
+
minIntervalMs: 0
|
|
13897
|
+
},
|
|
13898
|
+
"oscillating": { kind: "boolean" }
|
|
13899
|
+
},
|
|
13900
|
+
"flood": { "flooded": { kind: "boolean" } },
|
|
13901
|
+
"gas": { "detected": { kind: "boolean" } },
|
|
13902
|
+
"heating-valve": { "position": {
|
|
13903
|
+
kind: "gauge",
|
|
13904
|
+
unit: "%",
|
|
13905
|
+
deadband: 1
|
|
13906
|
+
} },
|
|
13907
|
+
"humidifier": {
|
|
13908
|
+
"currentHumidity": {
|
|
13909
|
+
kind: "gauge",
|
|
13910
|
+
unit: "%",
|
|
13911
|
+
deadband: .5
|
|
13912
|
+
},
|
|
13913
|
+
"on": { kind: "boolean" }
|
|
13914
|
+
},
|
|
13915
|
+
"humidity-sensor": { "percent": {
|
|
13916
|
+
kind: "gauge",
|
|
13917
|
+
unit: "%",
|
|
13918
|
+
deadband: .5
|
|
13919
|
+
} },
|
|
13920
|
+
"lawn-mower-control": { "batteryLevel": {
|
|
13921
|
+
kind: "gauge",
|
|
13922
|
+
unit: "%",
|
|
13923
|
+
deadband: 2
|
|
13924
|
+
} },
|
|
13925
|
+
"lock-control": { "state": {
|
|
13926
|
+
kind: "enum",
|
|
13927
|
+
values: [
|
|
13928
|
+
"locked",
|
|
13929
|
+
"unlocked",
|
|
13930
|
+
"locking",
|
|
13931
|
+
"unlocking",
|
|
13932
|
+
"jammed"
|
|
13933
|
+
]
|
|
13934
|
+
} },
|
|
13935
|
+
"media-player": {
|
|
13936
|
+
"volumeLevel": {
|
|
13937
|
+
kind: "gauge",
|
|
13938
|
+
unit: "%",
|
|
13939
|
+
deadband: 1
|
|
13940
|
+
},
|
|
13941
|
+
"isMuted": { kind: "boolean" }
|
|
13942
|
+
},
|
|
13943
|
+
"meter": { "value": {
|
|
13944
|
+
kind: "counter",
|
|
13945
|
+
deadband: .001,
|
|
13946
|
+
minIntervalMs: 6e4
|
|
13947
|
+
} },
|
|
13948
|
+
"motion": { "detected": {
|
|
13949
|
+
kind: "boolean",
|
|
13950
|
+
excludeDeviceTypes: [require_err_msg.DeviceType.Camera]
|
|
13951
|
+
} },
|
|
13952
|
+
"network-link": {
|
|
13953
|
+
"signalPercent": {
|
|
13954
|
+
kind: "gauge",
|
|
13955
|
+
unit: "%",
|
|
13956
|
+
deadband: 3,
|
|
13957
|
+
minIntervalMs: 6e4
|
|
13958
|
+
},
|
|
13959
|
+
"rssiDbm": {
|
|
13960
|
+
kind: "gauge",
|
|
13961
|
+
unit: "dBm",
|
|
13962
|
+
deadband: 2,
|
|
13963
|
+
minIntervalMs: 6e4
|
|
13964
|
+
}
|
|
13965
|
+
},
|
|
13966
|
+
"numeric-sensor": { "value": {
|
|
13967
|
+
kind: "gauge",
|
|
13968
|
+
minIntervalMs: 3e4
|
|
13969
|
+
} },
|
|
13970
|
+
"pet-feeder": {
|
|
13971
|
+
"foodLevel": { kind: "gauge" },
|
|
13972
|
+
"food1": { kind: "gauge" },
|
|
13973
|
+
"food2": { kind: "gauge" },
|
|
13974
|
+
"batteryPower": {
|
|
13975
|
+
kind: "gauge",
|
|
13976
|
+
unit: "%",
|
|
13977
|
+
deadband: 2
|
|
13978
|
+
},
|
|
13979
|
+
"desiccantLeftDays": {
|
|
13980
|
+
kind: "gauge",
|
|
13981
|
+
unit: "s"
|
|
13982
|
+
}
|
|
13983
|
+
},
|
|
13984
|
+
"power-meter": {
|
|
13985
|
+
"watts": {
|
|
13986
|
+
kind: "gauge",
|
|
13987
|
+
unit: "W",
|
|
13988
|
+
deadband: 1,
|
|
13989
|
+
minIntervalMs: 3e4
|
|
13990
|
+
},
|
|
13991
|
+
"kwhTotal": {
|
|
13992
|
+
kind: "counter",
|
|
13993
|
+
unit: "kWh",
|
|
13994
|
+
deadband: .01,
|
|
13995
|
+
minIntervalMs: 6e4
|
|
13996
|
+
},
|
|
13997
|
+
"volts": {
|
|
13998
|
+
kind: "gauge",
|
|
13999
|
+
unit: "V",
|
|
14000
|
+
deadband: 1,
|
|
14001
|
+
minIntervalMs: 3e4
|
|
14002
|
+
},
|
|
14003
|
+
"amps": {
|
|
14004
|
+
kind: "gauge",
|
|
14005
|
+
unit: "A",
|
|
14006
|
+
deadband: .05,
|
|
14007
|
+
minIntervalMs: 3e4
|
|
14008
|
+
},
|
|
14009
|
+
"va": {
|
|
14010
|
+
kind: "gauge",
|
|
14011
|
+
unit: "VA",
|
|
14012
|
+
deadband: 1,
|
|
14013
|
+
minIntervalMs: 3e4
|
|
14014
|
+
},
|
|
14015
|
+
"powerFactor": {
|
|
14016
|
+
kind: "gauge",
|
|
14017
|
+
unit: "ratio",
|
|
14018
|
+
deadband: .01,
|
|
14019
|
+
minIntervalMs: 6e4
|
|
14020
|
+
}
|
|
14021
|
+
},
|
|
14022
|
+
"presence": { "batteryPercent": {
|
|
14023
|
+
kind: "gauge",
|
|
14024
|
+
unit: "%",
|
|
14025
|
+
deadband: 1
|
|
14026
|
+
} },
|
|
14027
|
+
"pressure-sensor": { "hpa": {
|
|
14028
|
+
kind: "gauge",
|
|
14029
|
+
unit: "hPa",
|
|
14030
|
+
deadband: .1
|
|
14031
|
+
} },
|
|
14032
|
+
"running-state": { "running": { kind: "boolean" } },
|
|
14033
|
+
"smoke": { "detected": { kind: "boolean" } },
|
|
14034
|
+
"stream-params": {
|
|
14035
|
+
"main.bitrate": {
|
|
14036
|
+
kind: "gauge",
|
|
14037
|
+
unit: "kbps"
|
|
14038
|
+
},
|
|
14039
|
+
"main.framerate": {
|
|
14040
|
+
kind: "gauge",
|
|
14041
|
+
unit: "fps"
|
|
14042
|
+
},
|
|
14043
|
+
"sub.bitrate": {
|
|
14044
|
+
kind: "gauge",
|
|
14045
|
+
unit: "kbps"
|
|
14046
|
+
},
|
|
14047
|
+
"sub.framerate": {
|
|
14048
|
+
kind: "gauge",
|
|
14049
|
+
unit: "fps"
|
|
14050
|
+
}
|
|
14051
|
+
},
|
|
14052
|
+
"switch": { "on": { kind: "boolean" } },
|
|
14053
|
+
"tamper": { "tampered": { kind: "boolean" } },
|
|
14054
|
+
"temperature-sensor": { "celsius": {
|
|
14055
|
+
kind: "gauge",
|
|
14056
|
+
unit: "°C",
|
|
14057
|
+
deadband: .1
|
|
14058
|
+
} },
|
|
14059
|
+
"vacuum-control": { "batteryLevel": {
|
|
14060
|
+
kind: "gauge",
|
|
14061
|
+
unit: "%",
|
|
14062
|
+
deadband: 2
|
|
14063
|
+
} },
|
|
14064
|
+
"valve": { "position": {
|
|
14065
|
+
kind: "gauge",
|
|
14066
|
+
unit: "%",
|
|
14067
|
+
minIntervalMs: 0
|
|
14068
|
+
} },
|
|
14069
|
+
"vibration": { "detected": { kind: "boolean" } },
|
|
14070
|
+
"water-heater": {
|
|
14071
|
+
"currentTemp": {
|
|
14072
|
+
kind: "gauge",
|
|
14073
|
+
unit: "°C",
|
|
14074
|
+
deadband: .5
|
|
14075
|
+
},
|
|
14076
|
+
"targetTemp": {
|
|
14077
|
+
kind: "gauge",
|
|
14078
|
+
unit: "°C",
|
|
14079
|
+
minIntervalMs: 0
|
|
14080
|
+
}
|
|
14081
|
+
},
|
|
14082
|
+
"weather": {
|
|
14083
|
+
"temperature": {
|
|
14084
|
+
kind: "gauge",
|
|
14085
|
+
unit: "°C",
|
|
14086
|
+
deadband: .2
|
|
14087
|
+
},
|
|
14088
|
+
"humidity": {
|
|
14089
|
+
kind: "gauge",
|
|
14090
|
+
unit: "%",
|
|
14091
|
+
deadband: 1
|
|
14092
|
+
},
|
|
14093
|
+
"pressure": {
|
|
14094
|
+
kind: "gauge",
|
|
14095
|
+
unit: "hPa",
|
|
14096
|
+
deadband: .5
|
|
14097
|
+
},
|
|
14098
|
+
"windSpeed": {
|
|
14099
|
+
kind: "gauge",
|
|
14100
|
+
unit: "m/s",
|
|
14101
|
+
deadband: .5
|
|
14102
|
+
}
|
|
14103
|
+
}
|
|
14104
|
+
};
|
|
14105
|
+
/**
|
|
14106
|
+
* Keyed-array series (D917), projected from every `history.items` block:
|
|
14107
|
+
* 1 caps (3 item fields). The item key is the series SCOPE;
|
|
14108
|
+
* the series key is `cap:<capName>.<path>[].<field>`.
|
|
14109
|
+
*/
|
|
14110
|
+
var HISTORY_ITEM_CATALOG = { "consumables": {
|
|
14111
|
+
path: "items",
|
|
14112
|
+
key: "key",
|
|
14113
|
+
label: "label",
|
|
14114
|
+
fields: {
|
|
14115
|
+
"level": {
|
|
14116
|
+
kind: "gauge",
|
|
14117
|
+
unit: "%",
|
|
14118
|
+
deadband: 2,
|
|
14119
|
+
displayName: "Level"
|
|
14120
|
+
},
|
|
14121
|
+
"status": {
|
|
14122
|
+
kind: "enum",
|
|
14123
|
+
displayName: "Status",
|
|
14124
|
+
values: [
|
|
14125
|
+
"ok",
|
|
14126
|
+
"low",
|
|
14127
|
+
"empty",
|
|
14128
|
+
"full",
|
|
14129
|
+
"replace"
|
|
14130
|
+
]
|
|
14131
|
+
},
|
|
14132
|
+
"remaining.value": {
|
|
14133
|
+
kind: "gauge",
|
|
14134
|
+
deadband: 1,
|
|
14135
|
+
displayName: "Remaining"
|
|
14136
|
+
}
|
|
14137
|
+
}
|
|
14138
|
+
} };
|
|
14139
|
+
/** Caps that declared `history: 'none'`, sorted. */
|
|
14140
|
+
var HISTORY_NONE_CAPS = [
|
|
14141
|
+
"audio-metrics",
|
|
14142
|
+
"automation-control",
|
|
14143
|
+
"camera-streams",
|
|
14144
|
+
"color",
|
|
14145
|
+
"control",
|
|
14146
|
+
"day-night",
|
|
14147
|
+
"device-discovery",
|
|
14148
|
+
"doorbell",
|
|
14149
|
+
"event-emitter",
|
|
14150
|
+
"feature-probe",
|
|
14151
|
+
"group-commands",
|
|
14152
|
+
"group-status",
|
|
14153
|
+
"image",
|
|
14154
|
+
"image-settings",
|
|
14155
|
+
"intercom",
|
|
14156
|
+
"motion-trigger",
|
|
14157
|
+
"motion-zones",
|
|
14158
|
+
"native-object-detection",
|
|
14159
|
+
"navigation",
|
|
14160
|
+
"notifier",
|
|
14161
|
+
"privacy-mask",
|
|
14162
|
+
"ptz-autotrack",
|
|
14163
|
+
"recording-onboard",
|
|
14164
|
+
"recording-signal",
|
|
14165
|
+
"scene-monitor",
|
|
14166
|
+
"script-runner",
|
|
14167
|
+
"stream-catalog",
|
|
14168
|
+
"stream-signals",
|
|
14169
|
+
"update",
|
|
14170
|
+
"zone-analytics",
|
|
14171
|
+
"zone-rules",
|
|
14172
|
+
"zones"
|
|
14173
|
+
];
|
|
14174
|
+
/** The series specs of `capName`; empty for a `'none'` cap or an unknown one. */
|
|
14175
|
+
function historyFieldsFor(capName) {
|
|
14176
|
+
return HISTORY_CATALOG[capName] ?? {};
|
|
14177
|
+
}
|
|
14178
|
+
//#endregion
|
|
14179
|
+
//#region src/composition/helpers/compile-history.ts
|
|
14180
|
+
/**
|
|
14181
|
+
* Project a statistics or integral helper onto a new device (D944 §3).
|
|
14182
|
+
* The value field is `series`: the composer fills it from history.
|
|
14183
|
+
*/
|
|
14184
|
+
var NOW = {
|
|
14185
|
+
kind: "expression",
|
|
14186
|
+
expr: "now",
|
|
14187
|
+
bindings: {}
|
|
14188
|
+
};
|
|
14189
|
+
function series(member, publish, empty) {
|
|
14190
|
+
return {
|
|
14191
|
+
kind: "series",
|
|
14192
|
+
read: {
|
|
14193
|
+
source: member.source,
|
|
14194
|
+
cap: member.cap,
|
|
14195
|
+
fieldPath: member.fieldPath
|
|
14196
|
+
},
|
|
14197
|
+
publish,
|
|
14198
|
+
empty
|
|
14199
|
+
};
|
|
14200
|
+
}
|
|
14201
|
+
function counts(member) {
|
|
14202
|
+
return {
|
|
14203
|
+
included: series(member, "included", "offline"),
|
|
14204
|
+
excluded: series(member, "excluded", "offline"),
|
|
14205
|
+
total: series(member, "total", "offline")
|
|
14206
|
+
};
|
|
14207
|
+
}
|
|
14208
|
+
function declaredSeriesKind(member) {
|
|
14209
|
+
const field = historyFieldsFor(member.cap)[member.fieldPath];
|
|
14210
|
+
if (field === void 0) return null;
|
|
14211
|
+
return field.kind;
|
|
14212
|
+
}
|
|
14213
|
+
function historyProblems(member) {
|
|
14214
|
+
if (declaredSeriesKind(member) !== null) return [];
|
|
14215
|
+
return [problem("member-constraint", "helper.source", `${member.cap}.${member.fieldPath} has no history declaration`)];
|
|
14216
|
+
}
|
|
14217
|
+
function draft(input) {
|
|
14218
|
+
return {
|
|
14219
|
+
target: {
|
|
14220
|
+
kind: "new",
|
|
14221
|
+
type: require_err_msg.DeviceType.Sensor,
|
|
14222
|
+
role: input.role
|
|
14223
|
+
},
|
|
14224
|
+
helper: input.spec,
|
|
14225
|
+
features: [{
|
|
14226
|
+
kind: "fields",
|
|
14227
|
+
cap: input.cap,
|
|
14228
|
+
fields: {
|
|
14229
|
+
[input.field]: series(input.member, "value", input.empty),
|
|
14230
|
+
lastFetchedAt: NOW
|
|
14231
|
+
}
|
|
14232
|
+
}, {
|
|
14233
|
+
kind: "fields",
|
|
14234
|
+
cap: "group-status",
|
|
14235
|
+
fields: counts(input.member)
|
|
14236
|
+
}]
|
|
14237
|
+
};
|
|
14238
|
+
}
|
|
14239
|
+
function statisticDraft(spec, retention = require_composition.DEFAULT_HISTORY_RETENTION) {
|
|
14240
|
+
const problems = [...historyProblems(spec.source)];
|
|
14241
|
+
const kind = declaredSeriesKind(spec.source);
|
|
14242
|
+
if (kind === "enum") problems.push(problem("kind-mismatch", "helper.source", "a statistic reads a number or a boolean, not a state"));
|
|
14243
|
+
if (spec.stat === "sum" && kind !== "counter") problems.push(problem("kind-mismatch", "helper.stat", "a gauge has no sum — that is the integral template"));
|
|
14244
|
+
const tier = require_composition.planStatisticTier(spec.window, retention);
|
|
14245
|
+
if (!tier.ok) problems.push(problem("retention", "helper.window", tier.reason));
|
|
14246
|
+
return {
|
|
14247
|
+
problems,
|
|
14248
|
+
draft: draft({
|
|
14249
|
+
role: require_err_msg.DeviceRole.NumericSensor,
|
|
14250
|
+
cap: "numeric-sensor",
|
|
14251
|
+
field: "value",
|
|
14252
|
+
empty: "null",
|
|
14253
|
+
spec,
|
|
14254
|
+
member: spec.source
|
|
14255
|
+
})
|
|
14256
|
+
};
|
|
14257
|
+
}
|
|
14258
|
+
function integralDraft(spec, retention = require_composition.DEFAULT_HISTORY_RETENTION) {
|
|
14259
|
+
const problems = [...historyProblems(spec.source)];
|
|
14260
|
+
const kind = declaredSeriesKind(spec.source);
|
|
14261
|
+
const watts = spec.source.cap === "power-meter" && spec.source.fieldPath === "watts";
|
|
14262
|
+
if (kind === "counter" || kind === "boolean" || kind === "enum") problems.push(problem("kind-mismatch", "helper.source", "an integral reads an instantaneous gauge, not a counter or a state"));
|
|
14263
|
+
if (spec.output === "energy" && !watts) problems.push(problem("kind-mismatch", "helper.output", "energy is the integral of power-meter.watts; another reading uses the meter"));
|
|
14264
|
+
if (spec.output === "meter" && watts) problems.push(problem("kind-mismatch", "helper.output", "power integrates to power-meter.kwhTotal, which energy dashboards already read"));
|
|
14265
|
+
const tier = require_composition.planResetTier(spec.reset, retention);
|
|
14266
|
+
if (!tier.ok) problems.push(problem("retention", "helper.reset", tier.reason));
|
|
14267
|
+
const energy = spec.output === "energy";
|
|
14268
|
+
return {
|
|
14269
|
+
problems,
|
|
14270
|
+
draft: draft({
|
|
14271
|
+
role: energy ? require_err_msg.DeviceRole.EnergySensor : require_err_msg.DeviceRole.NumericSensor,
|
|
14272
|
+
cap: energy ? "power-meter" : "meter",
|
|
14273
|
+
field: energy ? "kwhTotal" : "value",
|
|
14274
|
+
empty: "offline",
|
|
14275
|
+
spec,
|
|
14276
|
+
member: spec.source
|
|
14277
|
+
})
|
|
14278
|
+
};
|
|
14279
|
+
}
|
|
14280
|
+
//#endregion
|
|
13726
14281
|
//#region src/composition/helpers/compile.ts
|
|
13727
14282
|
function sameSource(a, b) {
|
|
13728
14283
|
return a.addonId === b.addonId && a.stableId === b.stableId;
|
|
@@ -13866,8 +14421,29 @@ function compileAppliance(spec) {
|
|
|
13866
14421
|
});
|
|
13867
14422
|
}
|
|
13868
14423
|
/** Compile a helper template to a new-device composition. Refusals are named. */
|
|
13869
|
-
function compileHelper(spec) {
|
|
13870
|
-
|
|
14424
|
+
function compileHelper(spec, retention = require_composition.DEFAULT_HISTORY_RETENTION) {
|
|
14425
|
+
switch (spec.kind) {
|
|
14426
|
+
case "group": return compileGroup(spec);
|
|
14427
|
+
case "appliance": return compileAppliance(spec);
|
|
14428
|
+
case "statistic": {
|
|
14429
|
+
const built = statisticDraft(spec, retention);
|
|
14430
|
+
if (built.problems.length > 0) return {
|
|
14431
|
+
ok: false,
|
|
14432
|
+
problems: built.problems
|
|
14433
|
+
};
|
|
14434
|
+
return parseDraft(built.draft);
|
|
14435
|
+
}
|
|
14436
|
+
case "integral": {
|
|
14437
|
+
const built = integralDraft(spec, retention);
|
|
14438
|
+
if (built.problems.length > 0) return {
|
|
14439
|
+
ok: false,
|
|
14440
|
+
problems: built.problems
|
|
14441
|
+
};
|
|
14442
|
+
return parseDraft(built.draft);
|
|
14443
|
+
}
|
|
14444
|
+
}
|
|
14445
|
+
}
|
|
14446
|
+
function compileGroup(spec) {
|
|
13871
14447
|
const template = groupTemplate(spec.templateId);
|
|
13872
14448
|
if (template === null) return {
|
|
13873
14449
|
ok: false,
|
|
@@ -13898,6 +14474,7 @@ function sameHelperBody(stored, compiled) {
|
|
|
13898
14474
|
}
|
|
13899
14475
|
function templateDeviceType(spec) {
|
|
13900
14476
|
if (spec.kind === "appliance") return require_composition.applianceDeviceType(spec.appliance);
|
|
14477
|
+
if (spec.kind !== "group") return null;
|
|
13901
14478
|
return groupTemplate(spec.templateId)?.memberDeviceType ?? null;
|
|
13902
14479
|
}
|
|
13903
14480
|
//#endregion
|
|
@@ -13907,6 +14484,7 @@ function templateDeviceType(spec) {
|
|
|
13907
14484
|
* this spec's, and members that report a quantity must share one (D944 §4).
|
|
13908
14485
|
*/
|
|
13909
14486
|
function quantityProblems(spec, facts) {
|
|
14487
|
+
if (spec.kind !== "group") return [];
|
|
13910
14488
|
const template = groupTemplate(spec.templateId);
|
|
13911
14489
|
if (template === null || template.family !== "numeric") return [];
|
|
13912
14490
|
const known = spec.members.flatMap((member, index) => {
|
|
@@ -13922,6 +14500,7 @@ function quantityProblems(spec, facts) {
|
|
|
13922
14500
|
return [problem("mixed-quantity", "helper.members", `a numeric group requires one quantity; members report ${distinct.join(" and ")}`)];
|
|
13923
14501
|
}
|
|
13924
14502
|
function deviceTypeProblems(spec, facts) {
|
|
14503
|
+
if (spec.kind !== "group") return [];
|
|
13925
14504
|
const template = groupTemplate(spec.templateId);
|
|
13926
14505
|
if (template === null) return [];
|
|
13927
14506
|
return spec.members.flatMap((member, index) => {
|
|
@@ -13941,6 +14520,7 @@ function helperSaveProblems(composition, facts) {
|
|
|
13941
14520
|
if (!compiled.ok) return compiled.problems;
|
|
13942
14521
|
if (!sameHelperBody(composition, compiled.composition)) return [problem("helper-mismatch", "helper", "the stored features are not this template — the helper spec is the only writer")];
|
|
13943
14522
|
if (spec.kind === "appliance") return applianceMemberProblems(spec.member, facts);
|
|
14523
|
+
if (spec.kind !== "group") return [];
|
|
13944
14524
|
return [...quantityProblems(spec, facts), ...deviceTypeProblems(spec, facts)];
|
|
13945
14525
|
}
|
|
13946
14526
|
function applianceMemberProblems(member, facts) {
|
|
@@ -46460,7 +47040,20 @@ var NcRuleInputSchema = zod.z.object({
|
|
|
46460
47040
|
* save by the hub's grouping guard). `.optional()`, never `.default()`: the addon cap
|
|
46461
47041
|
* path does not run Zod defaults.
|
|
46462
47042
|
*/
|
|
46463
|
-
groupingSec: zod.z.number().int().min(5).max(60).optional()
|
|
47043
|
+
groupingSec: zod.z.number().int().min(5).max(60).optional(),
|
|
47044
|
+
/**
|
|
47045
|
+
* ASK ME TO CONFIRM DETECTIONS (#243): a DETECTION notification of this rule
|
|
47046
|
+
* carries "Correct" / "Wrong" buttons (and, where the channel has room, a
|
|
47047
|
+
* "Wrong, it is a <class>" choice). A tap marks the track for retraining, the
|
|
47048
|
+
* same mark the Library writes, and records whose notification it was and
|
|
47049
|
+
* when. A channel with no buttons gets the same two choices as links.
|
|
47050
|
+
*
|
|
47051
|
+
* `.optional()`, never `.default()` (a Zod default does not run on the addon
|
|
47052
|
+
* cap path): absent and `false` both mean off, which is what every rule
|
|
47053
|
+
* authored before this field meant. An editor turns it off by writing
|
|
47054
|
+
* `false`, so it needs no `clear` key.
|
|
47055
|
+
*/
|
|
47056
|
+
askVerdict: zod.z.boolean().optional()
|
|
46464
47057
|
});
|
|
46465
47058
|
/**
|
|
46466
47059
|
* Partial patch for `updateRule` — any subset of the input fields, plus the
|
|
@@ -66693,6 +67286,46 @@ var lockControlCapability = {
|
|
|
66693
67286
|
volatileStateFields: ["lastChangedAt"]
|
|
66694
67287
|
};
|
|
66695
67288
|
//#endregion
|
|
67289
|
+
//#region src/capabilities/meter.cap.ts
|
|
67290
|
+
/**
|
|
67291
|
+
* A monotonic total between resets (D944). Energy uses `power-meter.kwhTotal`
|
|
67292
|
+
* so dashboards keep one series; every other instantaneous reading lands here.
|
|
67293
|
+
* `value` is the time integral in the source quantity's accumulated base
|
|
67294
|
+
* (base-unit seconds, or kWh on the power meter). `null` is a gap, never zero.
|
|
67295
|
+
*/
|
|
67296
|
+
var MeterStatusSchema = zod.z.object({
|
|
67297
|
+
value: zod.z.number().nullable().meta(require_sleep.readingMeta("device", { label: "Total" })),
|
|
67298
|
+
lastFetchedAt: zod.z.number()
|
|
67299
|
+
});
|
|
67300
|
+
var meterCapability = {
|
|
67301
|
+
name: "meter",
|
|
67302
|
+
scope: "device",
|
|
67303
|
+
deviceNative: true,
|
|
67304
|
+
mode: "singleton",
|
|
67305
|
+
deviceTypes: [require_err_msg.DeviceType.Sensor],
|
|
67306
|
+
methods: {},
|
|
67307
|
+
status: {
|
|
67308
|
+
schema: MeterStatusSchema,
|
|
67309
|
+
kind: "push"
|
|
67310
|
+
},
|
|
67311
|
+
runtimeState: MeterStatusSchema,
|
|
67312
|
+
/**
|
|
67313
|
+
* Runtime-state durability: **restored** — the total is a cache of the
|
|
67314
|
+
* history integral. A restart shows it only until the history pass
|
|
67315
|
+
* recomputes the open period; it is not an in-memory buffer.
|
|
67316
|
+
*
|
|
67317
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
67318
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
67319
|
+
*/
|
|
67320
|
+
durability: "restored",
|
|
67321
|
+
history: { fields: { value: {
|
|
67322
|
+
kind: "counter",
|
|
67323
|
+
deadband: .001,
|
|
67324
|
+
minIntervalMs: 6e4
|
|
67325
|
+
} } },
|
|
67326
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
67327
|
+
};
|
|
67328
|
+
//#endregion
|
|
66696
67329
|
//#region src/capabilities/media-player.cap.ts
|
|
66697
67330
|
/**
|
|
66698
67331
|
* Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
|
|
@@ -78153,6 +78786,35 @@ function sourcePickForTemplate(template) {
|
|
|
78153
78786
|
exclude: []
|
|
78154
78787
|
};
|
|
78155
78788
|
}
|
|
78789
|
+
/** A statistic or integral reads one field that declares history. */
|
|
78790
|
+
function sourcePickForHistory(kind) {
|
|
78791
|
+
return {
|
|
78792
|
+
purpose: "historised",
|
|
78793
|
+
multiple: false,
|
|
78794
|
+
max: 1,
|
|
78795
|
+
deviceTypes: [],
|
|
78796
|
+
accept: historyAccept(kind),
|
|
78797
|
+
history: {
|
|
78798
|
+
required: true,
|
|
78799
|
+
minRetentionMs: null
|
|
78800
|
+
},
|
|
78801
|
+
mustBindCaps: [],
|
|
78802
|
+
exclude: []
|
|
78803
|
+
};
|
|
78804
|
+
}
|
|
78805
|
+
function historyAccept(kind) {
|
|
78806
|
+
const fields = [];
|
|
78807
|
+
for (const cap of Object.keys(HISTORY_CATALOG)) for (const [fieldPath, field] of Object.entries(historyFieldsFor(cap))) {
|
|
78808
|
+
if (field.kind === "enum") continue;
|
|
78809
|
+
if (kind === "integral" && field.kind !== "gauge") continue;
|
|
78810
|
+
fields.push({
|
|
78811
|
+
cap,
|
|
78812
|
+
fieldPath,
|
|
78813
|
+
valueKind: field.kind === "boolean" ? "boolean" : "number"
|
|
78814
|
+
});
|
|
78815
|
+
}
|
|
78816
|
+
return fields;
|
|
78817
|
+
}
|
|
78156
78818
|
//#endregion
|
|
78157
78819
|
//#region src/units/unit-table.ts
|
|
78158
78820
|
/**
|
|
@@ -78779,6 +79441,13 @@ function evaluateCompositionField(input) {
|
|
|
78779
79441
|
case "from": return fromReading(input.read(source), source);
|
|
78780
79442
|
case "expression": return expressionOutcome(source, input.read, input.now, input.stateful);
|
|
78781
79443
|
case "aggregate": return aggregateField(source, input.read);
|
|
79444
|
+
case "series": return {
|
|
79445
|
+
state: "unavailable",
|
|
79446
|
+
value: null,
|
|
79447
|
+
reason: "a series field is written from device history",
|
|
79448
|
+
fatal: false,
|
|
79449
|
+
confirmed: false
|
|
79450
|
+
};
|
|
78782
79451
|
case "code": return {
|
|
78783
79452
|
state: "unavailable",
|
|
78784
79453
|
value: null,
|
|
@@ -81553,6 +82222,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
81553
82222
|
lawnMowerControl: lawnMowerControlCapability,
|
|
81554
82223
|
lockControl: lockControlCapability,
|
|
81555
82224
|
mediaPlayer: mediaPlayerCapability,
|
|
82225
|
+
meter: meterCapability,
|
|
81556
82226
|
motion: motionCapability,
|
|
81557
82227
|
motionTrigger: motionTriggerCapability,
|
|
81558
82228
|
motionZones: motionZonesCapability,
|
|
@@ -87846,6 +88516,13 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
87846
88516
|
access: "create",
|
|
87847
88517
|
role: "admin"
|
|
87848
88518
|
},
|
|
88519
|
+
"meter.getStatus": {
|
|
88520
|
+
capName: "meter",
|
|
88521
|
+
capScope: "device",
|
|
88522
|
+
addonId: null,
|
|
88523
|
+
access: "view",
|
|
88524
|
+
role: "viewer"
|
|
88525
|
+
},
|
|
87849
88526
|
"metricsProvider.collectSnapshot": {
|
|
87850
88527
|
capName: "metrics-provider",
|
|
87851
88528
|
capScope: "system",
|
|
@@ -93454,6 +94131,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
93454
94131
|
"login-method",
|
|
93455
94132
|
"media-player",
|
|
93456
94133
|
"mesh-network",
|
|
94134
|
+
"meter",
|
|
93457
94135
|
"metrics-provider",
|
|
93458
94136
|
"model-convert",
|
|
93459
94137
|
"model-distributor",
|
|
@@ -93593,6 +94271,7 @@ var DEVICE_CAP_NAMES = [
|
|
|
93593
94271
|
"lawn-mower-control",
|
|
93594
94272
|
"lock-control",
|
|
93595
94273
|
"media-player",
|
|
94274
|
+
"meter",
|
|
93596
94275
|
"motion",
|
|
93597
94276
|
"motion-detection",
|
|
93598
94277
|
"motion-trigger",
|
|
@@ -97189,6 +97868,17 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
97189
97868
|
}],
|
|
97190
97869
|
events: { onMotionChanged: { notOperatorFacing: "the `detected` state trigger phrases both edges, from the mirror that survives a dropped event (D49)" } }
|
|
97191
97870
|
},
|
|
97871
|
+
meter: {
|
|
97872
|
+
scope: "device",
|
|
97873
|
+
noun: t("Meter", "Contatore"),
|
|
97874
|
+
state: [{
|
|
97875
|
+
kind: "numeric",
|
|
97876
|
+
field: "value",
|
|
97877
|
+
quantity: t("the total", "il totale"),
|
|
97878
|
+
label: t("Total", "Totale"),
|
|
97879
|
+
icon: "gauge"
|
|
97880
|
+
}]
|
|
97881
|
+
},
|
|
97192
97882
|
"numeric-sensor": {
|
|
97193
97883
|
scope: "device",
|
|
97194
97884
|
noun: t("Sensor", "Sensore"),
|
|
@@ -99387,6 +100077,7 @@ var CAP_NAMES_WITH_STATUS = [
|
|
|
99387
100077
|
"lawn-mower-control",
|
|
99388
100078
|
"lock-control",
|
|
99389
100079
|
"media-player",
|
|
100080
|
+
"meter",
|
|
99390
100081
|
"motion",
|
|
99391
100082
|
"motion-trigger",
|
|
99392
100083
|
"motion-zones",
|
|
@@ -99522,6 +100213,7 @@ var CAPABILITY_NAMES = {
|
|
|
99522
100213
|
loginMethod: "login-method",
|
|
99523
100214
|
mediaPlayer: "media-player",
|
|
99524
100215
|
meshNetwork: "mesh-network",
|
|
100216
|
+
meter: "meter",
|
|
99525
100217
|
metricsProvider: "metrics-provider",
|
|
99526
100218
|
modelConvert: "model-convert",
|
|
99527
100219
|
modelDistributor: "model-distributor",
|
|
@@ -99996,6 +100688,10 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
99996
100688
|
key: "meshNetwork",
|
|
99997
100689
|
name: "mesh-network"
|
|
99998
100690
|
},
|
|
100691
|
+
{
|
|
100692
|
+
key: "meter",
|
|
100693
|
+
name: "meter"
|
|
100694
|
+
},
|
|
99999
100695
|
{
|
|
100000
100696
|
key: "metricsProvider",
|
|
100001
100697
|
name: "metrics-provider"
|
|
@@ -100451,6 +101147,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
100451
101147
|
loginMethodCapability,
|
|
100452
101148
|
mediaPlayerCapability,
|
|
100453
101149
|
meshNetworkCapability,
|
|
101150
|
+
meterCapability,
|
|
100454
101151
|
metricsProviderCapability,
|
|
100455
101152
|
modelConvertCapability,
|
|
100456
101153
|
modelDistributorCapability,
|
|
@@ -101717,6 +102414,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
101717
102414
|
form: "single",
|
|
101718
102415
|
optional: false
|
|
101719
102416
|
}],
|
|
102417
|
+
"meter.getStatus": [{
|
|
102418
|
+
name: "deviceId",
|
|
102419
|
+
form: "single",
|
|
102420
|
+
optional: false
|
|
102421
|
+
}],
|
|
101720
102422
|
"motion.getStatus": [{
|
|
101721
102423
|
name: "deviceId",
|
|
101722
102424
|
form: "single",
|
|
@@ -103528,7 +104230,7 @@ function getCapsByProviderKind(kind) {
|
|
|
103528
104230
|
//#region src/generated/runtime-state-durability.ts
|
|
103529
104231
|
/**
|
|
103530
104232
|
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
103531
|
-
* `runtimeState`.
|
|
104233
|
+
* `runtimeState`. 75 caps: 39 `restored`, 36 `session`.
|
|
103532
104234
|
*
|
|
103533
104235
|
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
103534
104236
|
* with `durability: 'session'` has one and has decided not to keep it.
|
|
@@ -103690,6 +104392,10 @@ var RUNTIME_STATE_POLICY = {
|
|
|
103690
104392
|
durability: "session",
|
|
103691
104393
|
volatileFields: []
|
|
103692
104394
|
},
|
|
104395
|
+
"meter": {
|
|
104396
|
+
durability: "restored",
|
|
104397
|
+
volatileFields: ["lastFetchedAt"]
|
|
104398
|
+
},
|
|
103693
104399
|
"motion": {
|
|
103694
104400
|
durability: "session",
|
|
103695
104401
|
volatileFields: []
|
|
@@ -103871,6 +104577,7 @@ var RESTORED_CAP_NAMES = [
|
|
|
103871
104577
|
"humidity-sensor",
|
|
103872
104578
|
"image-settings",
|
|
103873
104579
|
"lock-control",
|
|
104580
|
+
"meter",
|
|
103874
104581
|
"motion-zones",
|
|
103875
104582
|
"native-object-detection",
|
|
103876
104583
|
"network-link",
|
|
@@ -103993,438 +104700,6 @@ var BucketAccumulator = class {
|
|
|
103993
104700
|
}
|
|
103994
104701
|
};
|
|
103995
104702
|
//#endregion
|
|
103996
|
-
//#region src/generated/history-catalog.ts
|
|
103997
|
-
/**
|
|
103998
|
-
* Cap history catalog, projected from every `*.cap.ts` `history` block.
|
|
103999
|
-
* 41 caps with series (75 series), 32 caps answered `'none'`.
|
|
104000
|
-
* Field keys are `runtimeState` paths (`a.b` into fixed objects only).
|
|
104001
|
-
*/
|
|
104002
|
-
var HISTORY_CATALOG = {
|
|
104003
|
-
"air-quality-sensor": {
|
|
104004
|
-
"co2Ppm": {
|
|
104005
|
-
kind: "gauge",
|
|
104006
|
-
unit: "ppm",
|
|
104007
|
-
deadband: 5
|
|
104008
|
-
},
|
|
104009
|
-
"vocPpb": {
|
|
104010
|
-
kind: "gauge",
|
|
104011
|
-
unit: "ppb",
|
|
104012
|
-
deadband: 5
|
|
104013
|
-
},
|
|
104014
|
-
"pm25": {
|
|
104015
|
-
kind: "gauge",
|
|
104016
|
-
unit: "µg/m³",
|
|
104017
|
-
deadband: 1
|
|
104018
|
-
},
|
|
104019
|
-
"pm10": {
|
|
104020
|
-
kind: "gauge",
|
|
104021
|
-
unit: "µg/m³",
|
|
104022
|
-
deadband: 1
|
|
104023
|
-
},
|
|
104024
|
-
"aqi": {
|
|
104025
|
-
kind: "gauge",
|
|
104026
|
-
unit: "count",
|
|
104027
|
-
deadband: 1
|
|
104028
|
-
}
|
|
104029
|
-
},
|
|
104030
|
-
"alarm-panel": { "state": {
|
|
104031
|
-
kind: "enum",
|
|
104032
|
-
values: [
|
|
104033
|
-
"disarmed",
|
|
104034
|
-
"armed_home",
|
|
104035
|
-
"armed_away",
|
|
104036
|
-
"armed_night",
|
|
104037
|
-
"armed_vacation",
|
|
104038
|
-
"armed_custom_bypass",
|
|
104039
|
-
"arming",
|
|
104040
|
-
"disarming",
|
|
104041
|
-
"pending",
|
|
104042
|
-
"triggered"
|
|
104043
|
-
]
|
|
104044
|
-
} },
|
|
104045
|
-
"ambient-light-sensor": { "lux": {
|
|
104046
|
-
kind: "gauge",
|
|
104047
|
-
unit: "lx",
|
|
104048
|
-
deadbandPct: 10,
|
|
104049
|
-
minIntervalMs: 6e4
|
|
104050
|
-
} },
|
|
104051
|
-
"battery": {
|
|
104052
|
-
"percentage": {
|
|
104053
|
-
kind: "gauge",
|
|
104054
|
-
unit: "%"
|
|
104055
|
-
},
|
|
104056
|
-
"volts": {
|
|
104057
|
-
kind: "gauge",
|
|
104058
|
-
unit: "V"
|
|
104059
|
-
}
|
|
104060
|
-
},
|
|
104061
|
-
"binary": { "on": { kind: "boolean" } },
|
|
104062
|
-
"brightness": { "percentage": {
|
|
104063
|
-
kind: "gauge",
|
|
104064
|
-
unit: "%",
|
|
104065
|
-
minIntervalMs: 0
|
|
104066
|
-
} },
|
|
104067
|
-
"carbon-monoxide": { "detected": { kind: "boolean" } },
|
|
104068
|
-
"climate-control": {
|
|
104069
|
-
"currentTemp": {
|
|
104070
|
-
kind: "gauge",
|
|
104071
|
-
unit: "°C",
|
|
104072
|
-
deadband: .1
|
|
104073
|
-
},
|
|
104074
|
-
"currentHumidity": {
|
|
104075
|
-
kind: "gauge",
|
|
104076
|
-
unit: "%",
|
|
104077
|
-
deadband: .5
|
|
104078
|
-
},
|
|
104079
|
-
"target": {
|
|
104080
|
-
kind: "gauge",
|
|
104081
|
-
unit: "°C",
|
|
104082
|
-
minIntervalMs: 0
|
|
104083
|
-
},
|
|
104084
|
-
"targetHigh": {
|
|
104085
|
-
kind: "gauge",
|
|
104086
|
-
unit: "°C",
|
|
104087
|
-
minIntervalMs: 0
|
|
104088
|
-
},
|
|
104089
|
-
"targetLow": {
|
|
104090
|
-
kind: "gauge",
|
|
104091
|
-
unit: "°C",
|
|
104092
|
-
minIntervalMs: 0
|
|
104093
|
-
}
|
|
104094
|
-
},
|
|
104095
|
-
"connectivity": { "connected": { kind: "boolean" } },
|
|
104096
|
-
"contact": { "entryOpen": { kind: "boolean" } },
|
|
104097
|
-
"cover": { "position": {
|
|
104098
|
-
kind: "gauge",
|
|
104099
|
-
unit: "%",
|
|
104100
|
-
minIntervalMs: 0
|
|
104101
|
-
} },
|
|
104102
|
-
"device-status": { "online": { kind: "boolean" } },
|
|
104103
|
-
"dishwasher": {
|
|
104104
|
-
"progressPercent": {
|
|
104105
|
-
kind: "gauge",
|
|
104106
|
-
unit: "%",
|
|
104107
|
-
deadband: 2
|
|
104108
|
-
},
|
|
104109
|
-
"state": {
|
|
104110
|
-
kind: "enum",
|
|
104111
|
-
values: [
|
|
104112
|
-
"idle",
|
|
104113
|
-
"running",
|
|
104114
|
-
"paused",
|
|
104115
|
-
"finished",
|
|
104116
|
-
"error",
|
|
104117
|
-
"unavailable"
|
|
104118
|
-
]
|
|
104119
|
-
},
|
|
104120
|
-
"operationState": {
|
|
104121
|
-
kind: "enum",
|
|
104122
|
-
values: [
|
|
104123
|
-
"Inactive",
|
|
104124
|
-
"Ready",
|
|
104125
|
-
"DelayedStart",
|
|
104126
|
-
"Run",
|
|
104127
|
-
"Pause",
|
|
104128
|
-
"ActionRequired",
|
|
104129
|
-
"Finished",
|
|
104130
|
-
"Error",
|
|
104131
|
-
"Aborting"
|
|
104132
|
-
]
|
|
104133
|
-
},
|
|
104134
|
-
"remainingSeconds": {
|
|
104135
|
-
kind: "gauge",
|
|
104136
|
-
unit: "s",
|
|
104137
|
-
minIntervalMs: 6e4
|
|
104138
|
-
},
|
|
104139
|
-
"doorOpen": { kind: "boolean" },
|
|
104140
|
-
"powerOn": { kind: "boolean" }
|
|
104141
|
-
},
|
|
104142
|
-
"enum-sensor": { "value": {
|
|
104143
|
-
kind: "enum",
|
|
104144
|
-
skipWhenSet: "timestamp"
|
|
104145
|
-
} },
|
|
104146
|
-
"fan-control": {
|
|
104147
|
-
"percentage": {
|
|
104148
|
-
kind: "gauge",
|
|
104149
|
-
unit: "%",
|
|
104150
|
-
minIntervalMs: 0
|
|
104151
|
-
},
|
|
104152
|
-
"oscillating": { kind: "boolean" }
|
|
104153
|
-
},
|
|
104154
|
-
"flood": { "flooded": { kind: "boolean" } },
|
|
104155
|
-
"gas": { "detected": { kind: "boolean" } },
|
|
104156
|
-
"heating-valve": { "position": {
|
|
104157
|
-
kind: "gauge",
|
|
104158
|
-
unit: "%",
|
|
104159
|
-
deadband: 1
|
|
104160
|
-
} },
|
|
104161
|
-
"humidifier": {
|
|
104162
|
-
"currentHumidity": {
|
|
104163
|
-
kind: "gauge",
|
|
104164
|
-
unit: "%",
|
|
104165
|
-
deadband: .5
|
|
104166
|
-
},
|
|
104167
|
-
"on": { kind: "boolean" }
|
|
104168
|
-
},
|
|
104169
|
-
"humidity-sensor": { "percent": {
|
|
104170
|
-
kind: "gauge",
|
|
104171
|
-
unit: "%",
|
|
104172
|
-
deadband: .5
|
|
104173
|
-
} },
|
|
104174
|
-
"lawn-mower-control": { "batteryLevel": {
|
|
104175
|
-
kind: "gauge",
|
|
104176
|
-
unit: "%",
|
|
104177
|
-
deadband: 2
|
|
104178
|
-
} },
|
|
104179
|
-
"lock-control": { "state": {
|
|
104180
|
-
kind: "enum",
|
|
104181
|
-
values: [
|
|
104182
|
-
"locked",
|
|
104183
|
-
"unlocked",
|
|
104184
|
-
"locking",
|
|
104185
|
-
"unlocking",
|
|
104186
|
-
"jammed"
|
|
104187
|
-
]
|
|
104188
|
-
} },
|
|
104189
|
-
"media-player": {
|
|
104190
|
-
"volumeLevel": {
|
|
104191
|
-
kind: "gauge",
|
|
104192
|
-
unit: "%",
|
|
104193
|
-
deadband: 1
|
|
104194
|
-
},
|
|
104195
|
-
"isMuted": { kind: "boolean" }
|
|
104196
|
-
},
|
|
104197
|
-
"motion": { "detected": {
|
|
104198
|
-
kind: "boolean",
|
|
104199
|
-
excludeDeviceTypes: [require_err_msg.DeviceType.Camera]
|
|
104200
|
-
} },
|
|
104201
|
-
"network-link": {
|
|
104202
|
-
"signalPercent": {
|
|
104203
|
-
kind: "gauge",
|
|
104204
|
-
unit: "%",
|
|
104205
|
-
deadband: 3,
|
|
104206
|
-
minIntervalMs: 6e4
|
|
104207
|
-
},
|
|
104208
|
-
"rssiDbm": {
|
|
104209
|
-
kind: "gauge",
|
|
104210
|
-
unit: "dBm",
|
|
104211
|
-
deadband: 2,
|
|
104212
|
-
minIntervalMs: 6e4
|
|
104213
|
-
}
|
|
104214
|
-
},
|
|
104215
|
-
"numeric-sensor": { "value": {
|
|
104216
|
-
kind: "gauge",
|
|
104217
|
-
minIntervalMs: 3e4
|
|
104218
|
-
} },
|
|
104219
|
-
"pet-feeder": {
|
|
104220
|
-
"foodLevel": { kind: "gauge" },
|
|
104221
|
-
"food1": { kind: "gauge" },
|
|
104222
|
-
"food2": { kind: "gauge" },
|
|
104223
|
-
"batteryPower": {
|
|
104224
|
-
kind: "gauge",
|
|
104225
|
-
unit: "%",
|
|
104226
|
-
deadband: 2
|
|
104227
|
-
},
|
|
104228
|
-
"desiccantLeftDays": {
|
|
104229
|
-
kind: "gauge",
|
|
104230
|
-
unit: "s"
|
|
104231
|
-
}
|
|
104232
|
-
},
|
|
104233
|
-
"power-meter": {
|
|
104234
|
-
"watts": {
|
|
104235
|
-
kind: "gauge",
|
|
104236
|
-
unit: "W",
|
|
104237
|
-
deadband: 1,
|
|
104238
|
-
minIntervalMs: 3e4
|
|
104239
|
-
},
|
|
104240
|
-
"kwhTotal": {
|
|
104241
|
-
kind: "counter",
|
|
104242
|
-
unit: "kWh",
|
|
104243
|
-
deadband: .01,
|
|
104244
|
-
minIntervalMs: 6e4
|
|
104245
|
-
},
|
|
104246
|
-
"volts": {
|
|
104247
|
-
kind: "gauge",
|
|
104248
|
-
unit: "V",
|
|
104249
|
-
deadband: 1,
|
|
104250
|
-
minIntervalMs: 3e4
|
|
104251
|
-
},
|
|
104252
|
-
"amps": {
|
|
104253
|
-
kind: "gauge",
|
|
104254
|
-
unit: "A",
|
|
104255
|
-
deadband: .05,
|
|
104256
|
-
minIntervalMs: 3e4
|
|
104257
|
-
},
|
|
104258
|
-
"va": {
|
|
104259
|
-
kind: "gauge",
|
|
104260
|
-
unit: "VA",
|
|
104261
|
-
deadband: 1,
|
|
104262
|
-
minIntervalMs: 3e4
|
|
104263
|
-
},
|
|
104264
|
-
"powerFactor": {
|
|
104265
|
-
kind: "gauge",
|
|
104266
|
-
unit: "ratio",
|
|
104267
|
-
deadband: .01,
|
|
104268
|
-
minIntervalMs: 6e4
|
|
104269
|
-
}
|
|
104270
|
-
},
|
|
104271
|
-
"presence": { "batteryPercent": {
|
|
104272
|
-
kind: "gauge",
|
|
104273
|
-
unit: "%",
|
|
104274
|
-
deadband: 1
|
|
104275
|
-
} },
|
|
104276
|
-
"pressure-sensor": { "hpa": {
|
|
104277
|
-
kind: "gauge",
|
|
104278
|
-
unit: "hPa",
|
|
104279
|
-
deadband: .1
|
|
104280
|
-
} },
|
|
104281
|
-
"running-state": { "running": { kind: "boolean" } },
|
|
104282
|
-
"smoke": { "detected": { kind: "boolean" } },
|
|
104283
|
-
"stream-params": {
|
|
104284
|
-
"main.bitrate": {
|
|
104285
|
-
kind: "gauge",
|
|
104286
|
-
unit: "kbps"
|
|
104287
|
-
},
|
|
104288
|
-
"main.framerate": {
|
|
104289
|
-
kind: "gauge",
|
|
104290
|
-
unit: "fps"
|
|
104291
|
-
},
|
|
104292
|
-
"sub.bitrate": {
|
|
104293
|
-
kind: "gauge",
|
|
104294
|
-
unit: "kbps"
|
|
104295
|
-
},
|
|
104296
|
-
"sub.framerate": {
|
|
104297
|
-
kind: "gauge",
|
|
104298
|
-
unit: "fps"
|
|
104299
|
-
}
|
|
104300
|
-
},
|
|
104301
|
-
"switch": { "on": { kind: "boolean" } },
|
|
104302
|
-
"tamper": { "tampered": { kind: "boolean" } },
|
|
104303
|
-
"temperature-sensor": { "celsius": {
|
|
104304
|
-
kind: "gauge",
|
|
104305
|
-
unit: "°C",
|
|
104306
|
-
deadband: .1
|
|
104307
|
-
} },
|
|
104308
|
-
"vacuum-control": { "batteryLevel": {
|
|
104309
|
-
kind: "gauge",
|
|
104310
|
-
unit: "%",
|
|
104311
|
-
deadband: 2
|
|
104312
|
-
} },
|
|
104313
|
-
"valve": { "position": {
|
|
104314
|
-
kind: "gauge",
|
|
104315
|
-
unit: "%",
|
|
104316
|
-
minIntervalMs: 0
|
|
104317
|
-
} },
|
|
104318
|
-
"vibration": { "detected": { kind: "boolean" } },
|
|
104319
|
-
"water-heater": {
|
|
104320
|
-
"currentTemp": {
|
|
104321
|
-
kind: "gauge",
|
|
104322
|
-
unit: "°C",
|
|
104323
|
-
deadband: .5
|
|
104324
|
-
},
|
|
104325
|
-
"targetTemp": {
|
|
104326
|
-
kind: "gauge",
|
|
104327
|
-
unit: "°C",
|
|
104328
|
-
minIntervalMs: 0
|
|
104329
|
-
}
|
|
104330
|
-
},
|
|
104331
|
-
"weather": {
|
|
104332
|
-
"temperature": {
|
|
104333
|
-
kind: "gauge",
|
|
104334
|
-
unit: "°C",
|
|
104335
|
-
deadband: .2
|
|
104336
|
-
},
|
|
104337
|
-
"humidity": {
|
|
104338
|
-
kind: "gauge",
|
|
104339
|
-
unit: "%",
|
|
104340
|
-
deadband: 1
|
|
104341
|
-
},
|
|
104342
|
-
"pressure": {
|
|
104343
|
-
kind: "gauge",
|
|
104344
|
-
unit: "hPa",
|
|
104345
|
-
deadband: .5
|
|
104346
|
-
},
|
|
104347
|
-
"windSpeed": {
|
|
104348
|
-
kind: "gauge",
|
|
104349
|
-
unit: "m/s",
|
|
104350
|
-
deadband: .5
|
|
104351
|
-
}
|
|
104352
|
-
}
|
|
104353
|
-
};
|
|
104354
|
-
/**
|
|
104355
|
-
* Keyed-array series (D917), projected from every `history.items` block:
|
|
104356
|
-
* 1 caps (3 item fields). The item key is the series SCOPE;
|
|
104357
|
-
* the series key is `cap:<capName>.<path>[].<field>`.
|
|
104358
|
-
*/
|
|
104359
|
-
var HISTORY_ITEM_CATALOG = { "consumables": {
|
|
104360
|
-
path: "items",
|
|
104361
|
-
key: "key",
|
|
104362
|
-
label: "label",
|
|
104363
|
-
fields: {
|
|
104364
|
-
"level": {
|
|
104365
|
-
kind: "gauge",
|
|
104366
|
-
unit: "%",
|
|
104367
|
-
deadband: 2,
|
|
104368
|
-
displayName: "Level"
|
|
104369
|
-
},
|
|
104370
|
-
"status": {
|
|
104371
|
-
kind: "enum",
|
|
104372
|
-
displayName: "Status",
|
|
104373
|
-
values: [
|
|
104374
|
-
"ok",
|
|
104375
|
-
"low",
|
|
104376
|
-
"empty",
|
|
104377
|
-
"full",
|
|
104378
|
-
"replace"
|
|
104379
|
-
]
|
|
104380
|
-
},
|
|
104381
|
-
"remaining.value": {
|
|
104382
|
-
kind: "gauge",
|
|
104383
|
-
deadband: 1,
|
|
104384
|
-
displayName: "Remaining"
|
|
104385
|
-
}
|
|
104386
|
-
}
|
|
104387
|
-
} };
|
|
104388
|
-
/** Caps that declared `history: 'none'`, sorted. */
|
|
104389
|
-
var HISTORY_NONE_CAPS = [
|
|
104390
|
-
"audio-metrics",
|
|
104391
|
-
"automation-control",
|
|
104392
|
-
"camera-streams",
|
|
104393
|
-
"color",
|
|
104394
|
-
"control",
|
|
104395
|
-
"day-night",
|
|
104396
|
-
"device-discovery",
|
|
104397
|
-
"doorbell",
|
|
104398
|
-
"event-emitter",
|
|
104399
|
-
"feature-probe",
|
|
104400
|
-
"group-commands",
|
|
104401
|
-
"group-status",
|
|
104402
|
-
"image",
|
|
104403
|
-
"image-settings",
|
|
104404
|
-
"intercom",
|
|
104405
|
-
"motion-trigger",
|
|
104406
|
-
"motion-zones",
|
|
104407
|
-
"native-object-detection",
|
|
104408
|
-
"navigation",
|
|
104409
|
-
"notifier",
|
|
104410
|
-
"privacy-mask",
|
|
104411
|
-
"ptz-autotrack",
|
|
104412
|
-
"recording-onboard",
|
|
104413
|
-
"recording-signal",
|
|
104414
|
-
"scene-monitor",
|
|
104415
|
-
"script-runner",
|
|
104416
|
-
"stream-catalog",
|
|
104417
|
-
"stream-signals",
|
|
104418
|
-
"update",
|
|
104419
|
-
"zone-analytics",
|
|
104420
|
-
"zone-rules",
|
|
104421
|
-
"zones"
|
|
104422
|
-
];
|
|
104423
|
-
/** The series specs of `capName`; empty for a `'none'` cap or an unknown one. */
|
|
104424
|
-
function historyFieldsFor(capName) {
|
|
104425
|
-
return HISTORY_CATALOG[capName] ?? {};
|
|
104426
|
-
}
|
|
104427
|
-
//#endregion
|
|
104428
104703
|
//#region src/capabilities/runtime-field-unit.ts
|
|
104429
104704
|
/**
|
|
104430
104705
|
* The unit a composed-device field row offers convert-unit from (D941, D944).
|
|
@@ -115855,6 +116130,7 @@ exports.BrokerTestConnectionResultSchema = TestConnectionResultSchema;
|
|
|
115855
116130
|
exports.BrokerUnsubscribeInputSchema = UnsubscribeInputSchema;
|
|
115856
116131
|
exports.BucketAccumulator = BucketAccumulator;
|
|
115857
116132
|
exports.BulkRecordSchema = BulkRecordSchema;
|
|
116133
|
+
exports.CALENDAR_PERIODS = require_composition.CALENDAR_PERIODS;
|
|
115858
116134
|
exports.CALLER_STAMPED_CAPABILITIES = require_sleep.CALLER_STAMPED_CAPABILITIES;
|
|
115859
116135
|
exports.CAMERA_SENSORS_NOT_LOADED = CAMERA_SENSORS_NOT_LOADED;
|
|
115860
116136
|
exports.CAMERA_SENSORS_SETTINGS_KEY = CAMERA_SENSORS_SETTINGS_KEY;
|
|
@@ -115923,6 +116199,7 @@ exports.CalendarPreferenceEntrySchema = CalendarPreferenceEntrySchema;
|
|
|
115923
116199
|
exports.CalendarPreferencesSchema = CalendarPreferencesSchema;
|
|
115924
116200
|
exports.CalendarSetPreferenceInputSchema = CalendarSetPreferenceInputSchema;
|
|
115925
116201
|
exports.CalendarSourceKindSchema = CalendarSourceKindSchema;
|
|
116202
|
+
exports.CalendarWindowSchema = require_composition.CalendarWindowSchema;
|
|
115926
116203
|
exports.CamProfileSchema = require_sleep.CamProfileSchema;
|
|
115927
116204
|
exports.CamStreamDescriptorSchema = CamStreamDescriptorSchema;
|
|
115928
116205
|
exports.CamStreamKindSchema = require_sleep.CamStreamKindSchema;
|
|
@@ -116053,6 +116330,7 @@ exports.CompositionProblemCodeSchema = CompositionProblemCodeSchema;
|
|
|
116053
116330
|
exports.CompositionProblemSchema = CompositionProblemSchema;
|
|
116054
116331
|
exports.CompositionRunStatusSchema = CompositionRunStatusSchema;
|
|
116055
116332
|
exports.CompositionSchema = require_composition.CompositionSchema;
|
|
116333
|
+
exports.CompositionSeriesSourceSchema = require_composition.CompositionSeriesSourceSchema;
|
|
116056
116334
|
exports.CompositionSourceRefSchema = require_composition.CompositionSourceRefSchema;
|
|
116057
116335
|
exports.CompositionStateReadSchema = CompositionStateReadSchema;
|
|
116058
116336
|
exports.CompositionTargetSchema = require_composition.CompositionTargetSchema;
|
|
@@ -116104,6 +116382,7 @@ exports.DATABASE_SNAPSHOT_TIMEOUT_MS = DATABASE_SNAPSHOT_TIMEOUT_MS;
|
|
|
116104
116382
|
exports.DATAPLANE_SECRET_HEADER = require_sleep.DATAPLANE_SECRET_HEADER;
|
|
116105
116383
|
exports.DATA_STORE_DATABASES = DATA_STORE_DATABASES;
|
|
116106
116384
|
exports.DAYS_PER_WEEK = DAYS_PER_WEEK;
|
|
116385
|
+
exports.DAY_MS = require_composition.DAY_MS;
|
|
116107
116386
|
exports.DAY_NAMES = DAY_NAMES;
|
|
116108
116387
|
exports.DECLARED_DEVICE_SWEEP_LIMIT = DECLARED_DEVICE_SWEEP_LIMIT;
|
|
116109
116388
|
exports.DECLARED_INTEGRATION_FIXED_KEY = DECLARED_INTEGRATION_FIXED_KEY;
|
|
@@ -116123,6 +116402,7 @@ exports.DEFAULT_EVENT_COLOR = DEFAULT_EVENT_COLOR;
|
|
|
116123
116402
|
exports.DEFAULT_FEATURES = DEFAULT_FEATURES;
|
|
116124
116403
|
exports.DEFAULT_FIRST_SIGHTING_FRESHNESS_MS = require_composition.DEFAULT_FIRST_SIGHTING_FRESHNESS_MS;
|
|
116125
116404
|
exports.DEFAULT_HEADROOM = DEFAULT_HEADROOM;
|
|
116405
|
+
exports.DEFAULT_HISTORY_RETENTION = require_composition.DEFAULT_HISTORY_RETENTION;
|
|
116126
116406
|
exports.DEFAULT_MIN_LANDMARK_FACE_SIZE_PX = DEFAULT_MIN_LANDMARK_FACE_SIZE_PX;
|
|
116127
116407
|
exports.DEFAULT_MIN_SESSIONS_PER_DEVICE = DEFAULT_MIN_SESSIONS_PER_DEVICE;
|
|
116128
116408
|
exports.DEFAULT_NATIVE_LEASE_SETTINGS = DEFAULT_NATIVE_LEASE_SETTINGS;
|
|
@@ -116418,10 +116698,14 @@ exports.HF_REPO = require_sleep.HF_REPO;
|
|
|
116418
116698
|
exports.HISTORY_BUCKET_MS = HISTORY_BUCKET_MS;
|
|
116419
116699
|
exports.HISTORY_CATALOG = HISTORY_CATALOG;
|
|
116420
116700
|
exports.HISTORY_DEFAULT_MIN_INTERVAL_MS = require_sleep.HISTORY_DEFAULT_MIN_INTERVAL_MS;
|
|
116701
|
+
exports.HISTORY_FAST_MS = require_composition.HISTORY_FAST_MS;
|
|
116421
116702
|
exports.HISTORY_ITEM_CATALOG = HISTORY_ITEM_CATALOG;
|
|
116422
116703
|
exports.HISTORY_NONE_CAPS = HISTORY_NONE_CAPS;
|
|
116704
|
+
exports.HISTORY_SLOW_MS = require_composition.HISTORY_SLOW_MS;
|
|
116705
|
+
exports.HISTORY_TIERS = require_composition.HISTORY_TIERS;
|
|
116423
116706
|
exports.HISTORY_UNIT_LABELS = require_sleep.HISTORY_UNIT_LABELS;
|
|
116424
116707
|
exports.HOURS_PER_DAY = HOURS_PER_DAY;
|
|
116708
|
+
exports.HOUR_MS = require_composition.HOUR_MS;
|
|
116425
116709
|
exports.HUB_ADDRESS_ROLES = HUB_ADDRESS_ROLES;
|
|
116426
116710
|
exports.HUB_MDNS_QUERY_NAME = HUB_MDNS_QUERY_NAME;
|
|
116427
116711
|
exports.HUB_MDNS_ROLE = HUB_MDNS_ROLE;
|
|
@@ -116450,6 +116734,7 @@ exports.ICON_VIEWER_MODULES = ICON_VIEWER_MODULES;
|
|
|
116450
116734
|
exports.INFERENCE_DEVICE_EXCLUSION_REASONS = INFERENCE_DEVICE_EXCLUSION_REASONS;
|
|
116451
116735
|
exports.INITIAL_PULSE = INITIAL_PULSE;
|
|
116452
116736
|
exports.INITIAL_SPAN = INITIAL_SPAN;
|
|
116737
|
+
exports.INTEGRAL_OUTPUTS = require_composition.INTEGRAL_OUTPUTS;
|
|
116453
116738
|
exports.INVERTIBLE_CAPS = INVERTIBLE_CAPS;
|
|
116454
116739
|
exports.IconKeySchema = IconKeySchema;
|
|
116455
116740
|
exports.ImageContractSchema = ImageContractSchema;
|
|
@@ -116464,6 +116749,7 @@ exports.ImportModelBundleResultSchema = ImportModelBundleResultSchema;
|
|
|
116464
116749
|
exports.InferenceDeviceExclusionReasonSchema = InferenceDeviceExclusionReasonSchema;
|
|
116465
116750
|
exports.IngestOwnerSchema = IngestOwnerSchema;
|
|
116466
116751
|
exports.InstalledPackageSchema = InstalledPackageSchema;
|
|
116752
|
+
exports.IntegralHelperSpecSchema = require_composition.IntegralHelperSpecSchema;
|
|
116467
116753
|
exports.IntegrationLiteSchema = IntegrationLiteSchema;
|
|
116468
116754
|
exports.IntegrationWithStateSchema = IntegrationWithStateSchema;
|
|
116469
116755
|
exports.IntercomAbilitySchema = IntercomAbilitySchema;
|
|
@@ -116473,6 +116759,7 @@ exports.KEYCHAIN_MAX_REFS_PER_CALL = KEYCHAIN_MAX_REFS_PER_CALL;
|
|
|
116473
116759
|
exports.KEYCHAIN_RESET_CONFIRMATION = KEYCHAIN_RESET_CONFIRMATION;
|
|
116474
116760
|
exports.KEYCHAIN_RESET_TRIGGER_ACTOR = KEYCHAIN_RESET_TRIGGER_ACTOR;
|
|
116475
116761
|
exports.KNOWN_CAP_NAMES = KNOWN_CAP_NAMES;
|
|
116762
|
+
exports.KWH_PER_WATT_MS = require_composition.KWH_PER_WATT_MS;
|
|
116476
116763
|
exports.KeptReasonSchema = KeptReasonSchema;
|
|
116477
116764
|
exports.KeyEventSchema = KeyEventSchema;
|
|
116478
116765
|
exports.KeychainAdminSecretSchema = KeychainAdminSecretSchema;
|
|
@@ -116622,6 +116909,8 @@ exports.MEDIA_PRESENCE_OWNER_KINDS = MEDIA_PRESENCE_OWNER_KINDS;
|
|
|
116622
116909
|
exports.METHOD_ACCESS_MAP = METHOD_ACCESS_MAP;
|
|
116623
116910
|
exports.METHOD_DEVICE_SELECTORS = METHOD_DEVICE_SELECTORS;
|
|
116624
116911
|
exports.MINUTES_PER_DAY = MINUTES_PER_DAY;
|
|
116912
|
+
exports.MINUTE_MS = require_composition.MINUTE_MS;
|
|
116913
|
+
exports.MIN_CUSTOM_MINUTES = require_composition.MIN_CUSTOM_MINUTES;
|
|
116625
116914
|
exports.MIN_SCRUBBED_LENGTH = require_sleep.MIN_SCRUBBED_LENGTH;
|
|
116626
116915
|
exports.MIN_SESSIONS_PER_DEVICE_RANGE = MIN_SESSIONS_PER_DEVICE_RANGE;
|
|
116627
116916
|
exports.MODEL_FORMATS = require_sleep.MODEL_FORMATS;
|
|
@@ -116660,6 +116949,7 @@ exports.MediaRelocateModeSchema = MediaRelocateModeSchema;
|
|
|
116660
116949
|
exports.MeshLeafInfoSchema = MeshLeafInfoSchema;
|
|
116661
116950
|
exports.MeshPeerSchema = MeshPeerSchema;
|
|
116662
116951
|
exports.MeshStatusSchema = MeshStatusSchema;
|
|
116952
|
+
exports.MeterStatusSchema = MeterStatusSchema;
|
|
116663
116953
|
exports.MethodAccessSchema = MethodAccessSchema;
|
|
116664
116954
|
exports.MigrateDeviceResultSchema = MigrateDeviceResultSchema;
|
|
116665
116955
|
exports.MigrateSwitchOutcomeSchema = MigrateSwitchOutcomeSchema;
|
|
@@ -117170,12 +117460,14 @@ exports.REMOVED_MODEL_IDS = REMOVED_MODEL_IDS;
|
|
|
117170
117460
|
exports.REMOVE_LEAF = require_sleep.REMOVE_LEAF;
|
|
117171
117461
|
exports.RESERVED_BINDING_NAMES = require_composition.RESERVED_BINDING_NAMES;
|
|
117172
117462
|
exports.RESERVED_COLLECTION_SOURCES = RESERVED_COLLECTION_SOURCES;
|
|
117463
|
+
exports.RESET_PERIODS = require_composition.RESET_PERIODS;
|
|
117173
117464
|
exports.RESTORED_CAP_NAMES = RESTORED_CAP_NAMES;
|
|
117174
117465
|
exports.RETRAIN_REVIEW_ADJUSTED_IOU = RETRAIN_REVIEW_ADJUSTED_IOU;
|
|
117175
117466
|
exports.RETRAIN_REVIEW_MATCH_IOU = RETRAIN_REVIEW_MATCH_IOU;
|
|
117176
117467
|
exports.RETRAIN_REVIEW_STATUSES = RETRAIN_REVIEW_STATUSES;
|
|
117177
117468
|
exports.RETRAIN_REVISION_CONFLICT = RETRAIN_REVISION_CONFLICT;
|
|
117178
117469
|
exports.REVALIDATE_AFTER_MS = require_sleep.REVALIDATE_AFTER_MS;
|
|
117470
|
+
exports.ROLLING_SPANS = require_composition.ROLLING_SPANS;
|
|
117179
117471
|
exports.ROOM_EXAMPLE_MOTION_SOURCES = ROOM_EXAMPLE_MOTION_SOURCES;
|
|
117180
117472
|
exports.ROOM_EXAMPLE_TEMPERATURE_SOURCES = ROOM_EXAMPLE_TEMPERATURE_SOURCES;
|
|
117181
117473
|
exports.ROOM_OCCUPANCY_WINDOW_MS = ROOM_OCCUPANCY_WINDOW_MS;
|
|
@@ -117328,6 +117620,7 @@ exports.RetrainTransitionResultSchema = RetrainTransitionResultSchema;
|
|
|
117328
117620
|
exports.RevConflictError = require_sleep.RevConflictError;
|
|
117329
117621
|
exports.RevokeOwnDeviceCertificateResultSchema = RevokeOwnDeviceCertificateResultSchema;
|
|
117330
117622
|
exports.RingBuffer = RingBuffer;
|
|
117623
|
+
exports.RollingWindowSchema = require_composition.RollingWindowSchema;
|
|
117331
117624
|
exports.RootStepSupplySchema = RootStepSupplySchema;
|
|
117332
117625
|
exports.RtpSourceSchema = RtpSourceSchema;
|
|
117333
117626
|
exports.RtspRestreamEntrySchema = RtspRestreamEntrySchema;
|
|
@@ -117359,6 +117652,7 @@ exports.SECRET_REF_SCHEME = require_sleep.SECRET_REF_SCHEME;
|
|
|
117359
117652
|
exports.SENSOR_FEATURES = SENSOR_FEATURES;
|
|
117360
117653
|
exports.SENSOR_MAP = SENSOR_MAP;
|
|
117361
117654
|
exports.SERIAL_CAPACITY_CAMERA_FPS = SERIAL_CAPACITY_CAMERA_FPS;
|
|
117655
|
+
exports.SERIES_KINDS = require_composition.SERIES_KINDS;
|
|
117362
117656
|
exports.SERVER_NAME_MAX_LENGTH = SERVER_NAME_MAX_LENGTH;
|
|
117363
117657
|
exports.SERVER_NAME_SETTING_KEY = SERVER_NAME_SETTING_KEY;
|
|
117364
117658
|
exports.SESSION_PLACEMENT_SETTING_KEY = SESSION_PLACEMENT_SETTING_KEY;
|
|
@@ -117377,6 +117671,7 @@ exports.SSO_STATE_COOKIE_MAX_AGE_SEC = SSO_STATE_COOKIE_MAX_AGE_SEC;
|
|
|
117377
117671
|
exports.STATE_LABELS = STATE_LABELS;
|
|
117378
117672
|
exports.STATE_LABEL_KEYS = STATE_LABEL_KEYS;
|
|
117379
117673
|
exports.STATIONARY_OVERLAY_STYLE = STATIONARY_OVERLAY_STYLE;
|
|
117674
|
+
exports.STATISTIC_STATS = require_composition.STATISTIC_STATS;
|
|
117380
117675
|
exports.STORAGE_ACCESS_FALLBACK = STORAGE_ACCESS_FALLBACK;
|
|
117381
117676
|
exports.STORAGE_BYTES_PER_GB = STORAGE_BYTES_PER_GB;
|
|
117382
117677
|
exports.STORAGE_LOCATION_MODES = STORAGE_LOCATION_MODES;
|
|
@@ -117447,6 +117742,8 @@ exports.StaleDevicePinSchema = StaleDevicePinSchema;
|
|
|
117447
117742
|
exports.StartEmbeddedInputSchema = StartEmbeddedInputSchema;
|
|
117448
117743
|
exports.StartEnrollmentOutputSchema = StartEnrollmentOutputSchema;
|
|
117449
117744
|
exports.StationaryObjectSchema = StationaryObjectSchema;
|
|
117745
|
+
exports.StatisticHelperSpecSchema = require_composition.StatisticHelperSpecSchema;
|
|
117746
|
+
exports.StatisticWindowSchema = require_composition.StatisticWindowSchema;
|
|
117450
117747
|
exports.StorageAbortUploadInputSchema = AbortUploadInputSchema;
|
|
117451
117748
|
exports.StorageAccessSchema = StorageAccessSchema;
|
|
117452
117749
|
exports.StorageBeginDownloadInputSchema = BeginDownloadInputSchema;
|
|
@@ -117931,6 +118228,7 @@ exports.dayOfWeekToIndex = dayOfWeekToIndex;
|
|
|
117931
118228
|
exports.declarationOwnerNodeId = declarationOwnerNodeId;
|
|
117932
118229
|
exports.declarationsOf = require_sleep.declarationsOf;
|
|
117933
118230
|
exports.declareLogChannel = declareLogChannel;
|
|
118231
|
+
exports.declaredSeriesKind = declaredSeriesKind;
|
|
117934
118232
|
exports.decodeCompositionToCards = decodeCompositionToCards;
|
|
117935
118233
|
exports.decodeKeyedArrayOverride = decodeKeyedArrayOverride;
|
|
117936
118234
|
exports.decodePulseOverride = decodePulseOverride;
|
|
@@ -118033,6 +118331,7 @@ exports.evaluateRose = require_composition.evaluateRose;
|
|
|
118033
118331
|
exports.evaluateSensorEdge = require_composition.evaluateSensorEdge;
|
|
118034
118332
|
exports.evaluateSensorLevelEdge = require_composition.evaluateSensorLevelEdge;
|
|
118035
118333
|
exports.evaluateStatefulExpressionCall = require_composition.evaluateStatefulExpressionCall;
|
|
118334
|
+
exports.evaluateStatistic = require_composition.evaluateStatistic;
|
|
118036
118335
|
exports.evaluateZoneRules = evaluateZoneRules;
|
|
118037
118336
|
exports.event = require_sleep.event;
|
|
118038
118337
|
exports.eventEmitterCapability = eventEmitterCapability;
|
|
@@ -118127,6 +118426,9 @@ exports.inferExpressionKinds = inferExpressionKinds;
|
|
|
118127
118426
|
exports.inferModelProvider = inferModelProvider;
|
|
118128
118427
|
exports.ingestReading = ingestReading;
|
|
118129
118428
|
exports.initialPoolMemoryState = initialPoolMemoryState;
|
|
118429
|
+
exports.integralCadenceMs = require_composition.integralCadenceMs;
|
|
118430
|
+
exports.integralDraft = integralDraft;
|
|
118431
|
+
exports.integrateReading = require_composition.integrateReading;
|
|
118130
118432
|
exports.integrationsCapability = integrationsCapability;
|
|
118131
118433
|
exports.intercomCapability = intercomCapability;
|
|
118132
118434
|
exports.interpolate = interpolate;
|
|
@@ -118256,6 +118558,7 @@ exports.markdownToHtmlLite = markdownToHtmlLite;
|
|
|
118256
118558
|
exports.markdownToText = markdownToText;
|
|
118257
118559
|
exports.maskUrlCredentials = require_sleep.maskUrlCredentials;
|
|
118258
118560
|
exports.matchDoAction = matchDoAction;
|
|
118561
|
+
exports.maxDurationMs = require_composition.maxDurationMs;
|
|
118259
118562
|
exports.mayReadLocation = mayReadLocation;
|
|
118260
118563
|
exports.mayWriteToLocation = mayWriteToLocation;
|
|
118261
118564
|
exports.measuredCapacityFromResults = measuredCapacityFromResults;
|
|
@@ -118269,6 +118572,7 @@ exports.mergeSecretStatePaths = require_sleep.mergeSecretStatePaths;
|
|
|
118269
118572
|
exports.mergeSettingsBags = mergeSettingsBags;
|
|
118270
118573
|
exports.mergeSourceInfo = mergeSourceInfo;
|
|
118271
118574
|
exports.meshNetworkCapability = meshNetworkCapability;
|
|
118575
|
+
exports.meterCapability = meterCapability;
|
|
118272
118576
|
exports.method = require_sleep.method;
|
|
118273
118577
|
exports.methodAccessForHttpMethod = methodAccessForHttpMethod;
|
|
118274
118578
|
exports.methodRoleOf = methodRoleOf;
|
|
@@ -118295,6 +118599,7 @@ exports.ncMediaPolicyError = ncMediaPolicyError;
|
|
|
118295
118599
|
exports.networkAccessCapability = networkAccessCapability;
|
|
118296
118600
|
exports.networkLinkCapability = networkLinkCapability;
|
|
118297
118601
|
exports.networkQualityCapability = networkQualityCapability;
|
|
118602
|
+
exports.nextLocalMidnight = require_composition.nextLocalMidnight;
|
|
118298
118603
|
exports.nodeBenchmarkRefusals = nodeBenchmarkRefusals;
|
|
118299
118604
|
exports.nodeCertificatesCapability = nodeCertificatesCapability;
|
|
118300
118605
|
exports.nodePickerItems = nodePickerItems;
|
|
@@ -118321,6 +118626,8 @@ exports.objectInputDeclaresRequiredDeviceId = objectInputDeclaresRequiredDeviceI
|
|
|
118321
118626
|
exports.occupancyScope = occupancyScope;
|
|
118322
118627
|
exports.oidcConnectionsCapability = oidcConnectionsCapability;
|
|
118323
118628
|
exports.omitTransientConfig = require_sleep.omitTransientConfig;
|
|
118629
|
+
exports.openReset = require_composition.openReset;
|
|
118630
|
+
exports.openStatistic = require_composition.openStatistic;
|
|
118324
118631
|
exports.optionalAncestors = optionalAncestors;
|
|
118325
118632
|
exports.optionalMethod = require_sleep.optionalMethod;
|
|
118326
118633
|
exports.osdCapability = osdCapability;
|
|
@@ -118389,6 +118696,8 @@ exports.planItems = planItems;
|
|
|
118389
118696
|
exports.planMotionCropRegions = planMotionCropRegions;
|
|
118390
118697
|
exports.planMotionCrops = planMotionCrops;
|
|
118391
118698
|
exports.planRecoveryCrops = planRecoveryCrops;
|
|
118699
|
+
exports.planResetTier = require_composition.planResetTier;
|
|
118700
|
+
exports.planStatisticTier = require_composition.planStatisticTier;
|
|
118392
118701
|
exports.plateGalleryCapability = plateGalleryCapability;
|
|
118393
118702
|
exports.platformProbeCapability = platformProbeCapability;
|
|
118394
118703
|
exports.plusCatalogDefaultClassFloors = plusCatalogDefaultClassFloors;
|
|
@@ -118511,6 +118820,7 @@ exports.resultStandings = resultStandings;
|
|
|
118511
118820
|
exports.retrainBoxIou = retrainBoxIou;
|
|
118512
118821
|
exports.retrainRevisionConflictMessage = retrainRevisionConflictMessage;
|
|
118513
118822
|
exports.roleSpec = roleSpec;
|
|
118823
|
+
exports.rollingDurationMs = require_composition.rollingDurationMs;
|
|
118514
118824
|
exports.roomCompositionExample = roomCompositionExample;
|
|
118515
118825
|
exports.rootSuppliesOf = rootSuppliesOf;
|
|
118516
118826
|
exports.rootSupplyServes = rootSupplyServes;
|
|
@@ -118592,6 +118902,7 @@ exports.smokeCapability = smokeCapability;
|
|
|
118592
118902
|
exports.smtpProviderCapability = smtpProviderCapability;
|
|
118593
118903
|
exports.snapshotCapability = snapshotCapability;
|
|
118594
118904
|
exports.sourcePickForAppliance = require_composition.sourcePickForAppliance;
|
|
118905
|
+
exports.sourcePickForHistory = sourcePickForHistory;
|
|
118595
118906
|
exports.sourcePickForTemplate = sourcePickForTemplate;
|
|
118596
118907
|
exports.splitTranslationRef = splitTranslationRef;
|
|
118597
118908
|
exports.squareAround = squareAround;
|
|
@@ -118600,6 +118911,8 @@ exports.startMoverUnderClearance = startMoverUnderClearance;
|
|
|
118600
118911
|
exports.startReachabilityPoll = startReachabilityPoll;
|
|
118601
118912
|
exports.stateLabel = stateLabel;
|
|
118602
118913
|
exports.stateVocabularyFor = stateVocabularyFor;
|
|
118914
|
+
exports.statisticCadenceMs = require_composition.statisticCadenceMs;
|
|
118915
|
+
exports.statisticDraft = statisticDraft;
|
|
118603
118916
|
exports.stepModelRunsOnFormat = stepModelRunsOnFormat;
|
|
118604
118917
|
exports.stepPulse = stepPulse;
|
|
118605
118918
|
exports.stepSettingSource = stepSettingSource;
|
|
@@ -118711,6 +119024,7 @@ exports.viewerUiCapability = require_sleep.viewerUiCapability;
|
|
|
118711
119024
|
exports.vocabularyActionsForDevice = actionsForDevice$1;
|
|
118712
119025
|
exports.vocabularyTriggersForDevice = triggersForDevice;
|
|
118713
119026
|
exports.waterHeaterCapability = waterHeaterCapability;
|
|
119027
|
+
exports.wattMillisecondsToKwh = require_composition.wattMillisecondsToKwh;
|
|
118714
119028
|
exports.weatherCapability = weatherCapability;
|
|
118715
119029
|
exports.webrtcClientHintsSchema = webrtcClientHintsSchema;
|
|
118716
119030
|
exports.webrtcSessionCapability = webrtcSessionCapability;
|