@camstack/addon-provider-homeassistant 1.2.152 → 1.2.154
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 +164 -10
- package/dist/addon.mjs +164 -10
- package/dist/{dist-BITMr6s5.mjs → dist-CvzpCuzm.mjs} +787 -121
- package/dist/{dist-nbfaHTXG.js → dist-DLQgcqQT.js} +792 -120
- package/dist/ha-export/ha-export.addon.js +1 -1
- package/dist/ha-export/ha-export.addon.mjs +1 -1
- package/package.json +4 -3
|
@@ -7481,7 +7481,7 @@ function errMsg(err) {
|
|
|
7481
7481
|
return String(err);
|
|
7482
7482
|
}
|
|
7483
7483
|
//#endregion
|
|
7484
|
-
//#region ../types/dist/composition-
|
|
7484
|
+
//#region ../types/dist/composition-Bzr7GwgP.mjs
|
|
7485
7485
|
/**
|
|
7486
7486
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
7487
7487
|
*
|
|
@@ -7569,6 +7569,8 @@ var SOURCE_CAP_ACTIVE_FIELD = {
|
|
|
7569
7569
|
vibration: "detected",
|
|
7570
7570
|
tamper: "tampered"
|
|
7571
7571
|
};
|
|
7572
|
+
/** Cap names whose presence in a device's bindings qualify it as a source. */
|
|
7573
|
+
var SOURCE_CAPS = Object.keys(SOURCE_CAP_ACTIVE_FIELD);
|
|
7572
7574
|
/**
|
|
7573
7575
|
* Error types for the safe expression engine. Two distinct classes so callers
|
|
7574
7576
|
* can tell a compile-time (grammar) failure from a runtime (evaluation)
|
|
@@ -12231,7 +12233,7 @@ var BrokerStatusEnum = _enum([
|
|
|
12231
12233
|
"unreachable",
|
|
12232
12234
|
"error"
|
|
12233
12235
|
]);
|
|
12234
|
-
var BrokerInfoSchema
|
|
12236
|
+
var BrokerInfoSchema = object({
|
|
12235
12237
|
/** Stable broker id. Persisted; survives addon restarts. */
|
|
12236
12238
|
id: string(),
|
|
12237
12239
|
/** Addon id of the provider that OWNS this broker.
|
|
@@ -12374,8 +12376,8 @@ var brokerCapability = {
|
|
|
12374
12376
|
kind: "poll"
|
|
12375
12377
|
},
|
|
12376
12378
|
methods: {
|
|
12377
|
-
list: method(ListInputSchema, array(BrokerInfoSchema
|
|
12378
|
-
get: method(GetInputSchema, BrokerInfoSchema
|
|
12379
|
+
list: method(ListInputSchema, array(BrokerInfoSchema)),
|
|
12380
|
+
get: method(GetInputSchema, BrokerInfoSchema.nullable()),
|
|
12379
12381
|
/** Enumerate which addon provides which broker kind(s) for the
|
|
12380
12382
|
* unified create picker. The auto-mount fans this array across
|
|
12381
12383
|
* every registered `broker` provider (array-output method), so the
|
|
@@ -17824,7 +17826,7 @@ var BrokerStatusSchema$1 = _enum([
|
|
|
17824
17826
|
"unreachable",
|
|
17825
17827
|
"tls-error"
|
|
17826
17828
|
]);
|
|
17827
|
-
var BrokerInfoSchema = object({
|
|
17829
|
+
var BrokerInfoSchema$1 = object({
|
|
17828
17830
|
id: string(),
|
|
17829
17831
|
name: string(),
|
|
17830
17832
|
url: string(),
|
|
@@ -17887,7 +17889,7 @@ var StatusSchema = object({
|
|
|
17887
17889
|
brokerCount: number(),
|
|
17888
17890
|
embeddedRunning: boolean()
|
|
17889
17891
|
});
|
|
17890
|
-
method(_void(), array(BrokerInfoSchema)), method(IdInputSchema, BrokerConnectionDetailsSchema, { auth: "admin" }), method(AddBrokerInputSchema, AddBrokerResultSchema, {
|
|
17892
|
+
method(_void(), array(BrokerInfoSchema$1)), method(IdInputSchema, BrokerConnectionDetailsSchema, { auth: "admin" }), method(AddBrokerInputSchema, AddBrokerResultSchema, {
|
|
17891
17893
|
kind: "mutation",
|
|
17892
17894
|
auth: "admin"
|
|
17893
17895
|
}), method(IdInputSchema, _void(), {
|
|
@@ -20115,78 +20117,16 @@ var NcRuleInputSchema = object({
|
|
|
20115
20117
|
*/
|
|
20116
20118
|
confirm: NcConfirmSchema.optional(),
|
|
20117
20119
|
/**
|
|
20118
|
-
*
|
|
20119
|
-
*
|
|
20120
|
-
*
|
|
20121
|
-
*
|
|
20122
|
-
*
|
|
20123
|
-
*
|
|
20124
|
-
*
|
|
20125
|
-
*
|
|
20126
|
-
*
|
|
20127
|
-
* Only two honest answers exist, and this flag picks between them. It has
|
|
20128
|
-
* effect ONLY on a rule that declares a recognition scope
|
|
20129
|
-
* ({@link NcConditions.identities} or {@link NcConditions.plates}) — on any
|
|
20130
|
-
* other rule there is nothing to wait for and the flag is inert.
|
|
20131
|
-
*
|
|
20132
|
-
* | value | what happens |
|
|
20133
|
-
* | --- | --- |
|
|
20134
|
-
* | `true` | the rule stops firing on the object event and fires at TRACK CLOSE instead, once, with the name — later, and complete |
|
|
20135
|
-
* | absent / `false` | it fires at once WITHOUT the name, and if recognition lands before the track closes a SECOND, "…is Gianluca" notification follows (one per track, per rule, per target) |
|
|
20136
|
-
*
|
|
20137
|
-
* `.optional()` and deliberately NOT `.default()`: a Zod default does not run
|
|
20138
|
-
* on the addon cap path, and absent has to keep meaning exactly what every
|
|
20139
|
-
* rule authored before this field meant.
|
|
20140
|
-
*
|
|
20141
|
-
* The cost of `true` is stated here because the editor states it too: a rule
|
|
20142
|
-
* that waits also inherits track-close SEMANTICS — its `zones` condition
|
|
20143
|
-
* tests every zone the track visited and a `crossing` condition can no longer
|
|
20144
|
-
* be satisfied, because a closed track carries no crossing.
|
|
20145
|
-
*/
|
|
20146
|
-
waitForEnhancement: boolean().optional(),
|
|
20147
|
-
/**
|
|
20148
|
-
* GROUP a burst of subjects into ONE notification that grows.
|
|
20149
|
-
*
|
|
20150
|
-
* Seconds of quiet after the last matching subject before the burst is
|
|
20151
|
-
* considered over. While it is open, the first subject enqueues immediately —
|
|
20152
|
-
* **exactly as today, with no added latency** — and every real growth (a new
|
|
20153
|
-
* subject, or a name confirmed on one already in it) REPLACES that
|
|
20154
|
-
* notification with an updated one naming everybody. The push carries the
|
|
20155
|
-
* group's own coalescing tag, so the phone replaces rather than stacks.
|
|
20156
|
-
*
|
|
20157
|
-
* `0` / absent = off, and off is today's behaviour byte for byte.
|
|
20158
|
-
*
|
|
20159
|
-
* ### Why an idle cutoff and not a window
|
|
20160
|
-
*
|
|
20161
|
-
* The measured seven-person arrival on device 590 spans 110 s with every
|
|
20162
|
-
* internal gap under 30 s. A 12 s fixed window cuts it into three groups; an
|
|
20163
|
-
* idle cutoff holds it as one and ends it when the arrival actually ends.
|
|
20164
|
-
* 30 s is a widely shipped value for the same decision.
|
|
20165
|
-
*
|
|
20166
|
-
* ### What it replaces
|
|
20167
|
-
*
|
|
20168
|
-
* The blind cooldown, which collapses a burst by DISCARDING it. Measured on
|
|
20169
|
-
* device 615 / *Persona su Uscio* over six days: 116 qualifying tracks → 74
|
|
20170
|
-
* notifications, **44 (37.9%) suppressed outright**, 23 of them overlapping a
|
|
20171
|
-
* track that did fire and 7 carrying a confirmed identity nobody heard about.
|
|
20172
|
-
* A group collapses the same volume by MERGING, so the cooldown becomes a
|
|
20173
|
-
* budget over GROUPS — which is what it always meant — and a growth is never
|
|
20174
|
-
* throttled by the window its own first member spent.
|
|
20175
|
-
*
|
|
20176
|
-
* ### Interaction with {@link waitForEnhancement}
|
|
20177
|
-
*
|
|
20178
|
-
* They compose, and the order matters. `waitForEnhancement` defers the rule to
|
|
20179
|
-
* TRACK CLOSE, so with both set the group is opened by the first member to
|
|
20180
|
-
* CLOSE — already carrying its name — and grows as later members close. That
|
|
20181
|
-
* is later, and complete. With grouping alone the group opens on the first
|
|
20182
|
-
* object event and picks up names as they are confirmed, through the growth
|
|
20183
|
-
* path. Neither combination fires twice for one subject.
|
|
20184
|
-
*
|
|
20185
|
-
* `.optional()` and deliberately NOT `.default()`: a Zod default does not run
|
|
20186
|
-
* on the addon cap path, so absent must keep meaning what it meant before this
|
|
20187
|
-
* field existed.
|
|
20120
|
+
* IMMEDIATE GROUPED (D692): the first matching subject opens a window of this many
|
|
20121
|
+
* seconds; the rule sends ONE message when the window closes — early, once every
|
|
20122
|
+
* subject in it is final, never before {@link NC_GROUPING_MIN_SEC} — naming everybody
|
|
20123
|
+
* the rule matched, with one mosaic tile per subject.
|
|
20124
|
+
* Absent = plain immediate (one message per track, at the first match).
|
|
20125
|
+
* Only an `immediate` DETECTION rule may carry it (`ruleGroupingApplies`, enforced on
|
|
20126
|
+
* save by the hub's grouping guard). `.optional()`, never `.default()`: the addon cap
|
|
20127
|
+
* path does not run Zod defaults.
|
|
20188
20128
|
*/
|
|
20189
|
-
|
|
20129
|
+
groupingSec: number().int().min(5).max(60).optional()
|
|
20190
20130
|
});
|
|
20191
20131
|
/**
|
|
20192
20132
|
* Partial patch for `updateRule` — any subset of the input fields, plus the
|
|
@@ -20234,9 +20174,10 @@ var NcRuleClearableKeySchema = _enum([
|
|
|
20234
20174
|
"targetUsers",
|
|
20235
20175
|
"snoozeOptions",
|
|
20236
20176
|
"snoozeAllowGlobal",
|
|
20237
|
-
"waitForEnhancement",
|
|
20238
20177
|
"actions",
|
|
20239
20178
|
"confirm",
|
|
20179
|
+
"groupingSec",
|
|
20180
|
+
"waitForEnhancement",
|
|
20240
20181
|
"groupIdleSec"
|
|
20241
20182
|
]);
|
|
20242
20183
|
var NcRuleUpdateInputSchema = object({
|
|
@@ -20258,9 +20199,25 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
20258
20199
|
*/
|
|
20259
20200
|
disabledTargetIds: array(string()).default([])
|
|
20260
20201
|
});
|
|
20202
|
+
/**
|
|
20203
|
+
* The state-summary SECTIONS (D647 / D698): the D637 kind groups that report a
|
|
20204
|
+
* still-true state. `backups-exports` and `alarm` are not sections — a completed
|
|
20205
|
+
* job is not an open state, and the alarm stays instant.
|
|
20206
|
+
*/
|
|
20207
|
+
var NcStateSummarySectionIdSchema = _enum([
|
|
20208
|
+
"device-state",
|
|
20209
|
+
"streams",
|
|
20210
|
+
"battery",
|
|
20211
|
+
"consumables",
|
|
20212
|
+
"tanks",
|
|
20213
|
+
"detection-blind",
|
|
20214
|
+
"nodes",
|
|
20215
|
+
"addons",
|
|
20216
|
+
"updates"
|
|
20217
|
+
]);
|
|
20261
20218
|
/** One section of a previewed state summary. `unavailable` = its state could not be read. */
|
|
20262
20219
|
var NcStateSummaryPreviewSectionSchema = object({
|
|
20263
|
-
id:
|
|
20220
|
+
id: NcStateSummarySectionIdSchema,
|
|
20264
20221
|
status: _enum(["read", "unavailable"]),
|
|
20265
20222
|
items: number().int().nonnegative(),
|
|
20266
20223
|
reason: string().optional()
|
|
@@ -20270,7 +20227,7 @@ var NcStateSummaryPreviewSectionSchema = object({
|
|
|
20270
20227
|
* a `rule` split (no `section`), one section's on a `section` split.
|
|
20271
20228
|
*/
|
|
20272
20229
|
var NcStateSummaryPreviewRowSchema = object({
|
|
20273
|
-
section:
|
|
20230
|
+
section: NcStateSummarySectionIdSchema.optional(),
|
|
20274
20231
|
/** The section's name on a per-section row; every reported section's, joined, on a combined one. */
|
|
20275
20232
|
title: string(),
|
|
20276
20233
|
text: string(),
|
|
@@ -20731,14 +20688,52 @@ var NcAlarmNonBlockingEditSchema = object({
|
|
|
20731
20688
|
nonBlocking: boolean()
|
|
20732
20689
|
});
|
|
20733
20690
|
/**
|
|
20691
|
+
* Controllable openings: opt IN to blocking (default is do not block). Contacts
|
|
20692
|
+
* keep using {@link NcAlarmNonBlockingEditSchema}.
|
|
20693
|
+
*/
|
|
20694
|
+
var NcAlarmBlockingEditSchema = object({
|
|
20695
|
+
mode: AlarmArmModeSchema,
|
|
20696
|
+
deviceId: number().int().positive(),
|
|
20697
|
+
/** true = on the list (blocks when open); false = off the list (default). */
|
|
20698
|
+
blocking: boolean()
|
|
20699
|
+
});
|
|
20700
|
+
/**
|
|
20701
|
+
* Controllable openings: opt OUT of secure-on-arm (default is secure ON —
|
|
20702
|
+
* close / lock / turn off when this mode arms).
|
|
20703
|
+
*/
|
|
20704
|
+
var NcAlarmSecureOnArmEditSchema = object({
|
|
20705
|
+
mode: AlarmArmModeSchema,
|
|
20706
|
+
deviceId: number().int().positive(),
|
|
20707
|
+
/** true = secure on arm (default); false = do not actuate on arm. */
|
|
20708
|
+
secureOnArm: boolean()
|
|
20709
|
+
});
|
|
20710
|
+
/**
|
|
20711
|
+
* One arm mode's device-id list (non-blocking, blocking, or secure-on-arm-off).
|
|
20712
|
+
*/
|
|
20713
|
+
var NcAlarmModeDeviceListSchema = object({
|
|
20714
|
+
mode: AlarmArmModeSchema,
|
|
20715
|
+
deviceIds: array(number().int()).max(200)
|
|
20716
|
+
});
|
|
20717
|
+
/**
|
|
20718
|
+
* One arm mode's non-blocking list: devices that may be open when that mode
|
|
20719
|
+
* arms, without the arm being refused.
|
|
20720
|
+
*/
|
|
20721
|
+
var NcAlarmNonBlockingSchema = NcAlarmModeDeviceListSchema;
|
|
20722
|
+
/** Controllable devices that DO block when open (opt-in; default empty). */
|
|
20723
|
+
var NcAlarmBlockingSchema = NcAlarmModeDeviceListSchema;
|
|
20724
|
+
/**
|
|
20725
|
+
* Controllable devices that do NOT secure on arm (opt-out; default empty =
|
|
20726
|
+
* every controllable secures).
|
|
20727
|
+
*/
|
|
20728
|
+
var NcAlarmSecureOnArmOffSchema = NcAlarmModeDeviceListSchema;
|
|
20729
|
+
/**
|
|
20734
20730
|
* The per-mode lists, at most one per mode. Two lists for one mode have no
|
|
20735
20731
|
* meaning a reader could agree on (union? the last one?), so they are refused
|
|
20736
20732
|
* at the boundary rather than interpreted.
|
|
20737
20733
|
*/
|
|
20738
|
-
var NcAlarmNonBlockingListSchema = array(
|
|
20739
|
-
|
|
20740
|
-
|
|
20741
|
-
})).max(8).refine(uniqueModes, { message: "nonBlocking: at most one list per arm mode" });
|
|
20734
|
+
var NcAlarmNonBlockingListSchema = array(NcAlarmNonBlockingSchema).max(8).refine(uniqueModes, { message: "nonBlocking: at most one list per arm mode" });
|
|
20735
|
+
var NcAlarmBlockingListSchema = array(NcAlarmBlockingSchema).max(8).refine(uniqueModes, { message: "blocking: at most one list per arm mode" });
|
|
20736
|
+
var NcAlarmSecureOnArmOffListSchema = array(NcAlarmSecureOnArmOffSchema).max(8).refine(uniqueModes, { message: "secureOnArmOff: at most one list per arm mode" });
|
|
20742
20737
|
/**
|
|
20743
20738
|
* The three durations — global, and per mode since D697 — the panel's state
|
|
20744
20739
|
* machine runs on, who hears about its transitions, and which openings each mode tolerates.
|
|
@@ -20781,9 +20776,23 @@ var NcAlarmSettingsSchema = object({
|
|
|
20781
20776
|
* arm (a window left ajar for the cat under `home`, say). At most one entry
|
|
20782
20777
|
* per mode is meaningful. Defaulted to `[]` so a blob stored before D630
|
|
20783
20778
|
* parses as "every opening blocks" — the behaviour it was written under.
|
|
20779
|
+
* Contacts use this list; controllable openings use {@link blocking} instead
|
|
20780
|
+
* (default: do not block).
|
|
20784
20781
|
*/
|
|
20785
20782
|
nonBlocking: NcAlarmNonBlockingListSchema.default([]),
|
|
20786
20783
|
/**
|
|
20784
|
+
* Per arm mode, controllable openings that DO refuse the arm when open.
|
|
20785
|
+
* Default `[]` = none block (secure-on-arm closes them instead). Absent on a
|
|
20786
|
+
* blob older than this field — read as empty.
|
|
20787
|
+
*/
|
|
20788
|
+
blocking: NcAlarmBlockingListSchema.default([]),
|
|
20789
|
+
/**
|
|
20790
|
+
* Per arm mode, controllable openings that must NOT be actuated on arm.
|
|
20791
|
+
* Default `[]` = every controllable secures (close / lock / off). Absent on
|
|
20792
|
+
* an older blob — read as empty (secure ON).
|
|
20793
|
+
*/
|
|
20794
|
+
secureOnArmOff: NcAlarmSecureOnArmOffListSchema.default([]),
|
|
20795
|
+
/**
|
|
20787
20796
|
* Per arm mode, the delays that mode OVERRIDES (D697). A mode with no entry, or an entry
|
|
20788
20797
|
* without a field, uses the global value above — so `[]`, the default, is exactly the
|
|
20789
20798
|
* behaviour of a blob stored before this field existed. Read through `resolveModeDelays`.
|
|
@@ -20793,7 +20802,7 @@ var NcAlarmSettingsSchema = object({
|
|
|
20793
20802
|
/**
|
|
20794
20803
|
* Every field optional — a tab edits one control at a time.
|
|
20795
20804
|
*
|
|
20796
|
-
*
|
|
20805
|
+
* List fields and `modeDelays` are re-declared WITHOUT their defaults:
|
|
20797
20806
|
* `.partial()` does not remove an inner `.default()`, so a patch that never
|
|
20798
20807
|
* named the field would parse to `[]` and wipe every mode's list on an
|
|
20799
20808
|
* unrelated edit (the same trap {@link NcRulePatchSchema} documents). Here
|
|
@@ -20801,11 +20810,15 @@ var NcAlarmSettingsSchema = object({
|
|
|
20801
20810
|
*/
|
|
20802
20811
|
var NcAlarmSettingsPatchSchema = NcAlarmSettingsSchema.extend({
|
|
20803
20812
|
nonBlocking: NcAlarmNonBlockingListSchema,
|
|
20813
|
+
blocking: NcAlarmBlockingListSchema,
|
|
20814
|
+
secureOnArmOff: NcAlarmSecureOnArmOffListSchema,
|
|
20804
20815
|
/** Per-mode, per-field edits — NOT the whole list (see NcAlarmModeDelaysEditSchema). */
|
|
20805
20816
|
modeDelays: NcAlarmModeDelaysEditListSchema,
|
|
20806
20817
|
/** ONE membership change; the panel applies it to the list it holds at its turn. */
|
|
20807
|
-
nonBlockingEdit: NcAlarmNonBlockingEditSchema
|
|
20808
|
-
|
|
20818
|
+
nonBlockingEdit: NcAlarmNonBlockingEditSchema,
|
|
20819
|
+
blockingEdit: NcAlarmBlockingEditSchema,
|
|
20820
|
+
secureOnArmEdit: NcAlarmSecureOnArmEditSchema
|
|
20821
|
+
}).partial().refine((p) => p.nonBlocking === void 0 || p.nonBlockingEdit === void 0, { message: "nonBlocking and nonBlockingEdit are exclusive — send the whole lists or one edit" }).refine((p) => p.blocking === void 0 || p.blockingEdit === void 0, { message: "blocking and blockingEdit are exclusive — send the whole lists or one edit" }).refine((p) => p.secureOnArmOff === void 0 || p.secureOnArmEdit === void 0, { message: "secureOnArmOff and secureOnArmEdit are exclusive — send the whole lists or one edit" });
|
|
20809
20822
|
/**
|
|
20810
20823
|
* What one arm mode actually arms, DERIVED from the enabled rules gated on it.
|
|
20811
20824
|
* Never authored, never stored — see `alarm-mode-coverage.ts` for why a stored
|
|
@@ -20920,7 +20933,13 @@ var NcAlarmSensorStateSchema = object({
|
|
|
20920
20933
|
/** Why `unknown`: the read failed, or the slice holds no word its cap defines (a placeholder included). */
|
|
20921
20934
|
unknownWhy: _enum(["read-failed", "unknown-word"]).nullable(),
|
|
20922
20935
|
/** The device manager's liveness as the centre mirrors it; null = not known. */
|
|
20923
|
-
online: boolean().nullable()
|
|
20936
|
+
online: boolean().nullable(),
|
|
20937
|
+
/**
|
|
20938
|
+
* True when the opening is a cover / lock / switch — the table shows the
|
|
20939
|
+
* Secure-on-arm switch and uses the controllable defaults. False for contacts
|
|
20940
|
+
* and for non-openings. Defaulted so an older hub answer still parses.
|
|
20941
|
+
*/
|
|
20942
|
+
controllable: boolean().default(false)
|
|
20924
20943
|
});
|
|
20925
20944
|
var NcAlarmSensorsInputSchema = object({ deviceIds: array(number().int().positive()).max(500) });
|
|
20926
20945
|
var NcAlarmSensorsSchema = object({
|
|
@@ -22803,6 +22822,7 @@ var KeyEventSchema = object({
|
|
|
22803
22822
|
bestEventId: string(),
|
|
22804
22823
|
/** Track lifetime in ms (lastSeen - firstSeen). */
|
|
22805
22824
|
windowMs: number().optional(),
|
|
22825
|
+
audioLabels: array(TrackAudioLabelSchema).readonly().optional(),
|
|
22806
22826
|
...TrackFlagFields,
|
|
22807
22827
|
...TrackRetrainFields
|
|
22808
22828
|
});
|
|
@@ -29438,6 +29458,74 @@ var buttonCapability = {
|
|
|
29438
29458
|
}) }
|
|
29439
29459
|
};
|
|
29440
29460
|
/**
|
|
29461
|
+
* `calendar-source` — collection cap exposing per-provider calendars and
|
|
29462
|
+
* their events. Every addon that contributes calendars (Home Assistant,
|
|
29463
|
+
* a future Google Calendar addon, …) registers a provider here. The hub
|
|
29464
|
+
* singleton `calendars` walks the collection and merges the answers.
|
|
29465
|
+
*
|
|
29466
|
+
* Mirrors `addon-pages-source`: the public listing is a different shape
|
|
29467
|
+
* (source-stamped ids) and lives on the aggregator.
|
|
29468
|
+
*/
|
|
29469
|
+
var CalendarSourceKindSchema = _enum(["ha", "addon"]);
|
|
29470
|
+
var CalendarInfoSchema = object({
|
|
29471
|
+
/** Provider-local id (e.g. HA `calendar.family`). The aggregator prefixes. */
|
|
29472
|
+
id: string().min(1),
|
|
29473
|
+
name: string().min(1),
|
|
29474
|
+
source: CalendarSourceKindSchema,
|
|
29475
|
+
enabled: boolean()
|
|
29476
|
+
});
|
|
29477
|
+
var CalendarEventSchema = object({
|
|
29478
|
+
id: string().min(1),
|
|
29479
|
+
calendarId: string().min(1),
|
|
29480
|
+
title: string(),
|
|
29481
|
+
startMs: number().int(),
|
|
29482
|
+
endMs: number().int(),
|
|
29483
|
+
allDay: boolean().optional(),
|
|
29484
|
+
description: string().optional(),
|
|
29485
|
+
location: string().optional()
|
|
29486
|
+
});
|
|
29487
|
+
var CalendarListEventsInputSchema = object({
|
|
29488
|
+
calendarIds: array(string().min(1)).max(64).optional(),
|
|
29489
|
+
startMs: number().int(),
|
|
29490
|
+
endMs: number().int()
|
|
29491
|
+
});
|
|
29492
|
+
var calendarSourceCapability = {
|
|
29493
|
+
name: "calendar-source",
|
|
29494
|
+
scope: "system",
|
|
29495
|
+
mode: "collection",
|
|
29496
|
+
internal: true,
|
|
29497
|
+
methods: {
|
|
29498
|
+
listCalendars: method(_void(), array(CalendarInfoSchema).readonly(), { auth: "admin" }),
|
|
29499
|
+
listEvents: method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" })
|
|
29500
|
+
}
|
|
29501
|
+
};
|
|
29502
|
+
/**
|
|
29503
|
+
* `calendars` — system-scoped singleton. Public surface admin-ui and the
|
|
29504
|
+
* notification-center calendar-events producer consume.
|
|
29505
|
+
*
|
|
29506
|
+
* Walks every `calendar-source` provider, stamps each calendar with a
|
|
29507
|
+
* cluster-stable id (`<sourceAddonId>:<localId>`) and the providing
|
|
29508
|
+
* addon's id, and fans `listEvents` out the same way. Home Assistant
|
|
29509
|
+
* import is a built-in refresh of the HA source rather than a second
|
|
29510
|
+
* registry — `importFromHomeAssistant` asks that source to re-discover.
|
|
29511
|
+
*/
|
|
29512
|
+
var CalendarEntrySchema = CalendarInfoSchema.extend({
|
|
29513
|
+
/** Cluster-stable id: `<providerAddonId>:<localId>`. */
|
|
29514
|
+
id: string().min(1),
|
|
29515
|
+
/** The addon that registered the calendar-source provider. */
|
|
29516
|
+
providerAddonId: string().min(1).optional()
|
|
29517
|
+
});
|
|
29518
|
+
var CalendarImportResultSchema = object({
|
|
29519
|
+
imported: number().int().nonnegative(),
|
|
29520
|
+
/** Absent when no HA calendar-source provider was reachable. */
|
|
29521
|
+
providerAddonId: string().min(1).optional(),
|
|
29522
|
+
error: string().optional()
|
|
29523
|
+
});
|
|
29524
|
+
method(_void(), array(CalendarEntrySchema).readonly(), { auth: "admin" }), method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" }), method(_void(), CalendarImportResultSchema, {
|
|
29525
|
+
auth: "admin",
|
|
29526
|
+
kind: "mutation"
|
|
29527
|
+
});
|
|
29528
|
+
/**
|
|
29441
29529
|
* camera-credentials — device-scoped cap exposing the camera's network
|
|
29442
29530
|
* + auth surface in a vendor-neutral shape.
|
|
29443
29531
|
*
|
|
@@ -33986,38 +34074,52 @@ DeviceType.Camera, method(object({
|
|
|
33986
34074
|
deviceId: number(),
|
|
33987
34075
|
status: OsdStatusSchema
|
|
33988
34076
|
});
|
|
34077
|
+
_enum([
|
|
34078
|
+
"value",
|
|
34079
|
+
"unit",
|
|
34080
|
+
"full"
|
|
34081
|
+
]);
|
|
34082
|
+
_enum([
|
|
34083
|
+
"value+unit",
|
|
34084
|
+
"value",
|
|
34085
|
+
"unit"
|
|
34086
|
+
]);
|
|
34087
|
+
/**
|
|
34088
|
+
* How the operator reached the leaf device. `deviceId` is ALWAYS the
|
|
34089
|
+
* OSD-supported leaf that is read; `containerId` is set when the pick
|
|
34090
|
+
* went through a container (gateway) first.
|
|
34091
|
+
*/
|
|
34092
|
+
var OsdTemplatePickSchema = object({
|
|
34093
|
+
containerId: number().int().optional(),
|
|
34094
|
+
deviceId: number().int()
|
|
34095
|
+
});
|
|
33989
34096
|
/**
|
|
33990
|
-
*
|
|
33991
|
-
*
|
|
33992
|
-
*
|
|
33993
|
-
*
|
|
33994
|
-
* comes from, and it must not — a driver that grew a "show the temperature
|
|
33995
|
-
* here" feature would grow it once per vendor.
|
|
33996
|
-
*
|
|
33997
|
-
* This cap owns the other half: a per-(camera, slot) BINDING that says
|
|
33998
|
-
* which value feeds the slot, how it is formatted, and under which
|
|
33999
|
-
* conditions it is shown at all. One addon renders every binding on every
|
|
34000
|
-
* camera, so a new source costs zero driver code.
|
|
34001
|
-
*
|
|
34002
|
-
* Three deliberate choices, each with a rejected alternative:
|
|
34003
|
-
*
|
|
34004
|
-
* 1. A source is `(capName, valuePath)` over the kernel's device
|
|
34005
|
-
* runtime-state mirror — NOT a closed enum of source kinds. Every
|
|
34006
|
-
* cap-keyed slice a device publishes is bindable the day the cap
|
|
34007
|
-
* ships. The rejected alternative (one enum member per source, with
|
|
34008
|
-
* a resolver branch each) is what makes "add the humidity too" a
|
|
34009
|
-
* code change.
|
|
34010
|
-
* 2. The display gate reuses `NcConditionsSchema` verbatim — the
|
|
34011
|
-
* notification centre's condition vocabulary — rather than a parallel
|
|
34012
|
-
* model. An operator who has learned one condition editor has learned
|
|
34013
|
-
* both.
|
|
34014
|
-
* 3. Because the renderer's facts are device STATE and not a detection
|
|
34015
|
-
* record, only a SUBSET of that vocabulary can be answered here.
|
|
34016
|
-
* `setSlotBinding` REJECTS the rest at write time (see
|
|
34017
|
-
* `getConditionSupport`). It does not accept-then-fail-closed: a
|
|
34018
|
-
* condition that can never be true renders a permanently blank
|
|
34019
|
-
* overlay, and a blank overlay looks exactly like a broken camera.
|
|
34097
|
+
* One named binding inside a multi-device template: device path + unit
|
|
34098
|
+
* selection + precision. The parser expands `{alias}`, `{alias.value}`,
|
|
34099
|
+
* `{alias.unit}`, or `{alias.full}` from the same binding — there is no
|
|
34100
|
+
* per-binding format lock.
|
|
34020
34101
|
*/
|
|
34102
|
+
var OsdTemplateBindingSchema = object({
|
|
34103
|
+
/** Token stem in the parser, e.g. `t` → `{t}` / `{t.value}`. Unique within the template. */
|
|
34104
|
+
alias: string().min(1).max(32).regex(/^[A-Za-z][A-Za-z0-9_-]*$/, "alias must start with a letter"),
|
|
34105
|
+
pick: OsdTemplatePickSchema,
|
|
34106
|
+
capName: string().min(1).max(64),
|
|
34107
|
+
valuePath: string().min(1).max(64),
|
|
34108
|
+
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
34109
|
+
displayUnit: string().max(16).optional(),
|
|
34110
|
+
maxDecimals: number().int().min(0).max(4).default(1)
|
|
34111
|
+
});
|
|
34112
|
+
/**
|
|
34113
|
+
* A named template: bindings (alias → leaf field) + a parser that
|
|
34114
|
+
* references `{alias}` / `{alias.value}` / `{alias.unit}` / `{alias.full}`.
|
|
34115
|
+
*/
|
|
34116
|
+
var OsdNamedTemplateSchema = object({
|
|
34117
|
+
id: string().min(1).max(64),
|
|
34118
|
+
name: string().min(1).max(64),
|
|
34119
|
+
bindings: array(OsdTemplateBindingSchema).max(32).default([]),
|
|
34120
|
+
/** Parser with alias placeholders, e.g. `{t.value} {t.unit} / {h}`. */
|
|
34121
|
+
parser: string().max(256).default("")
|
|
34122
|
+
});
|
|
34021
34123
|
/** Where a slot's value comes from. */
|
|
34022
34124
|
var OsdSourceSchema = discriminatedUnion("kind", [
|
|
34023
34125
|
object({
|
|
@@ -34036,11 +34138,17 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
34036
34138
|
deviceId: number().int().optional(),
|
|
34037
34139
|
capName: string().min(1).max(64),
|
|
34038
34140
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
34039
|
-
valuePath: string().min(1).max(64)
|
|
34141
|
+
valuePath: string().min(1).max(64),
|
|
34142
|
+
/** Convert TO this unit at render. Absent = no conversion. */
|
|
34143
|
+
displayUnit: string().max(16).optional()
|
|
34040
34144
|
}),
|
|
34041
34145
|
object({
|
|
34042
34146
|
kind: literal("latest-recognition"),
|
|
34043
34147
|
recognition: _enum(["person", "plate"])
|
|
34148
|
+
}),
|
|
34149
|
+
object({
|
|
34150
|
+
kind: literal("template"),
|
|
34151
|
+
templateId: string().min(1).max(64)
|
|
34044
34152
|
})
|
|
34045
34153
|
]);
|
|
34046
34154
|
var OsdSlotBindingSchema = object({
|
|
@@ -34056,7 +34164,10 @@ var OsdSlotBindingSchema = object({
|
|
|
34056
34164
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
34057
34165
|
*/
|
|
34058
34166
|
maxDecimals: number().int().min(0).max(4).default(1),
|
|
34059
|
-
/**
|
|
34167
|
+
/**
|
|
34168
|
+
* Appended via `${unit}` when no unit conversion produces a label.
|
|
34169
|
+
* Prefer `source.displayUnit` for converted device-state values.
|
|
34170
|
+
*/
|
|
34060
34171
|
unitLabel: string().max(8).optional(),
|
|
34061
34172
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
34062
34173
|
valueMap: record(string(), string()).optional(),
|
|
@@ -34165,6 +34276,12 @@ method(object({ deviceId: number().int() }), object({
|
|
|
34165
34276
|
}), method(object({ deviceId: number().int() }), object({ results: array(OsdRenderResultSchema) }), {
|
|
34166
34277
|
kind: "mutation",
|
|
34167
34278
|
auth: "admin"
|
|
34279
|
+
}), method(object({}), object({ templates: array(OsdNamedTemplateSchema) }), { auth: "admin" }), method(object({ template: OsdNamedTemplateSchema }), object({ template: OsdNamedTemplateSchema }), {
|
|
34280
|
+
kind: "mutation",
|
|
34281
|
+
auth: "admin"
|
|
34282
|
+
}), method(object({ templateId: string().min(1).max(64) }), object({ success: literal(true) }), {
|
|
34283
|
+
kind: "mutation",
|
|
34284
|
+
auth: "admin"
|
|
34168
34285
|
});
|
|
34169
34286
|
/**
|
|
34170
34287
|
* Feeder connectivity / power status — mirrors the HA petkit device-status
|
|
@@ -39288,6 +39405,7 @@ var zoneRulesCapability = {
|
|
|
39288
39405
|
*/
|
|
39289
39406
|
durability: "restored"
|
|
39290
39407
|
};
|
|
39408
|
+
SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
|
|
39291
39409
|
/**
|
|
39292
39410
|
* Accessory device helpers — shared across drivers.
|
|
39293
39411
|
*
|
|
@@ -42958,6 +43076,36 @@ Object.freeze({
|
|
|
42958
43076
|
addonId: null,
|
|
42959
43077
|
access: "create"
|
|
42960
43078
|
},
|
|
43079
|
+
"calendars.importFromHomeAssistant": {
|
|
43080
|
+
capName: "calendars",
|
|
43081
|
+
capScope: "system",
|
|
43082
|
+
addonId: null,
|
|
43083
|
+
access: "create"
|
|
43084
|
+
},
|
|
43085
|
+
"calendars.listCalendars": {
|
|
43086
|
+
capName: "calendars",
|
|
43087
|
+
capScope: "system",
|
|
43088
|
+
addonId: null,
|
|
43089
|
+
access: "view"
|
|
43090
|
+
},
|
|
43091
|
+
"calendars.listEvents": {
|
|
43092
|
+
capName: "calendars",
|
|
43093
|
+
capScope: "system",
|
|
43094
|
+
addonId: null,
|
|
43095
|
+
access: "view"
|
|
43096
|
+
},
|
|
43097
|
+
"calendarSource.listCalendars": {
|
|
43098
|
+
capName: "calendar-source",
|
|
43099
|
+
capScope: "system",
|
|
43100
|
+
addonId: null,
|
|
43101
|
+
access: "view"
|
|
43102
|
+
},
|
|
43103
|
+
"calendarSource.listEvents": {
|
|
43104
|
+
capName: "calendar-source",
|
|
43105
|
+
capScope: "system",
|
|
43106
|
+
addonId: null,
|
|
43107
|
+
access: "view"
|
|
43108
|
+
},
|
|
42961
43109
|
"cameraCredentials.getCredentials": {
|
|
42962
43110
|
capName: "camera-credentials",
|
|
42963
43111
|
capScope: "device",
|
|
@@ -45952,6 +46100,12 @@ Object.freeze({
|
|
|
45952
46100
|
addonId: null,
|
|
45953
46101
|
access: "create"
|
|
45954
46102
|
},
|
|
46103
|
+
"osdManager.deleteTemplate": {
|
|
46104
|
+
capName: "osd-manager",
|
|
46105
|
+
capScope: "system",
|
|
46106
|
+
addonId: null,
|
|
46107
|
+
access: "delete"
|
|
46108
|
+
},
|
|
45955
46109
|
"osdManager.getConditionSupport": {
|
|
45956
46110
|
capName: "osd-manager",
|
|
45957
46111
|
capScope: "system",
|
|
@@ -45970,6 +46124,12 @@ Object.freeze({
|
|
|
45970
46124
|
addonId: null,
|
|
45971
46125
|
access: "view"
|
|
45972
46126
|
},
|
|
46127
|
+
"osdManager.listTemplates": {
|
|
46128
|
+
capName: "osd-manager",
|
|
46129
|
+
capScope: "system",
|
|
46130
|
+
addonId: null,
|
|
46131
|
+
access: "view"
|
|
46132
|
+
},
|
|
45973
46133
|
"osdManager.previewSlot": {
|
|
45974
46134
|
capName: "osd-manager",
|
|
45975
46135
|
capScope: "system",
|
|
@@ -45988,6 +46148,12 @@ Object.freeze({
|
|
|
45988
46148
|
addonId: null,
|
|
45989
46149
|
access: "create"
|
|
45990
46150
|
},
|
|
46151
|
+
"osdManager.upsertTemplate": {
|
|
46152
|
+
capName: "osd-manager",
|
|
46153
|
+
capScope: "system",
|
|
46154
|
+
addonId: null,
|
|
46155
|
+
access: "create"
|
|
46156
|
+
},
|
|
45991
46157
|
"petFeeder.callPet": {
|
|
45992
46158
|
capName: "pet-feeder",
|
|
45993
46159
|
capScope: "device",
|
|
@@ -49374,6 +49540,11 @@ Object.freeze({
|
|
|
49374
49540
|
}
|
|
49375
49541
|
});
|
|
49376
49542
|
Object.freeze({
|
|
49543
|
+
"accessories.getStatus": [{
|
|
49544
|
+
name: "deviceId",
|
|
49545
|
+
form: "single",
|
|
49546
|
+
optional: false
|
|
49547
|
+
}],
|
|
49377
49548
|
"accessories.setChildHidden": [{
|
|
49378
49549
|
name: "childDeviceId",
|
|
49379
49550
|
form: "single",
|
|
@@ -49393,6 +49564,11 @@ Object.freeze({
|
|
|
49393
49564
|
form: "single",
|
|
49394
49565
|
optional: false
|
|
49395
49566
|
}],
|
|
49567
|
+
"airQualitySensor.getStatus": [{
|
|
49568
|
+
name: "deviceId",
|
|
49569
|
+
form: "single",
|
|
49570
|
+
optional: false
|
|
49571
|
+
}],
|
|
49396
49572
|
"alarmPanel.arm": [{
|
|
49397
49573
|
name: "deviceId",
|
|
49398
49574
|
form: "single",
|
|
@@ -49403,11 +49579,36 @@ Object.freeze({
|
|
|
49403
49579
|
form: "single",
|
|
49404
49580
|
optional: false
|
|
49405
49581
|
}],
|
|
49582
|
+
"alarmPanel.getStatus": [{
|
|
49583
|
+
name: "deviceId",
|
|
49584
|
+
form: "single",
|
|
49585
|
+
optional: false
|
|
49586
|
+
}],
|
|
49406
49587
|
"alarmPanel.trigger": [{
|
|
49407
49588
|
name: "deviceId",
|
|
49408
49589
|
form: "single",
|
|
49409
49590
|
optional: false
|
|
49410
49591
|
}],
|
|
49592
|
+
"ambientLightSensor.getStatus": [{
|
|
49593
|
+
name: "deviceId",
|
|
49594
|
+
form: "single",
|
|
49595
|
+
optional: false
|
|
49596
|
+
}],
|
|
49597
|
+
"audioAnalysis.applyDeviceSettingsPatch": [{
|
|
49598
|
+
name: "deviceId",
|
|
49599
|
+
form: "single",
|
|
49600
|
+
optional: false
|
|
49601
|
+
}],
|
|
49602
|
+
"audioAnalysis.getDeviceLiveContribution": [{
|
|
49603
|
+
name: "deviceId",
|
|
49604
|
+
form: "single",
|
|
49605
|
+
optional: false
|
|
49606
|
+
}],
|
|
49607
|
+
"audioAnalysis.getDeviceSettingsContribution": [{
|
|
49608
|
+
name: "deviceId",
|
|
49609
|
+
form: "single",
|
|
49610
|
+
optional: false
|
|
49611
|
+
}],
|
|
49411
49612
|
"audioAnalysis.resolveDeviceSettings": [{
|
|
49412
49613
|
name: "deviceId",
|
|
49413
49614
|
form: "single",
|
|
@@ -49448,16 +49649,36 @@ Object.freeze({
|
|
|
49448
49649
|
form: "single",
|
|
49449
49650
|
optional: false
|
|
49450
49651
|
}],
|
|
49652
|
+
"automationControl.getStatus": [{
|
|
49653
|
+
name: "deviceId",
|
|
49654
|
+
form: "single",
|
|
49655
|
+
optional: false
|
|
49656
|
+
}],
|
|
49451
49657
|
"automationControl.trigger": [{
|
|
49452
49658
|
name: "deviceId",
|
|
49453
49659
|
form: "single",
|
|
49454
49660
|
optional: false
|
|
49455
49661
|
}],
|
|
49662
|
+
"battery.getStatus": [{
|
|
49663
|
+
name: "deviceId",
|
|
49664
|
+
form: "single",
|
|
49665
|
+
optional: false
|
|
49666
|
+
}],
|
|
49456
49667
|
"battery.wakeForStream": [{
|
|
49457
49668
|
name: "deviceId",
|
|
49458
49669
|
form: "single",
|
|
49459
49670
|
optional: false
|
|
49460
49671
|
}],
|
|
49672
|
+
"binary.getStatus": [{
|
|
49673
|
+
name: "deviceId",
|
|
49674
|
+
form: "single",
|
|
49675
|
+
optional: false
|
|
49676
|
+
}],
|
|
49677
|
+
"brightness.getStatus": [{
|
|
49678
|
+
name: "deviceId",
|
|
49679
|
+
form: "single",
|
|
49680
|
+
optional: false
|
|
49681
|
+
}],
|
|
49461
49682
|
"brightness.setBrightness": [{
|
|
49462
49683
|
name: "deviceId",
|
|
49463
49684
|
form: "single",
|
|
@@ -49473,6 +49694,26 @@ Object.freeze({
|
|
|
49473
49694
|
form: "single",
|
|
49474
49695
|
optional: false
|
|
49475
49696
|
}],
|
|
49697
|
+
"cameraCredentials.getStatus": [{
|
|
49698
|
+
name: "deviceId",
|
|
49699
|
+
form: "single",
|
|
49700
|
+
optional: false
|
|
49701
|
+
}],
|
|
49702
|
+
"cameraGridLayout.applyDeviceSettingsPatch": [{
|
|
49703
|
+
name: "deviceId",
|
|
49704
|
+
form: "single",
|
|
49705
|
+
optional: false
|
|
49706
|
+
}],
|
|
49707
|
+
"cameraGridLayout.getDeviceLiveContribution": [{
|
|
49708
|
+
name: "deviceId",
|
|
49709
|
+
form: "single",
|
|
49710
|
+
optional: false
|
|
49711
|
+
}],
|
|
49712
|
+
"cameraGridLayout.getDeviceSettingsContribution": [{
|
|
49713
|
+
name: "deviceId",
|
|
49714
|
+
form: "single",
|
|
49715
|
+
optional: false
|
|
49716
|
+
}],
|
|
49476
49717
|
"cameraGridLayout.getLayout": [{
|
|
49477
49718
|
name: "deviceId",
|
|
49478
49719
|
form: "single",
|
|
@@ -49488,6 +49729,21 @@ Object.freeze({
|
|
|
49488
49729
|
form: "single",
|
|
49489
49730
|
optional: false
|
|
49490
49731
|
}],
|
|
49732
|
+
"cameraPipelineConfig.applyDeviceSettingsPatch": [{
|
|
49733
|
+
name: "deviceId",
|
|
49734
|
+
form: "single",
|
|
49735
|
+
optional: false
|
|
49736
|
+
}],
|
|
49737
|
+
"cameraPipelineConfig.getDeviceLiveContribution": [{
|
|
49738
|
+
name: "deviceId",
|
|
49739
|
+
form: "single",
|
|
49740
|
+
optional: false
|
|
49741
|
+
}],
|
|
49742
|
+
"cameraPipelineConfig.getDeviceSettingsContribution": [{
|
|
49743
|
+
name: "deviceId",
|
|
49744
|
+
form: "single",
|
|
49745
|
+
optional: false
|
|
49746
|
+
}],
|
|
49491
49747
|
"cameraStreams.getBrokerStreams": [{
|
|
49492
49748
|
name: "deviceId",
|
|
49493
49749
|
form: "single",
|
|
@@ -49513,6 +49769,16 @@ Object.freeze({
|
|
|
49513
49769
|
form: "single",
|
|
49514
49770
|
optional: false
|
|
49515
49771
|
}],
|
|
49772
|
+
"carbonMonoxide.getStatus": [{
|
|
49773
|
+
name: "deviceId",
|
|
49774
|
+
form: "single",
|
|
49775
|
+
optional: false
|
|
49776
|
+
}],
|
|
49777
|
+
"climateControl.getStatus": [{
|
|
49778
|
+
name: "deviceId",
|
|
49779
|
+
form: "single",
|
|
49780
|
+
optional: false
|
|
49781
|
+
}],
|
|
49516
49782
|
"climateControl.setFanMode": [{
|
|
49517
49783
|
name: "deviceId",
|
|
49518
49784
|
form: "single",
|
|
@@ -49553,16 +49819,41 @@ Object.freeze({
|
|
|
49553
49819
|
form: "single",
|
|
49554
49820
|
optional: false
|
|
49555
49821
|
}],
|
|
49822
|
+
"color.getStatus": [{
|
|
49823
|
+
name: "deviceId",
|
|
49824
|
+
form: "single",
|
|
49825
|
+
optional: false
|
|
49826
|
+
}],
|
|
49556
49827
|
"color.setColor": [{
|
|
49557
49828
|
name: "deviceId",
|
|
49558
49829
|
form: "single",
|
|
49559
49830
|
optional: false
|
|
49560
49831
|
}],
|
|
49832
|
+
"connectivity.getStatus": [{
|
|
49833
|
+
name: "deviceId",
|
|
49834
|
+
form: "single",
|
|
49835
|
+
optional: false
|
|
49836
|
+
}],
|
|
49837
|
+
"consumables.getStatus": [{
|
|
49838
|
+
name: "deviceId",
|
|
49839
|
+
form: "single",
|
|
49840
|
+
optional: false
|
|
49841
|
+
}],
|
|
49561
49842
|
"consumables.reset": [{
|
|
49562
49843
|
name: "deviceId",
|
|
49563
49844
|
form: "single",
|
|
49564
49845
|
optional: false
|
|
49565
49846
|
}],
|
|
49847
|
+
"contact.getStatus": [{
|
|
49848
|
+
name: "deviceId",
|
|
49849
|
+
form: "single",
|
|
49850
|
+
optional: false
|
|
49851
|
+
}],
|
|
49852
|
+
"control.getStatus": [{
|
|
49853
|
+
name: "deviceId",
|
|
49854
|
+
form: "single",
|
|
49855
|
+
optional: false
|
|
49856
|
+
}],
|
|
49566
49857
|
"control.setValue": [{
|
|
49567
49858
|
name: "deviceId",
|
|
49568
49859
|
form: "single",
|
|
@@ -49573,6 +49864,11 @@ Object.freeze({
|
|
|
49573
49864
|
form: "single",
|
|
49574
49865
|
optional: false
|
|
49575
49866
|
}],
|
|
49867
|
+
"cover.getStatus": [{
|
|
49868
|
+
name: "deviceId",
|
|
49869
|
+
form: "single",
|
|
49870
|
+
optional: false
|
|
49871
|
+
}],
|
|
49576
49872
|
"cover.open": [{
|
|
49577
49873
|
name: "deviceId",
|
|
49578
49874
|
form: "single",
|
|
@@ -49598,6 +49894,11 @@ Object.freeze({
|
|
|
49598
49894
|
form: "single",
|
|
49599
49895
|
optional: false
|
|
49600
49896
|
}],
|
|
49897
|
+
"dayNight.getStatus": [{
|
|
49898
|
+
name: "deviceId",
|
|
49899
|
+
form: "single",
|
|
49900
|
+
optional: false
|
|
49901
|
+
}],
|
|
49601
49902
|
"dayNight.setSettings": [{
|
|
49602
49903
|
name: "deviceId",
|
|
49603
49904
|
form: "single",
|
|
@@ -49608,11 +49909,31 @@ Object.freeze({
|
|
|
49608
49909
|
form: "single",
|
|
49609
49910
|
optional: true
|
|
49610
49911
|
}],
|
|
49912
|
+
"detectionPipeline.applyDeviceSettingsPatch": [{
|
|
49913
|
+
name: "deviceId",
|
|
49914
|
+
form: "single",
|
|
49915
|
+
optional: false
|
|
49916
|
+
}],
|
|
49917
|
+
"detectionPipeline.getDeviceLiveContribution": [{
|
|
49918
|
+
name: "deviceId",
|
|
49919
|
+
form: "single",
|
|
49920
|
+
optional: false
|
|
49921
|
+
}],
|
|
49922
|
+
"detectionPipeline.getDeviceSettingsContribution": [{
|
|
49923
|
+
name: "deviceId",
|
|
49924
|
+
form: "single",
|
|
49925
|
+
optional: false
|
|
49926
|
+
}],
|
|
49611
49927
|
"deviceAdminLink.getAdminLink": [{
|
|
49612
49928
|
name: "deviceId",
|
|
49613
49929
|
form: "single",
|
|
49614
49930
|
optional: false
|
|
49615
49931
|
}],
|
|
49932
|
+
"deviceAdoption.getStatus": [{
|
|
49933
|
+
name: "deviceId",
|
|
49934
|
+
form: "single",
|
|
49935
|
+
optional: false
|
|
49936
|
+
}],
|
|
49616
49937
|
"deviceAdoption.release": [{
|
|
49617
49938
|
name: "camDeviceId",
|
|
49618
49939
|
form: "single",
|
|
@@ -49628,6 +49949,11 @@ Object.freeze({
|
|
|
49628
49949
|
form: "single",
|
|
49629
49950
|
optional: false
|
|
49630
49951
|
}],
|
|
49952
|
+
"deviceDiscovery.getStatus": [{
|
|
49953
|
+
name: "deviceId",
|
|
49954
|
+
form: "single",
|
|
49955
|
+
optional: false
|
|
49956
|
+
}],
|
|
49631
49957
|
"deviceDiscovery.listDiscovered": [{
|
|
49632
49958
|
name: "deviceId",
|
|
49633
49959
|
form: "single",
|
|
@@ -49647,6 +49973,21 @@ Object.freeze({
|
|
|
49647
49973
|
form: "single",
|
|
49648
49974
|
optional: false
|
|
49649
49975
|
}],
|
|
49976
|
+
"deviceExport.applyDeviceSettingsPatch": [{
|
|
49977
|
+
name: "deviceId",
|
|
49978
|
+
form: "single",
|
|
49979
|
+
optional: false
|
|
49980
|
+
}],
|
|
49981
|
+
"deviceExport.getDeviceLiveContribution": [{
|
|
49982
|
+
name: "deviceId",
|
|
49983
|
+
form: "single",
|
|
49984
|
+
optional: false
|
|
49985
|
+
}],
|
|
49986
|
+
"deviceExport.getDeviceSettingsContribution": [{
|
|
49987
|
+
name: "deviceId",
|
|
49988
|
+
form: "single",
|
|
49989
|
+
optional: false
|
|
49990
|
+
}],
|
|
49650
49991
|
"deviceExtension.listCandidates": [{
|
|
49651
49992
|
name: "deviceId",
|
|
49652
49993
|
form: "single",
|
|
@@ -49995,6 +50336,26 @@ Object.freeze({
|
|
|
49995
50336
|
form: "single",
|
|
49996
50337
|
optional: false
|
|
49997
50338
|
}],
|
|
50339
|
+
"deviceStatus.getStatus": [{
|
|
50340
|
+
name: "deviceId",
|
|
50341
|
+
form: "single",
|
|
50342
|
+
optional: false
|
|
50343
|
+
}],
|
|
50344
|
+
"doorbell.getStatus": [{
|
|
50345
|
+
name: "deviceId",
|
|
50346
|
+
form: "single",
|
|
50347
|
+
optional: false
|
|
50348
|
+
}],
|
|
50349
|
+
"enumSensor.getStatus": [{
|
|
50350
|
+
name: "deviceId",
|
|
50351
|
+
form: "single",
|
|
50352
|
+
optional: false
|
|
50353
|
+
}],
|
|
50354
|
+
"eventEmitter.getStatus": [{
|
|
50355
|
+
name: "deviceId",
|
|
50356
|
+
form: "single",
|
|
50357
|
+
optional: false
|
|
50358
|
+
}],
|
|
49998
50359
|
"faceGallery.getFaceByTrack": [{
|
|
49999
50360
|
name: "deviceId",
|
|
50000
50361
|
form: "single",
|
|
@@ -50009,6 +50370,11 @@ Object.freeze({
|
|
|
50009
50370
|
form: "array",
|
|
50010
50371
|
optional: true
|
|
50011
50372
|
}],
|
|
50373
|
+
"fanControl.getStatus": [{
|
|
50374
|
+
name: "deviceId",
|
|
50375
|
+
form: "single",
|
|
50376
|
+
optional: false
|
|
50377
|
+
}],
|
|
50012
50378
|
"fanControl.setDirection": [{
|
|
50013
50379
|
name: "deviceId",
|
|
50014
50380
|
form: "single",
|
|
@@ -50029,6 +50395,26 @@ Object.freeze({
|
|
|
50029
50395
|
form: "single",
|
|
50030
50396
|
optional: false
|
|
50031
50397
|
}],
|
|
50398
|
+
"featureProbe.getStatus": [{
|
|
50399
|
+
name: "deviceId",
|
|
50400
|
+
form: "single",
|
|
50401
|
+
optional: false
|
|
50402
|
+
}],
|
|
50403
|
+
"flood.getStatus": [{
|
|
50404
|
+
name: "deviceId",
|
|
50405
|
+
form: "single",
|
|
50406
|
+
optional: false
|
|
50407
|
+
}],
|
|
50408
|
+
"gas.getStatus": [{
|
|
50409
|
+
name: "deviceId",
|
|
50410
|
+
form: "single",
|
|
50411
|
+
optional: false
|
|
50412
|
+
}],
|
|
50413
|
+
"humidifier.getStatus": [{
|
|
50414
|
+
name: "deviceId",
|
|
50415
|
+
form: "single",
|
|
50416
|
+
optional: false
|
|
50417
|
+
}],
|
|
50032
50418
|
"humidifier.setMode": [{
|
|
50033
50419
|
name: "deviceId",
|
|
50034
50420
|
form: "single",
|
|
@@ -50044,11 +50430,26 @@ Object.freeze({
|
|
|
50044
50430
|
form: "single",
|
|
50045
50431
|
optional: false
|
|
50046
50432
|
}],
|
|
50433
|
+
"humiditySensor.getStatus": [{
|
|
50434
|
+
name: "deviceId",
|
|
50435
|
+
form: "single",
|
|
50436
|
+
optional: false
|
|
50437
|
+
}],
|
|
50438
|
+
"image.getStatus": [{
|
|
50439
|
+
name: "deviceId",
|
|
50440
|
+
form: "single",
|
|
50441
|
+
optional: false
|
|
50442
|
+
}],
|
|
50047
50443
|
"imageSettings.getOptions": [{
|
|
50048
50444
|
name: "deviceId",
|
|
50049
50445
|
form: "single",
|
|
50050
50446
|
optional: false
|
|
50051
50447
|
}],
|
|
50448
|
+
"imageSettings.getStatus": [{
|
|
50449
|
+
name: "deviceId",
|
|
50450
|
+
form: "single",
|
|
50451
|
+
optional: false
|
|
50452
|
+
}],
|
|
50052
50453
|
"imageSettings.setSettings": [{
|
|
50053
50454
|
name: "deviceId",
|
|
50054
50455
|
form: "single",
|
|
@@ -50059,6 +50460,11 @@ Object.freeze({
|
|
|
50059
50460
|
form: "single",
|
|
50060
50461
|
optional: false
|
|
50061
50462
|
}],
|
|
50463
|
+
"intercom.getStatus": [{
|
|
50464
|
+
name: "deviceId",
|
|
50465
|
+
form: "single",
|
|
50466
|
+
optional: false
|
|
50467
|
+
}],
|
|
50062
50468
|
"intercom.handleAnswer": [{
|
|
50063
50469
|
name: "deviceId",
|
|
50064
50470
|
form: "single",
|
|
@@ -50089,6 +50495,11 @@ Object.freeze({
|
|
|
50089
50495
|
form: "single",
|
|
50090
50496
|
optional: false
|
|
50091
50497
|
}],
|
|
50498
|
+
"lawnMowerControl.getStatus": [{
|
|
50499
|
+
name: "deviceId",
|
|
50500
|
+
form: "single",
|
|
50501
|
+
optional: false
|
|
50502
|
+
}],
|
|
50092
50503
|
"lawnMowerControl.pause": [{
|
|
50093
50504
|
name: "deviceId",
|
|
50094
50505
|
form: "single",
|
|
@@ -50099,6 +50510,11 @@ Object.freeze({
|
|
|
50099
50510
|
form: "single",
|
|
50100
50511
|
optional: false
|
|
50101
50512
|
}],
|
|
50513
|
+
"lockControl.getStatus": [{
|
|
50514
|
+
name: "deviceId",
|
|
50515
|
+
form: "single",
|
|
50516
|
+
optional: false
|
|
50517
|
+
}],
|
|
50102
50518
|
"lockControl.lock": [{
|
|
50103
50519
|
name: "deviceId",
|
|
50104
50520
|
form: "single",
|
|
@@ -50114,6 +50530,11 @@ Object.freeze({
|
|
|
50114
50530
|
form: "single",
|
|
50115
50531
|
optional: false
|
|
50116
50532
|
}],
|
|
50533
|
+
"mediaPlayer.getStatus": [{
|
|
50534
|
+
name: "deviceId",
|
|
50535
|
+
form: "single",
|
|
50536
|
+
optional: false
|
|
50537
|
+
}],
|
|
50117
50538
|
"mediaPlayer.next": [{
|
|
50118
50539
|
name: "deviceId",
|
|
50119
50540
|
form: "single",
|
|
@@ -50174,6 +50595,11 @@ Object.freeze({
|
|
|
50174
50595
|
form: "single",
|
|
50175
50596
|
optional: false
|
|
50176
50597
|
}],
|
|
50598
|
+
"motion.getStatus": [{
|
|
50599
|
+
name: "deviceId",
|
|
50600
|
+
form: "single",
|
|
50601
|
+
optional: false
|
|
50602
|
+
}],
|
|
50177
50603
|
"motion.isDetected": [{
|
|
50178
50604
|
name: "deviceId",
|
|
50179
50605
|
form: "single",
|
|
@@ -50184,11 +50610,31 @@ Object.freeze({
|
|
|
50184
50610
|
form: "single",
|
|
50185
50611
|
optional: false
|
|
50186
50612
|
}],
|
|
50613
|
+
"motionDetection.applyDeviceSettingsPatch": [{
|
|
50614
|
+
name: "deviceId",
|
|
50615
|
+
form: "single",
|
|
50616
|
+
optional: false
|
|
50617
|
+
}],
|
|
50618
|
+
"motionDetection.getDeviceLiveContribution": [{
|
|
50619
|
+
name: "deviceId",
|
|
50620
|
+
form: "single",
|
|
50621
|
+
optional: false
|
|
50622
|
+
}],
|
|
50623
|
+
"motionDetection.getDeviceSettingsContribution": [{
|
|
50624
|
+
name: "deviceId",
|
|
50625
|
+
form: "single",
|
|
50626
|
+
optional: false
|
|
50627
|
+
}],
|
|
50187
50628
|
"motionDetection.removeCamera": [{
|
|
50188
50629
|
name: "deviceId",
|
|
50189
50630
|
form: "single",
|
|
50190
50631
|
optional: false
|
|
50191
50632
|
}],
|
|
50633
|
+
"motionTrigger.getStatus": [{
|
|
50634
|
+
name: "deviceId",
|
|
50635
|
+
form: "single",
|
|
50636
|
+
optional: false
|
|
50637
|
+
}],
|
|
50192
50638
|
"motionTrigger.setMotionTrigger": [{
|
|
50193
50639
|
name: "deviceId",
|
|
50194
50640
|
form: "single",
|
|
@@ -50199,6 +50645,11 @@ Object.freeze({
|
|
|
50199
50645
|
form: "single",
|
|
50200
50646
|
optional: false
|
|
50201
50647
|
}],
|
|
50648
|
+
"motionZones.getStatus": [{
|
|
50649
|
+
name: "deviceId",
|
|
50650
|
+
form: "single",
|
|
50651
|
+
optional: false
|
|
50652
|
+
}],
|
|
50202
50653
|
"motionZones.setZone": [{
|
|
50203
50654
|
name: "deviceId",
|
|
50204
50655
|
form: "single",
|
|
@@ -50209,6 +50660,11 @@ Object.freeze({
|
|
|
50209
50660
|
form: "single",
|
|
50210
50661
|
optional: false
|
|
50211
50662
|
}],
|
|
50663
|
+
"nativeObjectDetection.getStatus": [{
|
|
50664
|
+
name: "deviceId",
|
|
50665
|
+
form: "single",
|
|
50666
|
+
optional: false
|
|
50667
|
+
}],
|
|
50212
50668
|
"nativeObjectDetection.setEnabled": [{
|
|
50213
50669
|
name: "deviceId",
|
|
50214
50670
|
form: "single",
|
|
@@ -50224,6 +50680,11 @@ Object.freeze({
|
|
|
50224
50680
|
form: "single",
|
|
50225
50681
|
optional: false
|
|
50226
50682
|
}],
|
|
50683
|
+
"navigation.getStatus": [{
|
|
50684
|
+
name: "deviceId",
|
|
50685
|
+
form: "single",
|
|
50686
|
+
optional: false
|
|
50687
|
+
}],
|
|
50227
50688
|
"navigation.goToPoint": [{
|
|
50228
50689
|
name: "deviceId",
|
|
50229
50690
|
form: "single",
|
|
@@ -50269,6 +50730,11 @@ Object.freeze({
|
|
|
50269
50730
|
form: "single",
|
|
50270
50731
|
optional: false
|
|
50271
50732
|
}],
|
|
50733
|
+
"networkLink.getStatus": [{
|
|
50734
|
+
name: "deviceId",
|
|
50735
|
+
form: "single",
|
|
50736
|
+
optional: false
|
|
50737
|
+
}],
|
|
50272
50738
|
"networkQuality.getDeviceStats": [{
|
|
50273
50739
|
name: "deviceId",
|
|
50274
50740
|
form: "single",
|
|
@@ -50294,11 +50760,26 @@ Object.freeze({
|
|
|
50294
50760
|
form: "single",
|
|
50295
50761
|
optional: false
|
|
50296
50762
|
}],
|
|
50763
|
+
"notifier.getStatus": [{
|
|
50764
|
+
name: "deviceId",
|
|
50765
|
+
form: "single",
|
|
50766
|
+
optional: false
|
|
50767
|
+
}],
|
|
50297
50768
|
"notifier.send": [{
|
|
50298
50769
|
name: "deviceId",
|
|
50299
50770
|
form: "single",
|
|
50300
50771
|
optional: false
|
|
50301
50772
|
}],
|
|
50773
|
+
"numericSensor.getStatus": [{
|
|
50774
|
+
name: "deviceId",
|
|
50775
|
+
form: "single",
|
|
50776
|
+
optional: false
|
|
50777
|
+
}],
|
|
50778
|
+
"osd.getStatus": [{
|
|
50779
|
+
name: "deviceId",
|
|
50780
|
+
form: "single",
|
|
50781
|
+
optional: false
|
|
50782
|
+
}],
|
|
50302
50783
|
"osd.setOverlay": [{
|
|
50303
50784
|
name: "deviceId",
|
|
50304
50785
|
form: "single",
|
|
@@ -50358,6 +50839,11 @@ Object.freeze({
|
|
|
50358
50839
|
form: "single",
|
|
50359
50840
|
optional: false
|
|
50360
50841
|
}],
|
|
50842
|
+
"petFeeder.getStatus": [{
|
|
50843
|
+
name: "deviceId",
|
|
50844
|
+
form: "single",
|
|
50845
|
+
optional: false
|
|
50846
|
+
}],
|
|
50361
50847
|
"petFeeder.markFoodReplenished": [{
|
|
50362
50848
|
name: "deviceId",
|
|
50363
50849
|
form: "single",
|
|
@@ -50393,6 +50879,11 @@ Object.freeze({
|
|
|
50393
50879
|
form: "single",
|
|
50394
50880
|
optional: false
|
|
50395
50881
|
}],
|
|
50882
|
+
"pipelineAnalytics.applyDeviceSettingsPatch": [{
|
|
50883
|
+
name: "deviceId",
|
|
50884
|
+
form: "single",
|
|
50885
|
+
optional: false
|
|
50886
|
+
}],
|
|
50396
50887
|
"pipelineAnalytics.clearTrackRelation": [{
|
|
50397
50888
|
name: "deviceId",
|
|
50398
50889
|
form: "single",
|
|
@@ -50433,6 +50924,16 @@ Object.freeze({
|
|
|
50433
50924
|
form: "single",
|
|
50434
50925
|
optional: false
|
|
50435
50926
|
}],
|
|
50927
|
+
"pipelineAnalytics.getDeviceLiveContribution": [{
|
|
50928
|
+
name: "deviceId",
|
|
50929
|
+
form: "single",
|
|
50930
|
+
optional: false
|
|
50931
|
+
}],
|
|
50932
|
+
"pipelineAnalytics.getDeviceSettingsContribution": [{
|
|
50933
|
+
name: "deviceId",
|
|
50934
|
+
form: "single",
|
|
50935
|
+
optional: false
|
|
50936
|
+
}],
|
|
50436
50937
|
"pipelineAnalytics.getEventDensity": [{
|
|
50437
50938
|
name: "deviceId",
|
|
50438
50939
|
form: "single",
|
|
@@ -50648,6 +51149,11 @@ Object.freeze({
|
|
|
50648
51149
|
form: "single",
|
|
50649
51150
|
optional: true
|
|
50650
51151
|
}],
|
|
51152
|
+
"pipelineOrchestrator.applyDeviceSettingsPatch": [{
|
|
51153
|
+
name: "deviceId",
|
|
51154
|
+
form: "single",
|
|
51155
|
+
optional: false
|
|
51156
|
+
}],
|
|
50651
51157
|
"pipelineOrchestrator.assignAudio": [{
|
|
50652
51158
|
name: "deviceId",
|
|
50653
51159
|
form: "single",
|
|
@@ -50693,6 +51199,16 @@ Object.freeze({
|
|
|
50693
51199
|
form: "single",
|
|
50694
51200
|
optional: false
|
|
50695
51201
|
}],
|
|
51202
|
+
"pipelineOrchestrator.getDeviceLiveContribution": [{
|
|
51203
|
+
name: "deviceId",
|
|
51204
|
+
form: "single",
|
|
51205
|
+
optional: false
|
|
51206
|
+
}],
|
|
51207
|
+
"pipelineOrchestrator.getDeviceSettingsContribution": [{
|
|
51208
|
+
name: "deviceId",
|
|
51209
|
+
form: "single",
|
|
51210
|
+
optional: false
|
|
51211
|
+
}],
|
|
50696
51212
|
"pipelineOrchestrator.getPipelineAssignment": [{
|
|
50697
51213
|
name: "deviceId",
|
|
50698
51214
|
form: "single",
|
|
@@ -50813,11 +51329,31 @@ Object.freeze({
|
|
|
50813
51329
|
form: "single",
|
|
50814
51330
|
optional: true
|
|
50815
51331
|
}],
|
|
51332
|
+
"powerMeter.getStatus": [{
|
|
51333
|
+
name: "deviceId",
|
|
51334
|
+
form: "single",
|
|
51335
|
+
optional: false
|
|
51336
|
+
}],
|
|
51337
|
+
"presence.getStatus": [{
|
|
51338
|
+
name: "deviceId",
|
|
51339
|
+
form: "single",
|
|
51340
|
+
optional: false
|
|
51341
|
+
}],
|
|
51342
|
+
"pressureSensor.getStatus": [{
|
|
51343
|
+
name: "deviceId",
|
|
51344
|
+
form: "single",
|
|
51345
|
+
optional: false
|
|
51346
|
+
}],
|
|
50816
51347
|
"privacyMask.getOptions": [{
|
|
50817
51348
|
name: "deviceId",
|
|
50818
51349
|
form: "single",
|
|
50819
51350
|
optional: false
|
|
50820
51351
|
}],
|
|
51352
|
+
"privacyMask.getStatus": [{
|
|
51353
|
+
name: "deviceId",
|
|
51354
|
+
form: "single",
|
|
51355
|
+
optional: false
|
|
51356
|
+
}],
|
|
50821
51357
|
"privacyMask.setAudioEnabled": [{
|
|
50822
51358
|
name: "deviceId",
|
|
50823
51359
|
form: "single",
|
|
@@ -50868,6 +51404,11 @@ Object.freeze({
|
|
|
50868
51404
|
form: "single",
|
|
50869
51405
|
optional: false
|
|
50870
51406
|
}],
|
|
51407
|
+
"ptz.getStatus": [{
|
|
51408
|
+
name: "deviceId",
|
|
51409
|
+
form: "single",
|
|
51410
|
+
optional: false
|
|
51411
|
+
}],
|
|
50871
51412
|
"ptz.goHome": [{
|
|
50872
51413
|
name: "deviceId",
|
|
50873
51414
|
form: "single",
|
|
@@ -50958,6 +51499,11 @@ Object.freeze({
|
|
|
50958
51499
|
form: "single",
|
|
50959
51500
|
optional: false
|
|
50960
51501
|
}],
|
|
51502
|
+
"recordingArchive.applyDeviceSettingsPatch": [{
|
|
51503
|
+
name: "deviceId",
|
|
51504
|
+
form: "single",
|
|
51505
|
+
optional: false
|
|
51506
|
+
}],
|
|
50961
51507
|
"recordingArchive.deleteFootprint": [{
|
|
50962
51508
|
name: "deviceId",
|
|
50963
51509
|
form: "single",
|
|
@@ -50978,6 +51524,21 @@ Object.freeze({
|
|
|
50978
51524
|
form: "single",
|
|
50979
51525
|
optional: false
|
|
50980
51526
|
}],
|
|
51527
|
+
"recordingArchive.getDeviceLiveContribution": [{
|
|
51528
|
+
name: "deviceId",
|
|
51529
|
+
form: "single",
|
|
51530
|
+
optional: false
|
|
51531
|
+
}],
|
|
51532
|
+
"recordingArchive.getDeviceSettingsContribution": [{
|
|
51533
|
+
name: "deviceId",
|
|
51534
|
+
form: "single",
|
|
51535
|
+
optional: false
|
|
51536
|
+
}],
|
|
51537
|
+
"recordingArchive.getStatus": [{
|
|
51538
|
+
name: "deviceId",
|
|
51539
|
+
form: "single",
|
|
51540
|
+
optional: false
|
|
51541
|
+
}],
|
|
50981
51542
|
"recordingArchive.listOpsLog": [{
|
|
50982
51543
|
name: "deviceId",
|
|
50983
51544
|
form: "single",
|
|
@@ -51063,6 +51624,11 @@ Object.freeze({
|
|
|
51063
51624
|
form: "single",
|
|
51064
51625
|
optional: false
|
|
51065
51626
|
}],
|
|
51627
|
+
"recordingOnboard.getStatus": [{
|
|
51628
|
+
name: "deviceId",
|
|
51629
|
+
form: "single",
|
|
51630
|
+
optional: false
|
|
51631
|
+
}],
|
|
51066
51632
|
"recordingOnboard.setSettings": [{
|
|
51067
51633
|
name: "deviceId",
|
|
51068
51634
|
form: "single",
|
|
@@ -51093,6 +51659,11 @@ Object.freeze({
|
|
|
51093
51659
|
form: "single",
|
|
51094
51660
|
optional: false
|
|
51095
51661
|
}],
|
|
51662
|
+
"sceneMonitor.getStatus": [{
|
|
51663
|
+
name: "deviceId",
|
|
51664
|
+
form: "single",
|
|
51665
|
+
optional: false
|
|
51666
|
+
}],
|
|
51096
51667
|
"sceneMonitor.listScenes": [{
|
|
51097
51668
|
name: "deviceId",
|
|
51098
51669
|
form: "single",
|
|
@@ -51118,6 +51689,11 @@ Object.freeze({
|
|
|
51118
51689
|
form: "single",
|
|
51119
51690
|
optional: false
|
|
51120
51691
|
}],
|
|
51692
|
+
"scriptRunner.getStatus": [{
|
|
51693
|
+
name: "deviceId",
|
|
51694
|
+
form: "single",
|
|
51695
|
+
optional: false
|
|
51696
|
+
}],
|
|
51121
51697
|
"scriptRunner.run": [{
|
|
51122
51698
|
name: "deviceId",
|
|
51123
51699
|
form: "single",
|
|
@@ -51128,11 +51704,31 @@ Object.freeze({
|
|
|
51128
51704
|
form: "single",
|
|
51129
51705
|
optional: false
|
|
51130
51706
|
}],
|
|
51707
|
+
"smoke.getStatus": [{
|
|
51708
|
+
name: "deviceId",
|
|
51709
|
+
form: "single",
|
|
51710
|
+
optional: false
|
|
51711
|
+
}],
|
|
51712
|
+
"snapshot.applyDeviceSettingsPatch": [{
|
|
51713
|
+
name: "deviceId",
|
|
51714
|
+
form: "single",
|
|
51715
|
+
optional: false
|
|
51716
|
+
}],
|
|
51131
51717
|
"snapshot.getDebugState": [{
|
|
51132
51718
|
name: "deviceId",
|
|
51133
51719
|
form: "single",
|
|
51134
51720
|
optional: false
|
|
51135
51721
|
}],
|
|
51722
|
+
"snapshot.getDeviceLiveContribution": [{
|
|
51723
|
+
name: "deviceId",
|
|
51724
|
+
form: "single",
|
|
51725
|
+
optional: false
|
|
51726
|
+
}],
|
|
51727
|
+
"snapshot.getDeviceSettingsContribution": [{
|
|
51728
|
+
name: "deviceId",
|
|
51729
|
+
form: "single",
|
|
51730
|
+
optional: false
|
|
51731
|
+
}],
|
|
51136
51732
|
"snapshot.getSnapshot": [{
|
|
51137
51733
|
name: "deviceId",
|
|
51138
51734
|
form: "single",
|
|
@@ -51149,6 +51745,11 @@ Object.freeze({
|
|
|
51149
51745
|
form: "array",
|
|
51150
51746
|
optional: false
|
|
51151
51747
|
}],
|
|
51748
|
+
"snapshot.getStatus": [{
|
|
51749
|
+
name: "deviceId",
|
|
51750
|
+
form: "single",
|
|
51751
|
+
optional: false
|
|
51752
|
+
}],
|
|
51152
51753
|
"snapshot.invalidateCache": [{
|
|
51153
51754
|
name: "deviceId",
|
|
51154
51755
|
form: "single",
|
|
@@ -51159,6 +51760,11 @@ Object.freeze({
|
|
|
51159
51760
|
form: "single",
|
|
51160
51761
|
optional: false
|
|
51161
51762
|
}],
|
|
51763
|
+
"streamBroker.applyDeviceSettingsPatch": [{
|
|
51764
|
+
name: "deviceId",
|
|
51765
|
+
form: "single",
|
|
51766
|
+
optional: false
|
|
51767
|
+
}],
|
|
51162
51768
|
"streamBroker.assignProfile": [{
|
|
51163
51769
|
name: "deviceId",
|
|
51164
51770
|
form: "single",
|
|
@@ -51174,6 +51780,16 @@ Object.freeze({
|
|
|
51174
51780
|
form: "single",
|
|
51175
51781
|
optional: false
|
|
51176
51782
|
}],
|
|
51783
|
+
"streamBroker.getDeviceLiveContribution": [{
|
|
51784
|
+
name: "deviceId",
|
|
51785
|
+
form: "single",
|
|
51786
|
+
optional: false
|
|
51787
|
+
}],
|
|
51788
|
+
"streamBroker.getDeviceSettingsContribution": [{
|
|
51789
|
+
name: "deviceId",
|
|
51790
|
+
form: "single",
|
|
51791
|
+
optional: false
|
|
51792
|
+
}],
|
|
51177
51793
|
"streamBroker.getStreamWithCodec": [{
|
|
51178
51794
|
name: "deviceId",
|
|
51179
51795
|
form: "single",
|
|
@@ -51234,16 +51850,46 @@ Object.freeze({
|
|
|
51234
51850
|
form: "single",
|
|
51235
51851
|
optional: false
|
|
51236
51852
|
}],
|
|
51853
|
+
"streamParams.getStatus": [{
|
|
51854
|
+
name: "deviceId",
|
|
51855
|
+
form: "single",
|
|
51856
|
+
optional: false
|
|
51857
|
+
}],
|
|
51237
51858
|
"streamParams.setProfile": [{
|
|
51238
51859
|
name: "deviceId",
|
|
51239
51860
|
form: "single",
|
|
51240
51861
|
optional: false
|
|
51241
51862
|
}],
|
|
51863
|
+
"switch.getStatus": [{
|
|
51864
|
+
name: "deviceId",
|
|
51865
|
+
form: "single",
|
|
51866
|
+
optional: false
|
|
51867
|
+
}],
|
|
51242
51868
|
"switch.setState": [{
|
|
51243
51869
|
name: "deviceId",
|
|
51244
51870
|
form: "single",
|
|
51245
51871
|
optional: false
|
|
51246
51872
|
}],
|
|
51873
|
+
"tamper.getStatus": [{
|
|
51874
|
+
name: "deviceId",
|
|
51875
|
+
form: "single",
|
|
51876
|
+
optional: false
|
|
51877
|
+
}],
|
|
51878
|
+
"temperatureSensor.getStatus": [{
|
|
51879
|
+
name: "deviceId",
|
|
51880
|
+
form: "single",
|
|
51881
|
+
optional: false
|
|
51882
|
+
}],
|
|
51883
|
+
"update.getStatus": [{
|
|
51884
|
+
name: "deviceId",
|
|
51885
|
+
form: "single",
|
|
51886
|
+
optional: false
|
|
51887
|
+
}],
|
|
51888
|
+
"vacuumControl.getStatus": [{
|
|
51889
|
+
name: "deviceId",
|
|
51890
|
+
form: "single",
|
|
51891
|
+
optional: false
|
|
51892
|
+
}],
|
|
51247
51893
|
"vacuumControl.locate": [{
|
|
51248
51894
|
name: "deviceId",
|
|
51249
51895
|
form: "single",
|
|
@@ -51279,6 +51925,11 @@ Object.freeze({
|
|
|
51279
51925
|
form: "single",
|
|
51280
51926
|
optional: false
|
|
51281
51927
|
}],
|
|
51928
|
+
"valve.getStatus": [{
|
|
51929
|
+
name: "deviceId",
|
|
51930
|
+
form: "single",
|
|
51931
|
+
optional: false
|
|
51932
|
+
}],
|
|
51282
51933
|
"valve.open": [{
|
|
51283
51934
|
name: "deviceId",
|
|
51284
51935
|
form: "single",
|
|
@@ -51294,6 +51945,11 @@ Object.freeze({
|
|
|
51294
51945
|
form: "single",
|
|
51295
51946
|
optional: false
|
|
51296
51947
|
}],
|
|
51948
|
+
"vibration.getStatus": [{
|
|
51949
|
+
name: "deviceId",
|
|
51950
|
+
form: "single",
|
|
51951
|
+
optional: false
|
|
51952
|
+
}],
|
|
51297
51953
|
"videoclips.dialClipStream": [{
|
|
51298
51954
|
name: "deviceId",
|
|
51299
51955
|
form: "single",
|
|
@@ -51329,6 +51985,11 @@ Object.freeze({
|
|
|
51329
51985
|
form: "single",
|
|
51330
51986
|
optional: false
|
|
51331
51987
|
}],
|
|
51988
|
+
"waterHeater.getStatus": [{
|
|
51989
|
+
name: "deviceId",
|
|
51990
|
+
form: "single",
|
|
51991
|
+
optional: false
|
|
51992
|
+
}],
|
|
51332
51993
|
"waterHeater.setAway": [{
|
|
51333
51994
|
name: "deviceId",
|
|
51334
51995
|
form: "single",
|
|
@@ -51344,6 +52005,11 @@ Object.freeze({
|
|
|
51344
52005
|
form: "single",
|
|
51345
52006
|
optional: false
|
|
51346
52007
|
}],
|
|
52008
|
+
"weather.getStatus": [{
|
|
52009
|
+
name: "deviceId",
|
|
52010
|
+
form: "single",
|
|
52011
|
+
optional: false
|
|
52012
|
+
}],
|
|
51347
52013
|
"webrtcSession.addIceCandidate": [{
|
|
51348
52014
|
name: "deviceId",
|
|
51349
52015
|
form: "single",
|
|
@@ -52854,6 +53520,12 @@ Object.defineProperty(exports, "buttonCapability", {
|
|
|
52854
53520
|
return buttonCapability;
|
|
52855
53521
|
}
|
|
52856
53522
|
});
|
|
53523
|
+
Object.defineProperty(exports, "calendarSourceCapability", {
|
|
53524
|
+
enumerable: true,
|
|
53525
|
+
get: function() {
|
|
53526
|
+
return calendarSourceCapability;
|
|
53527
|
+
}
|
|
53528
|
+
});
|
|
52857
53529
|
Object.defineProperty(exports, "carbonMonoxideCapability", {
|
|
52858
53530
|
enumerable: true,
|
|
52859
53531
|
get: function() {
|