@camstack/addon-agent-ui 1.2.284 → 1.2.286
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/addon.js +175 -123
- package/dist/assets/{MotionZonesSettings-BRRNVhnO.js → MotionZonesSettings-C_1L0bRr.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-DdstRAWd.js → PrivacyMaskSettings-BbXecOG-.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-BzHfe6YC.js → SceneMonitorEditor-BteS0Ima.js} +1 -1
- package/dist/assets/index-B_zCxgXp.css +2 -0
- package/dist/assets/index-BuSq3NI1.js +112 -0
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/index-BISipUpK.css +0 -2
- package/dist/assets/index-De2GstwB.js +0 -112
package/dist/addon.js
CHANGED
|
@@ -5448,7 +5448,7 @@ var ZodIssueCode = {
|
|
|
5448
5448
|
var ZodFirstPartyTypeKind;
|
|
5449
5449
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5450
5450
|
//#endregion
|
|
5451
|
-
//#region ../types/dist/sleep-
|
|
5451
|
+
//#region ../types/dist/sleep-Crlmu_tO.mjs
|
|
5452
5452
|
/**
|
|
5453
5453
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5454
5454
|
* window to float samples (D455).
|
|
@@ -8705,11 +8705,11 @@ var CAP_NAMES = Object.freeze([
|
|
|
8705
8705
|
Object.freeze({
|
|
8706
8706
|
"air-quality-sensor": [
|
|
8707
8707
|
{
|
|
8708
|
-
"path": "
|
|
8708
|
+
"path": "co2",
|
|
8709
8709
|
"valueType": "number"
|
|
8710
8710
|
},
|
|
8711
8711
|
{
|
|
8712
|
-
"path": "
|
|
8712
|
+
"path": "voc",
|
|
8713
8713
|
"valueType": "number"
|
|
8714
8714
|
},
|
|
8715
8715
|
{
|
|
@@ -8759,7 +8759,7 @@ Object.freeze({
|
|
|
8759
8759
|
}
|
|
8760
8760
|
],
|
|
8761
8761
|
"ambient-light-sensor": [{
|
|
8762
|
-
"path": "
|
|
8762
|
+
"path": "illuminance",
|
|
8763
8763
|
"valueType": "number"
|
|
8764
8764
|
}],
|
|
8765
8765
|
"audio-metrics": [
|
|
@@ -8820,7 +8820,7 @@ Object.freeze({
|
|
|
8820
8820
|
],
|
|
8821
8821
|
"battery": [
|
|
8822
8822
|
{
|
|
8823
|
-
"path": "
|
|
8823
|
+
"path": "level",
|
|
8824
8824
|
"valueType": "number"
|
|
8825
8825
|
},
|
|
8826
8826
|
{
|
|
@@ -8842,7 +8842,7 @@ Object.freeze({
|
|
|
8842
8842
|
"valueType": "number"
|
|
8843
8843
|
},
|
|
8844
8844
|
{
|
|
8845
|
-
"path": "
|
|
8845
|
+
"path": "voltage",
|
|
8846
8846
|
"valueType": "number"
|
|
8847
8847
|
},
|
|
8848
8848
|
{
|
|
@@ -8863,7 +8863,7 @@ Object.freeze({
|
|
|
8863
8863
|
"valueType": "boolean"
|
|
8864
8864
|
}],
|
|
8865
8865
|
"brightness": [{
|
|
8866
|
-
"path": "
|
|
8866
|
+
"path": "level",
|
|
8867
8867
|
"valueType": "number"
|
|
8868
8868
|
}],
|
|
8869
8869
|
"broker": [{
|
|
@@ -9064,7 +9064,7 @@ Object.freeze({
|
|
|
9064
9064
|
"valueType": "number"
|
|
9065
9065
|
},
|
|
9066
9066
|
{
|
|
9067
|
-
"path": "
|
|
9067
|
+
"path": "colorTemperature",
|
|
9068
9068
|
"valueType": "number"
|
|
9069
9069
|
}
|
|
9070
9070
|
],
|
|
@@ -9243,15 +9243,15 @@ Object.freeze({
|
|
|
9243
9243
|
"valueType": "string"
|
|
9244
9244
|
},
|
|
9245
9245
|
{
|
|
9246
|
-
"path": "
|
|
9246
|
+
"path": "remaining",
|
|
9247
9247
|
"valueType": "number"
|
|
9248
9248
|
},
|
|
9249
9249
|
{
|
|
9250
|
-
"path": "
|
|
9250
|
+
"path": "delayedStart",
|
|
9251
9251
|
"valueType": "number"
|
|
9252
9252
|
},
|
|
9253
9253
|
{
|
|
9254
|
-
"path": "
|
|
9254
|
+
"path": "progress",
|
|
9255
9255
|
"valueType": "number"
|
|
9256
9256
|
},
|
|
9257
9257
|
{
|
|
@@ -9365,7 +9365,7 @@ Object.freeze({
|
|
|
9365
9365
|
],
|
|
9366
9366
|
"fan-control": [
|
|
9367
9367
|
{
|
|
9368
|
-
"path": "
|
|
9368
|
+
"path": "speed",
|
|
9369
9369
|
"valueType": "number"
|
|
9370
9370
|
},
|
|
9371
9371
|
{
|
|
@@ -9465,7 +9465,7 @@ Object.freeze({
|
|
|
9465
9465
|
}
|
|
9466
9466
|
],
|
|
9467
9467
|
"humidity-sensor": [{
|
|
9468
|
-
"path": "
|
|
9468
|
+
"path": "humidity",
|
|
9469
9469
|
"valueType": "number"
|
|
9470
9470
|
}],
|
|
9471
9471
|
"image": [{
|
|
@@ -9575,7 +9575,7 @@ Object.freeze({
|
|
|
9575
9575
|
"valueType": "number"
|
|
9576
9576
|
},
|
|
9577
9577
|
{
|
|
9578
|
-
"path": "
|
|
9578
|
+
"path": "progress",
|
|
9579
9579
|
"valueType": "number"
|
|
9580
9580
|
},
|
|
9581
9581
|
{
|
|
@@ -9654,11 +9654,11 @@ Object.freeze({
|
|
|
9654
9654
|
"valueType": "string"
|
|
9655
9655
|
},
|
|
9656
9656
|
{
|
|
9657
|
-
"path": "
|
|
9657
|
+
"path": "position",
|
|
9658
9658
|
"valueType": "number"
|
|
9659
9659
|
},
|
|
9660
9660
|
{
|
|
9661
|
-
"path": "
|
|
9661
|
+
"path": "duration",
|
|
9662
9662
|
"valueType": "number"
|
|
9663
9663
|
},
|
|
9664
9664
|
{
|
|
@@ -9760,11 +9760,11 @@ Object.freeze({
|
|
|
9760
9760
|
]
|
|
9761
9761
|
},
|
|
9762
9762
|
{
|
|
9763
|
-
"path": "
|
|
9763
|
+
"path": "signal",
|
|
9764
9764
|
"valueType": "number"
|
|
9765
9765
|
},
|
|
9766
9766
|
{
|
|
9767
|
-
"path": "
|
|
9767
|
+
"path": "rssi",
|
|
9768
9768
|
"valueType": "number"
|
|
9769
9769
|
},
|
|
9770
9770
|
{
|
|
@@ -9895,23 +9895,23 @@ Object.freeze({
|
|
|
9895
9895
|
],
|
|
9896
9896
|
"power-meter": [
|
|
9897
9897
|
{
|
|
9898
|
-
"path": "
|
|
9898
|
+
"path": "power",
|
|
9899
9899
|
"valueType": "number"
|
|
9900
9900
|
},
|
|
9901
9901
|
{
|
|
9902
|
-
"path": "
|
|
9902
|
+
"path": "energy",
|
|
9903
9903
|
"valueType": "number"
|
|
9904
9904
|
},
|
|
9905
9905
|
{
|
|
9906
|
-
"path": "
|
|
9906
|
+
"path": "voltage",
|
|
9907
9907
|
"valueType": "number"
|
|
9908
9908
|
},
|
|
9909
9909
|
{
|
|
9910
|
-
"path": "
|
|
9910
|
+
"path": "current",
|
|
9911
9911
|
"valueType": "number"
|
|
9912
9912
|
},
|
|
9913
9913
|
{
|
|
9914
|
-
"path": "
|
|
9914
|
+
"path": "apparentPower",
|
|
9915
9915
|
"valueType": "number"
|
|
9916
9916
|
},
|
|
9917
9917
|
{
|
|
@@ -9939,14 +9939,10 @@ Object.freeze({
|
|
|
9939
9939
|
{
|
|
9940
9940
|
"path": "gps.accuracyMeters",
|
|
9941
9941
|
"valueType": "number"
|
|
9942
|
-
},
|
|
9943
|
-
{
|
|
9944
|
-
"path": "batteryPercent",
|
|
9945
|
-
"valueType": "number"
|
|
9946
9942
|
}
|
|
9947
9943
|
],
|
|
9948
9944
|
"pressure-sensor": [{
|
|
9949
|
-
"path": "
|
|
9945
|
+
"path": "pressure",
|
|
9950
9946
|
"valueType": "number"
|
|
9951
9947
|
}],
|
|
9952
9948
|
"privacy-mask": [{
|
|
@@ -10260,7 +10256,7 @@ Object.freeze({
|
|
|
10260
10256
|
"valueType": "boolean"
|
|
10261
10257
|
}],
|
|
10262
10258
|
"temperature-sensor": [{
|
|
10263
|
-
"path": "
|
|
10259
|
+
"path": "temperature",
|
|
10264
10260
|
"valueType": "number"
|
|
10265
10261
|
}],
|
|
10266
10262
|
"update": [
|
|
@@ -10308,7 +10304,7 @@ Object.freeze({
|
|
|
10308
10304
|
"valueType": "string"
|
|
10309
10305
|
},
|
|
10310
10306
|
{
|
|
10311
|
-
"path": "
|
|
10307
|
+
"path": "progress",
|
|
10312
10308
|
"valueType": "number"
|
|
10313
10309
|
},
|
|
10314
10310
|
{
|
|
@@ -10783,7 +10779,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
10783
10779
|
return DeviceRole;
|
|
10784
10780
|
}({});
|
|
10785
10781
|
//#endregion
|
|
10786
|
-
//#region ../types/dist/composition-
|
|
10782
|
+
//#region ../types/dist/composition-DwA0uVW5.mjs
|
|
10787
10783
|
/**
|
|
10788
10784
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
10789
10785
|
*
|
|
@@ -18413,7 +18409,7 @@ var CompositionEventPlanSchema = object({
|
|
|
18413
18409
|
stateField: string(),
|
|
18414
18410
|
fieldKey: string()
|
|
18415
18411
|
});
|
|
18416
|
-
/** One refusal, named (D391). `path` points into the composition, e.g. `features[0].fields.
|
|
18412
|
+
/** One refusal, named (D391). `path` points into the composition, e.g. `features[0].fields.temperature`. */
|
|
18417
18413
|
var CompositionProblemSchema = object({
|
|
18418
18414
|
code: _enum([
|
|
18419
18415
|
"reserved-variant",
|
|
@@ -18695,12 +18691,13 @@ var CHANGED = {
|
|
|
18695
18691
|
expr: "now"
|
|
18696
18692
|
};
|
|
18697
18693
|
function numeric(input) {
|
|
18694
|
+
const { alsoFrom, ...base } = input;
|
|
18698
18695
|
return {
|
|
18699
|
-
...
|
|
18696
|
+
...base,
|
|
18700
18697
|
family: "numeric",
|
|
18701
18698
|
deviceType: DeviceType.Sensor,
|
|
18702
18699
|
memberDeviceType: DeviceType.Sensor,
|
|
18703
|
-
memberDeviceTypes: [DeviceType.Sensor],
|
|
18700
|
+
memberDeviceTypes: [DeviceType.Sensor, ...alsoFrom?.deviceTypes ?? []],
|
|
18704
18701
|
activeWhen: void 0,
|
|
18705
18702
|
commandCaps: [],
|
|
18706
18703
|
baseUnit: baseUnitOf(input.quantity),
|
|
@@ -18708,9 +18705,10 @@ function numeric(input) {
|
|
|
18708
18705
|
accept: [{
|
|
18709
18706
|
cap: input.outputCap,
|
|
18710
18707
|
fieldPath: input.outputField
|
|
18711
|
-
}]
|
|
18708
|
+
}, ...alsoFrom === void 0 ? [] : [alsoFrom.accept]]
|
|
18712
18709
|
};
|
|
18713
18710
|
}
|
|
18711
|
+
var CLIMATE_DEVICES = [DeviceType.Thermostat, DeviceType.Climate];
|
|
18714
18712
|
function binary(input) {
|
|
18715
18713
|
return {
|
|
18716
18714
|
...input,
|
|
@@ -18732,29 +18730,43 @@ var GROUP_TEMPLATES = [
|
|
|
18732
18730
|
summary: "Mean, median, min, max or sum of temperatures. Offline and unknown members are left out, never read as 0 °C.",
|
|
18733
18731
|
role: DeviceRole.TemperatureSensor,
|
|
18734
18732
|
outputCap: "temperature-sensor",
|
|
18735
|
-
outputField: "
|
|
18733
|
+
outputField: "temperature",
|
|
18736
18734
|
quantity: "temperature",
|
|
18737
18735
|
defaultAggregate: "mean",
|
|
18738
18736
|
empty: "null",
|
|
18739
|
-
companions: [NOW$2]
|
|
18737
|
+
companions: [NOW$2],
|
|
18738
|
+
alsoFrom: {
|
|
18739
|
+
deviceTypes: CLIMATE_DEVICES,
|
|
18740
|
+
accept: {
|
|
18741
|
+
cap: "climate-control",
|
|
18742
|
+
fieldPath: "currentTemp"
|
|
18743
|
+
}
|
|
18744
|
+
}
|
|
18740
18745
|
}),
|
|
18741
18746
|
numeric({
|
|
18742
18747
|
id: "humidity",
|
|
18743
18748
|
summary: "Humidity in percent. Offline and unknown members are left out, never read as 0 %.",
|
|
18744
18749
|
role: DeviceRole.HumiditySensor,
|
|
18745
18750
|
outputCap: "humidity-sensor",
|
|
18746
|
-
outputField: "
|
|
18751
|
+
outputField: "humidity",
|
|
18747
18752
|
quantity: "humidity",
|
|
18748
18753
|
defaultAggregate: "mean",
|
|
18749
18754
|
empty: "null",
|
|
18750
|
-
companions: [NOW$2]
|
|
18755
|
+
companions: [NOW$2],
|
|
18756
|
+
alsoFrom: {
|
|
18757
|
+
deviceTypes: CLIMATE_DEVICES,
|
|
18758
|
+
accept: {
|
|
18759
|
+
cap: "climate-control",
|
|
18760
|
+
fieldPath: "currentHumidity"
|
|
18761
|
+
}
|
|
18762
|
+
}
|
|
18751
18763
|
}),
|
|
18752
18764
|
numeric({
|
|
18753
18765
|
id: "pressure",
|
|
18754
18766
|
summary: "Pressure in hectopascals. Offline and unknown members are left out, never read as 0 hPa.",
|
|
18755
18767
|
role: DeviceRole.PressureSensor,
|
|
18756
18768
|
outputCap: "pressure-sensor",
|
|
18757
|
-
outputField: "
|
|
18769
|
+
outputField: "pressure",
|
|
18758
18770
|
quantity: "pressure",
|
|
18759
18771
|
defaultAggregate: "mean",
|
|
18760
18772
|
empty: "null",
|
|
@@ -18765,7 +18777,7 @@ var GROUP_TEMPLATES = [
|
|
|
18765
18777
|
summary: "Illuminance in lux. Offline and unknown members are left out, never read as 0 lx.",
|
|
18766
18778
|
role: DeviceRole.AmbientLightSensor,
|
|
18767
18779
|
outputCap: "ambient-light-sensor",
|
|
18768
|
-
outputField: "
|
|
18780
|
+
outputField: "illuminance",
|
|
18769
18781
|
quantity: "illuminance",
|
|
18770
18782
|
defaultAggregate: "mean",
|
|
18771
18783
|
empty: "null",
|
|
@@ -18776,7 +18788,7 @@ var GROUP_TEMPLATES = [
|
|
|
18776
18788
|
summary: "Power in watts, summed by default. Nobody reporting omits the key rather than writing 0 W.",
|
|
18777
18789
|
role: DeviceRole.PowerSensor,
|
|
18778
18790
|
outputCap: "power-meter",
|
|
18779
|
-
outputField: "
|
|
18791
|
+
outputField: "power",
|
|
18780
18792
|
quantity: "power",
|
|
18781
18793
|
defaultAggregate: "sum",
|
|
18782
18794
|
empty: "omit",
|
|
@@ -18787,7 +18799,7 @@ var GROUP_TEMPLATES = [
|
|
|
18787
18799
|
summary: "Energy in kilowatt-hours, summed by default. Nobody reporting omits the key rather than writing 0 kWh.",
|
|
18788
18800
|
role: DeviceRole.EnergySensor,
|
|
18789
18801
|
outputCap: "power-meter",
|
|
18790
|
-
outputField: "
|
|
18802
|
+
outputField: "energy",
|
|
18791
18803
|
quantity: "energy",
|
|
18792
18804
|
defaultAggregate: "sum",
|
|
18793
18805
|
empty: "omit",
|
|
@@ -18798,7 +18810,7 @@ var GROUP_TEMPLATES = [
|
|
|
18798
18810
|
summary: "Battery charge in percent. Offline and unknown members are left out, never read as 0 %.",
|
|
18799
18811
|
role: DeviceRole.BatterySensor,
|
|
18800
18812
|
outputCap: "battery",
|
|
18801
|
-
outputField: "
|
|
18813
|
+
outputField: "level",
|
|
18802
18814
|
quantity: "percentage",
|
|
18803
18815
|
defaultAggregate: "mean",
|
|
18804
18816
|
empty: "null",
|
|
@@ -44253,6 +44265,43 @@ var NotificationActionSchema = object({
|
|
|
44253
44265
|
*/
|
|
44254
44266
|
mode: _enum(["navigate", "background"]).optional()
|
|
44255
44267
|
});
|
|
44268
|
+
/** A delivery parameter value: what a notifier declared it takes. */
|
|
44269
|
+
var DeliveryParamValueSchema = union([
|
|
44270
|
+
string(),
|
|
44271
|
+
number(),
|
|
44272
|
+
boolean()
|
|
44273
|
+
]);
|
|
44274
|
+
/**
|
|
44275
|
+
* One extra delivery parameter a notifier KIND declares (D938). A rule that
|
|
44276
|
+
* addresses a target of that kind may set it; a kind that declares nothing is
|
|
44277
|
+
* never handed one. The admin UI derives its control from this descriptor —
|
|
44278
|
+
* no editor knows a service by name.
|
|
44279
|
+
*
|
|
44280
|
+
* Optional fields are `.optional()`, never `.default()` (a Zod default does not
|
|
44281
|
+
* run on the addon cap path).
|
|
44282
|
+
*/
|
|
44283
|
+
var DeliveryParamSchema = object({
|
|
44284
|
+
key: string().min(1),
|
|
44285
|
+
label: string(),
|
|
44286
|
+
/** i18n key of the label, resolved by the declaring addon's namespace. */
|
|
44287
|
+
labelKey: string().optional(),
|
|
44288
|
+
type: _enum([
|
|
44289
|
+
"enum",
|
|
44290
|
+
"number",
|
|
44291
|
+
"boolean",
|
|
44292
|
+
"string"
|
|
44293
|
+
]),
|
|
44294
|
+
/** `enum` only: the closed set of accepted values. */
|
|
44295
|
+
options: array(object({
|
|
44296
|
+
value: string(),
|
|
44297
|
+
label: string()
|
|
44298
|
+
})).optional(),
|
|
44299
|
+
/** `number` only. */
|
|
44300
|
+
min: number().optional(),
|
|
44301
|
+
max: number().optional(),
|
|
44302
|
+
/** What the notifier does when the rule sets nothing; shown as the placeholder. */
|
|
44303
|
+
default: DeliveryParamValueSchema.optional()
|
|
44304
|
+
});
|
|
44256
44305
|
/**
|
|
44257
44306
|
* The canonical notification. `body` is the only hard field (Apprise model).
|
|
44258
44307
|
* `priority` is a 5-level ORDINAL (1=lowest … 3=normal(default) … 5=urgent),
|
|
@@ -44275,7 +44324,13 @@ var NotificationSchema = object({
|
|
|
44275
44324
|
tag: string().optional(),
|
|
44276
44325
|
deviceId: number().optional(),
|
|
44277
44326
|
eventId: string().optional(),
|
|
44278
|
-
metadata: record(string(), unknown()).optional()
|
|
44327
|
+
metadata: record(string(), unknown()).optional(),
|
|
44328
|
+
/**
|
|
44329
|
+
* Values for the parameters the target's kind DECLARES in
|
|
44330
|
+
* {@link TargetKindSchema} `deliveryParams`. Already validated against the
|
|
44331
|
+
* declaration by the sender; a notifier reads only the keys it declared.
|
|
44332
|
+
*/
|
|
44333
|
+
delivery: record(string(), DeliveryParamValueSchema).optional()
|
|
44279
44334
|
});
|
|
44280
44335
|
/** One declared native severity/priority level for a kind. */
|
|
44281
44336
|
var TargetKindLevelSchema = object({
|
|
@@ -44381,6 +44436,11 @@ var TargetKindSchema = object({
|
|
|
44381
44436
|
*/
|
|
44382
44437
|
destinationKeys: array(string()).optional(),
|
|
44383
44438
|
supportsDiscovery: boolean(),
|
|
44439
|
+
/**
|
|
44440
|
+
* Extra delivery parameters a rule may set for a target of this kind (D938).
|
|
44441
|
+
* Absent = none; the rule editor then offers nothing.
|
|
44442
|
+
*/
|
|
44443
|
+
deliveryParams: array(DeliveryParamSchema).optional(),
|
|
44384
44444
|
caps: TargetKindCapsSchema
|
|
44385
44445
|
});
|
|
44386
44446
|
/**
|
|
@@ -56551,7 +56611,9 @@ var ManifestShapeSchema = object({
|
|
|
56551
56611
|
icon: string().optional()
|
|
56552
56612
|
}).optional(),
|
|
56553
56613
|
protected: boolean().optional(),
|
|
56554
|
-
removable: boolean().optional()
|
|
56614
|
+
removable: boolean().optional(),
|
|
56615
|
+
/** Declared Integrations-page block (mirror of `AddonDeclaration.integrationSection`). */
|
|
56616
|
+
integrationSection: _enum(["system", "providers"]).optional()
|
|
56555
56617
|
});
|
|
56556
56618
|
var AddonProcessSchema = object({
|
|
56557
56619
|
pid: number().optional(),
|
|
@@ -56916,9 +56978,9 @@ method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSc
|
|
|
56916
56978
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
56917
56979
|
object({
|
|
56918
56980
|
/** Carbon dioxide concentration in ppm. */
|
|
56919
|
-
|
|
56981
|
+
co2: number().min(0).optional().meta(readingMeta("concentration-volume")),
|
|
56920
56982
|
/** Total volatile organic compounds in ppb. */
|
|
56921
|
-
|
|
56983
|
+
voc: number().min(0).optional().meta(readingMeta("concentration-ppb")),
|
|
56922
56984
|
/** Particulate matter ≤ 2.5 μm in µg/m³. */
|
|
56923
56985
|
pm25: number().min(0).optional().meta(readingMeta("concentration-mass")),
|
|
56924
56986
|
/** Particulate matter ≤ 10 μm in µg/m³. */
|
|
@@ -56931,7 +56993,7 @@ object({
|
|
|
56931
56993
|
DeviceType.Sensor;
|
|
56932
56994
|
object({
|
|
56933
56995
|
/** Current illuminance in lux (lx). `null` when the sample was refused (D393). */
|
|
56934
|
-
|
|
56996
|
+
illuminance: number().min(0).nullable().meta(readingMeta("illuminance", {
|
|
56935
56997
|
precision: 0,
|
|
56936
56998
|
label: "Illuminance"
|
|
56937
56999
|
})),
|
|
@@ -57159,7 +57221,7 @@ var BatteryStatusSchema = object({
|
|
|
57159
57221
|
* Consumers must SKIP a null rather than coerce it — `battery-band` already
|
|
57160
57222
|
* declines to band a non-finite reading, which is the correct shape.
|
|
57161
57223
|
*/
|
|
57162
|
-
|
|
57224
|
+
level: number().min(0).max(100).nullable().meta(readingMeta("percentage", { label: "Charge" })),
|
|
57163
57225
|
/**
|
|
57164
57226
|
* Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
|
|
57165
57227
|
* Reolink-specific for the Solar Panel 2 accessory (will become
|
|
@@ -57169,7 +57231,7 @@ var BatteryStatusSchema = object({
|
|
|
57169
57231
|
* `'unknown'` is the absence of an answer: the provider has not read the
|
|
57170
57232
|
* power fields yet, or the firmware reported neither. Before it existed,
|
|
57171
57233
|
* two unreadable fields produced `'none'`, and a camera nobody had reached
|
|
57172
|
-
* was drawn "on battery alone" — the same D315 defect `
|
|
57234
|
+
* was drawn "on battery alone" — the same D315 defect `level` closed
|
|
57173
57235
|
* by going nullable. Consumers SKIP it (no charger state published, no
|
|
57174
57236
|
* glyph, no HomeKit ChargingState) rather than coerce it either way.
|
|
57175
57237
|
*/
|
|
@@ -57193,7 +57255,7 @@ var BatteryStatusSchema = object({
|
|
|
57193
57255
|
* that only report charge. A second reading on this cap, not a second
|
|
57194
57256
|
* `numeric-sensor` on the same device.
|
|
57195
57257
|
*/
|
|
57196
|
-
|
|
57258
|
+
voltage: number().nullable().optional().meta(readingMeta("voltage", { label: "Voltage" })),
|
|
57197
57259
|
/**
|
|
57198
57260
|
* Ms epoch of the last time the device PROVED it was reachable — a
|
|
57199
57261
|
* completed firmware round-trip, an observed wake, or an inbound push
|
|
@@ -57227,7 +57289,7 @@ var BatteryStatusSchema = object({
|
|
|
57227
57289
|
/**
|
|
57228
57290
|
* True when the source is a BINARY low-battery indicator (HA
|
|
57229
57291
|
* `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
|
|
57230
|
-
* charge level — `
|
|
57292
|
+
* charge level — `level` is then a coarse stand-in (100 = normal,
|
|
57231
57293
|
* sub-threshold = low). UI MUST render "Normal"/"Low" instead of a
|
|
57232
57294
|
* misleading exact percentage. Absent/false → genuine 0–100 % reading.
|
|
57233
57295
|
*/
|
|
@@ -57253,19 +57315,19 @@ object({
|
|
|
57253
57315
|
DeviceType.Sensor;
|
|
57254
57316
|
object({
|
|
57255
57317
|
/** Current level as 0..100 inclusive. Firmware-reported. */
|
|
57256
|
-
|
|
57318
|
+
level: number().min(0).max(100).meta(readingMeta("percentage")),
|
|
57257
57319
|
/** Ms epoch of the last operator-driven change. Useful for UI freshness. */
|
|
57258
57320
|
lastChangedAt: number()
|
|
57259
57321
|
});
|
|
57260
57322
|
DeviceType.Light, method(object({
|
|
57261
57323
|
deviceId: number().int().nonnegative(),
|
|
57262
|
-
|
|
57324
|
+
level: number().min(0).max(100)
|
|
57263
57325
|
}), _void(), {
|
|
57264
57326
|
kind: "mutation",
|
|
57265
57327
|
auth: "protected"
|
|
57266
57328
|
}), object({
|
|
57267
57329
|
deviceId: number(),
|
|
57268
|
-
|
|
57330
|
+
level: number().min(0).max(100),
|
|
57269
57331
|
lastChangedAt: number()
|
|
57270
57332
|
});
|
|
57271
57333
|
DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
@@ -57766,11 +57828,11 @@ var ColorInputSchema = discriminatedUnion("mode", [
|
|
|
57766
57828
|
}),
|
|
57767
57829
|
object({
|
|
57768
57830
|
mode: literal("mired"),
|
|
57769
|
-
|
|
57831
|
+
colorTemperature: number().int().min(50).max(1e3)
|
|
57770
57832
|
})
|
|
57771
57833
|
]);
|
|
57772
57834
|
object({
|
|
57773
|
-
/** Active color mode — which of `rgb` / `hsv` / `
|
|
57835
|
+
/** Active color mode — which of `rgb` / `hsv` / `colorTemperature` reflects
|
|
57774
57836
|
* the bulb's current state. */
|
|
57775
57837
|
mode: _enum([
|
|
57776
57838
|
"rgb",
|
|
@@ -57782,7 +57844,7 @@ object({
|
|
|
57782
57844
|
/** Populated when `mode === 'hsv'`. */
|
|
57783
57845
|
hsv: HsvTripletSchema.optional(),
|
|
57784
57846
|
/** Populated when `mode === 'mired'`. */
|
|
57785
|
-
|
|
57847
|
+
colorTemperature: number().int().optional().meta(readingMeta("colour-temperature")),
|
|
57786
57848
|
/** Ms epoch of the last operator-driven change. */
|
|
57787
57849
|
lastChangedAt: number()
|
|
57788
57850
|
});
|
|
@@ -57801,7 +57863,7 @@ DeviceType.Light, method(object({
|
|
|
57801
57863
|
]),
|
|
57802
57864
|
rgb: RgbTripletSchema.optional(),
|
|
57803
57865
|
hsv: HsvTripletSchema.optional(),
|
|
57804
|
-
|
|
57866
|
+
colorTemperature: number().int().optional(),
|
|
57805
57867
|
lastChangedAt: number()
|
|
57806
57868
|
});
|
|
57807
57869
|
var ConnectionTestOutcomeSchema = discriminatedUnion("outcome", [
|
|
@@ -58227,11 +58289,11 @@ object({
|
|
|
58227
58289
|
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
58228
58290
|
availablePrograms: array(string()),
|
|
58229
58291
|
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
58230
|
-
|
|
58292
|
+
remaining: number().int().nonnegative().nullable().meta(readingMeta("duration")),
|
|
58231
58293
|
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
58232
|
-
|
|
58294
|
+
delayedStart: number().int().nonnegative().nullable().meta(readingMeta("duration")),
|
|
58233
58295
|
/** Cycle completion 0..100, or null when not applicable. */
|
|
58234
|
-
|
|
58296
|
+
progress: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
58235
58297
|
/** True when the door is reported open; null when the door state is not known. */
|
|
58236
58298
|
doorOpen: boolean().nullable(),
|
|
58237
58299
|
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
@@ -58849,7 +58911,7 @@ var FanDirectionSchema = _enum(["forward", "reverse"]);
|
|
|
58849
58911
|
object({
|
|
58850
58912
|
/** Active speed as 0..100 inclusive. Null when the device has no
|
|
58851
58913
|
* speed surface (single-speed fan). */
|
|
58852
|
-
|
|
58914
|
+
speed: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
58853
58915
|
/** Speed granularity the device accepts (HA `percentage_step`, e.g. 25 for
|
|
58854
58916
|
* a 4-speed fan). Absent when unknown — the UI then falls back to step 1. */
|
|
58855
58917
|
percentageStep: number().positive().optional().meta(readingMeta("percentage")),
|
|
@@ -58869,7 +58931,7 @@ object({
|
|
|
58869
58931
|
});
|
|
58870
58932
|
DeviceType.Fan, method(object({
|
|
58871
58933
|
deviceId: number().int().nonnegative(),
|
|
58872
|
-
|
|
58934
|
+
speed: number().min(0).max(100)
|
|
58873
58935
|
}), _void(), {
|
|
58874
58936
|
kind: "mutation",
|
|
58875
58937
|
auth: "protected"
|
|
@@ -59052,7 +59114,7 @@ DeviceType.Humidifier, method(object({
|
|
|
59052
59114
|
});
|
|
59053
59115
|
object({
|
|
59054
59116
|
/** Current relative humidity, 0..100. `null` when the sample was refused (D393). */
|
|
59055
|
-
|
|
59117
|
+
humidity: number().min(0).max(100).nullable().meta(readingMeta("humidity", {
|
|
59056
59118
|
precision: 0,
|
|
59057
59119
|
label: "Humidity"
|
|
59058
59120
|
})),
|
|
@@ -59495,7 +59557,7 @@ object({
|
|
|
59495
59557
|
batteryLevel: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
59496
59558
|
/** 0..100 mowing-completion percentage of the current task, or null when no
|
|
59497
59559
|
* task is active / progress is unavailable. */
|
|
59498
|
-
|
|
59560
|
+
progress: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
59499
59561
|
/** Current device/event code (dynamic — mostly status, sometimes an error),
|
|
59500
59562
|
* or null when unknown. */
|
|
59501
59563
|
currentCode: number().nullable().meta(readingMeta("none")),
|
|
@@ -59985,10 +60047,10 @@ object({
|
|
|
59985
60047
|
currentMedia: MediaInfoSchema.nullable(),
|
|
59986
60048
|
/** Current playback position in ms. Null when not seekable or
|
|
59987
60049
|
* nothing is playing. Pair with `DeviceFeature.MediaPlayerSeek`. */
|
|
59988
|
-
|
|
60050
|
+
position: number().int().nonnegative().nullable().meta(readingMeta("duration-ms")),
|
|
59989
60051
|
/** Total duration of the current media in ms. Null when unknown
|
|
59990
60052
|
* (live stream) or nothing is playing. */
|
|
59991
|
-
|
|
60053
|
+
duration: number().int().nonnegative().nullable().meta(readingMeta("duration-ms")),
|
|
59992
60054
|
/** Shuffle toggle. Null when no shuffle surface.
|
|
59993
60055
|
* Pair with `DeviceFeature.MediaPlayerShuffle`. */
|
|
59994
60056
|
shuffle: boolean().nullable(),
|
|
@@ -60015,7 +60077,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
|
|
|
60015
60077
|
auth: "protected"
|
|
60016
60078
|
}), method(object({
|
|
60017
60079
|
deviceId: number().int().nonnegative(),
|
|
60018
|
-
|
|
60080
|
+
position: number().int().nonnegative()
|
|
60019
60081
|
}), _void(), {
|
|
60020
60082
|
kind: "mutation",
|
|
60021
60083
|
auth: "protected"
|
|
@@ -60688,9 +60750,9 @@ var NetworkLinkStatusSchema = object({
|
|
|
60688
60750
|
* one whose reading has not landed must not be drawn at 0 %. Consumers
|
|
60689
60751
|
* SKIP a null rather than coerce it.
|
|
60690
60752
|
*/
|
|
60691
|
-
|
|
60753
|
+
signal: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
60692
60754
|
/** Raw received signal strength in dBm, when the firmware reports one. */
|
|
60693
|
-
|
|
60755
|
+
rssi: number().optional().meta(readingMeta("signal-level")),
|
|
60694
60756
|
/** Network name of a wireless link, when the firmware reports it. */
|
|
60695
60757
|
ssid: string().optional(),
|
|
60696
60758
|
/** Ms epoch of the last observation. Lets consumers reason about freshness. */
|
|
@@ -61840,16 +61902,16 @@ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema)
|
|
|
61840
61902
|
auth: "admin"
|
|
61841
61903
|
});
|
|
61842
61904
|
object({
|
|
61843
|
-
/** Instantaneous power draw
|
|
61844
|
-
|
|
61905
|
+
/** Instantaneous power draw (watts). */
|
|
61906
|
+
power: number().optional().meta(readingMeta("power", { label: "Power" })),
|
|
61845
61907
|
/** Cumulative energy in kilowatt-hours since the meter was reset. */
|
|
61846
|
-
|
|
61847
|
-
/** Voltage
|
|
61848
|
-
|
|
61908
|
+
energy: number().optional().meta(readingMeta("energy", { label: "Energy" })),
|
|
61909
|
+
/** Voltage (volts). */
|
|
61910
|
+
voltage: number().optional().meta(readingMeta("voltage", { label: "Voltage" })),
|
|
61849
61911
|
/** Current in amperes. */
|
|
61850
|
-
|
|
61912
|
+
current: number().optional().meta(readingMeta("current", { label: "Current" })),
|
|
61851
61913
|
/** Apparent power in volt-amperes. */
|
|
61852
|
-
|
|
61914
|
+
apparentPower: number().optional().meta(readingMeta("apparent-power")),
|
|
61853
61915
|
/** Power factor (0..1) if reported. */
|
|
61854
61916
|
powerFactor: number().min(0).max(1).optional().meta(readingMeta("ratio")),
|
|
61855
61917
|
/** Ms epoch when the slice was last updated. */
|
|
@@ -61904,16 +61966,13 @@ object({
|
|
|
61904
61966
|
location: string().nullable(),
|
|
61905
61967
|
/** GPS coordinates when available. Null otherwise. */
|
|
61906
61968
|
gps: GpsLocationSchema.nullable(),
|
|
61907
|
-
/** Optional battery level of the tracking device (0..100). Null
|
|
61908
|
-
* when not reported. */
|
|
61909
|
-
batteryPercent: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
61910
61969
|
/** Ms epoch when the slice was last updated. */
|
|
61911
61970
|
lastChangedAt: number()
|
|
61912
61971
|
});
|
|
61913
61972
|
DeviceType.Presence;
|
|
61914
61973
|
object({
|
|
61915
61974
|
/** Current pressure in hPa. `null` when the sample was refused (D393). */
|
|
61916
|
-
|
|
61975
|
+
pressure: number().nullable().meta(readingMeta("pressure", { precision: 0 })),
|
|
61917
61976
|
/** Ms epoch when the slice was last updated. */
|
|
61918
61977
|
lastFetchedAt: number()
|
|
61919
61978
|
});
|
|
@@ -64916,7 +64975,7 @@ object({
|
|
|
64916
64975
|
DeviceType.Sensor;
|
|
64917
64976
|
object({
|
|
64918
64977
|
/** Current temperature in Celsius. `null` when the sample was refused (D393). */
|
|
64919
|
-
|
|
64978
|
+
temperature: number().nullable().meta(readingMeta("temperature", {
|
|
64920
64979
|
precision: 1,
|
|
64921
64980
|
label: "Temperature"
|
|
64922
64981
|
})),
|
|
@@ -65180,7 +65239,7 @@ object({
|
|
|
65180
65239
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
65181
65240
|
availableFanSpeeds: array(string()),
|
|
65182
65241
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
65183
|
-
|
|
65242
|
+
progress: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
65184
65243
|
/** Current error code (0 / null = no error). */
|
|
65185
65244
|
errorCode: number().nullable().meta(readingMeta("none")),
|
|
65186
65245
|
/** Human label for {@link errorCode}, or null when none / undecodable. */
|
|
@@ -76150,7 +76209,7 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76150
76209
|
label: t("Full brightness", "Luminosità massima"),
|
|
76151
76210
|
phrase: t("Set {device} to full brightness", "Porta {device} alla massima luminosità"),
|
|
76152
76211
|
icon: "sun",
|
|
76153
|
-
args: {
|
|
76212
|
+
args: { level: 100 }
|
|
76154
76213
|
},
|
|
76155
76214
|
{
|
|
76156
76215
|
id: "brightness.half",
|
|
@@ -76158,7 +76217,7 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76158
76217
|
label: t("Half brightness", "Luminosità a metà"),
|
|
76159
76218
|
phrase: t("Dim {device} to half", "Abbassa {device} a metà luminosità"),
|
|
76160
76219
|
icon: "sun-dim",
|
|
76161
|
-
args: {
|
|
76220
|
+
args: { level: 50 }
|
|
76162
76221
|
},
|
|
76163
76222
|
{
|
|
76164
76223
|
id: "brightness.off",
|
|
@@ -76166,16 +76225,16 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76166
76225
|
label: t("Brightness off", "Luminosità a zero"),
|
|
76167
76226
|
phrase: t("Dim {device} to zero", "Abbassa {device} a zero"),
|
|
76168
76227
|
icon: "lightbulb-off",
|
|
76169
|
-
args: {
|
|
76228
|
+
args: { level: 0 }
|
|
76170
76229
|
},
|
|
76171
76230
|
{
|
|
76172
76231
|
id: "brightness.set",
|
|
76173
76232
|
method: "setBrightness",
|
|
76174
76233
|
label: t("Set brightness", "Imposta la luminosità"),
|
|
76175
|
-
phrase: t("Set the brightness of {device} to {
|
|
76234
|
+
phrase: t("Set the brightness of {device} to {level}", "Imposta la luminosità di {device} a {level}"),
|
|
76176
76235
|
icon: "sun-medium",
|
|
76177
76236
|
openArgs: [{
|
|
76178
|
-
key: "
|
|
76237
|
+
key: "level",
|
|
76179
76238
|
label: PERCENT,
|
|
76180
76239
|
offer: {
|
|
76181
76240
|
kind: "number",
|
|
@@ -76189,13 +76248,13 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76189
76248
|
],
|
|
76190
76249
|
state: [{
|
|
76191
76250
|
kind: "numeric",
|
|
76192
|
-
field: "
|
|
76251
|
+
field: "level",
|
|
76193
76252
|
quantity: t("the brightness", "la luminosità"),
|
|
76194
76253
|
label: t("Brightness", "Luminosità"),
|
|
76195
76254
|
unit: "%",
|
|
76196
76255
|
icon: "sun"
|
|
76197
76256
|
}],
|
|
76198
|
-
events: { onBrightnessChanged: { notOperatorFacing: "the `
|
|
76257
|
+
events: { onBrightnessChanged: { notOperatorFacing: "the `level` state trigger reads the same change" } }
|
|
76199
76258
|
},
|
|
76200
76259
|
color: {
|
|
76201
76260
|
scope: "device",
|
|
@@ -76209,7 +76268,7 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76209
76268
|
icon: "sun",
|
|
76210
76269
|
args: { color: {
|
|
76211
76270
|
mode: "mired",
|
|
76212
|
-
|
|
76271
|
+
colorTemperature: 370
|
|
76213
76272
|
} }
|
|
76214
76273
|
},
|
|
76215
76274
|
{
|
|
@@ -76220,7 +76279,7 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76220
76279
|
icon: "snowflake",
|
|
76221
76280
|
args: { color: {
|
|
76222
76281
|
mode: "mired",
|
|
76223
|
-
|
|
76282
|
+
colorTemperature: 200
|
|
76224
76283
|
} }
|
|
76225
76284
|
},
|
|
76226
76285
|
{
|
|
@@ -76834,7 +76893,7 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76834
76893
|
label: t("Fan off", "Ventilatore spento"),
|
|
76835
76894
|
phrase: t("Stop {device}", "Ferma {device}"),
|
|
76836
76895
|
icon: "power-off",
|
|
76837
|
-
args: {
|
|
76896
|
+
args: { speed: 0 }
|
|
76838
76897
|
},
|
|
76839
76898
|
{
|
|
76840
76899
|
id: "fan.full",
|
|
@@ -76842,16 +76901,16 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76842
76901
|
label: t("Fan full", "Ventilatore al massimo"),
|
|
76843
76902
|
phrase: t("Run {device} at full speed", "Porta {device} alla massima velocità"),
|
|
76844
76903
|
icon: "fan",
|
|
76845
|
-
args: {
|
|
76904
|
+
args: { speed: 100 }
|
|
76846
76905
|
},
|
|
76847
76906
|
{
|
|
76848
76907
|
id: "fan.speed",
|
|
76849
76908
|
method: "setPercentage",
|
|
76850
76909
|
label: t("Set speed", "Imposta la velocità"),
|
|
76851
|
-
phrase: t("Set the speed of {device} to {
|
|
76910
|
+
phrase: t("Set the speed of {device} to {speed}", "Imposta la velocità di {device} al {speed}"),
|
|
76852
76911
|
icon: "fan",
|
|
76853
76912
|
openArgs: [{
|
|
76854
|
-
key: "
|
|
76913
|
+
key: "speed",
|
|
76855
76914
|
label: t("Speed", "Velocità"),
|
|
76856
76915
|
offer: {
|
|
76857
76916
|
kind: "number",
|
|
@@ -76913,7 +76972,7 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
76913
76972
|
],
|
|
76914
76973
|
state: [{
|
|
76915
76974
|
kind: "numeric",
|
|
76916
|
-
field: "
|
|
76975
|
+
field: "speed",
|
|
76917
76976
|
quantity: t("the speed", "la velocità"),
|
|
76918
76977
|
label: t("Speed", "Velocità"),
|
|
76919
76978
|
unit: "%",
|
|
@@ -77711,7 +77770,7 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
77711
77770
|
},
|
|
77712
77771
|
{
|
|
77713
77772
|
kind: "numeric",
|
|
77714
|
-
field: "
|
|
77773
|
+
field: "progress",
|
|
77715
77774
|
quantity: t("the cycle progress", "l’avanzamento del lavaggio"),
|
|
77716
77775
|
label: t("Progress", "Avanzamento"),
|
|
77717
77776
|
unit: "%",
|
|
@@ -78069,10 +78128,10 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
78069
78128
|
id: "media.seek",
|
|
78070
78129
|
method: "seek",
|
|
78071
78130
|
label: t("Seek", "Vai al punto"),
|
|
78072
|
-
phrase: t("Move {device} to {
|
|
78131
|
+
phrase: t("Move {device} to {position}", "Porta {device} al punto {position}"),
|
|
78073
78132
|
icon: "fast-forward",
|
|
78074
78133
|
openArgs: [{
|
|
78075
|
-
key: "
|
|
78134
|
+
key: "position",
|
|
78076
78135
|
label: t("Position", "Posizione"),
|
|
78077
78136
|
offer: {
|
|
78078
78137
|
kind: "number",
|
|
@@ -79121,7 +79180,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79121
79180
|
state: [
|
|
79122
79181
|
{
|
|
79123
79182
|
kind: "numeric",
|
|
79124
|
-
field: "
|
|
79183
|
+
field: "co2",
|
|
79125
79184
|
quantity: t("the CO₂", "la CO₂"),
|
|
79126
79185
|
label: t("CO₂", "CO₂"),
|
|
79127
79186
|
unit: "ppm",
|
|
@@ -79129,7 +79188,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79129
79188
|
},
|
|
79130
79189
|
{
|
|
79131
79190
|
kind: "numeric",
|
|
79132
|
-
field: "
|
|
79191
|
+
field: "voc",
|
|
79133
79192
|
quantity: t("the VOC level", "il livello di COV"),
|
|
79134
79193
|
label: t("VOC", "COV"),
|
|
79135
79194
|
unit: "ppb",
|
|
@@ -79165,7 +79224,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79165
79224
|
noun: t("Light level", "Luminosità ambiente"),
|
|
79166
79225
|
state: [{
|
|
79167
79226
|
kind: "numeric",
|
|
79168
|
-
field: "
|
|
79227
|
+
field: "illuminance",
|
|
79169
79228
|
quantity: t("the light level", "la luminosità"),
|
|
79170
79229
|
label: t("Illuminance", "Illuminamento"),
|
|
79171
79230
|
unit: "lx",
|
|
@@ -79368,7 +79427,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79368
79427
|
noun: t("Humidity", "Umidità"),
|
|
79369
79428
|
state: [{
|
|
79370
79429
|
kind: "numeric",
|
|
79371
|
-
field: "
|
|
79430
|
+
field: "humidity",
|
|
79372
79431
|
quantity: t("the humidity", "l’umidità"),
|
|
79373
79432
|
label: t("Humidity", "Umidità"),
|
|
79374
79433
|
unit: "%",
|
|
@@ -79416,7 +79475,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79416
79475
|
state: [
|
|
79417
79476
|
{
|
|
79418
79477
|
kind: "numeric",
|
|
79419
|
-
field: "
|
|
79478
|
+
field: "power",
|
|
79420
79479
|
quantity: t("the power draw", "il consumo"),
|
|
79421
79480
|
label: t("Power", "Potenza"),
|
|
79422
79481
|
unit: "W",
|
|
@@ -79424,7 +79483,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79424
79483
|
},
|
|
79425
79484
|
{
|
|
79426
79485
|
kind: "numeric",
|
|
79427
|
-
field: "
|
|
79486
|
+
field: "energy",
|
|
79428
79487
|
quantity: t("the energy used", "l’energia consumata"),
|
|
79429
79488
|
label: t("Energy", "Energia"),
|
|
79430
79489
|
unit: "kWh",
|
|
@@ -79432,7 +79491,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79432
79491
|
},
|
|
79433
79492
|
{
|
|
79434
79493
|
kind: "numeric",
|
|
79435
|
-
field: "
|
|
79494
|
+
field: "voltage",
|
|
79436
79495
|
quantity: t("the voltage", "la tensione"),
|
|
79437
79496
|
label: t("Voltage", "Tensione"),
|
|
79438
79497
|
unit: "V",
|
|
@@ -79440,7 +79499,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79440
79499
|
},
|
|
79441
79500
|
{
|
|
79442
79501
|
kind: "numeric",
|
|
79443
|
-
field: "
|
|
79502
|
+
field: "current",
|
|
79444
79503
|
quantity: t("the current", "la corrente"),
|
|
79445
79504
|
label: t("Current", "Corrente"),
|
|
79446
79505
|
unit: "A",
|
|
@@ -79457,13 +79516,6 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79457
79516
|
label: t("Where", "Posizione"),
|
|
79458
79517
|
phrase: t("When {device} is at {value}", "Quando {device} è in {value}"),
|
|
79459
79518
|
icon: "map-pin"
|
|
79460
|
-
}, {
|
|
79461
|
-
kind: "numeric",
|
|
79462
|
-
field: "batteryPercent",
|
|
79463
|
-
quantity: t("the phone battery", "la batteria del telefono"),
|
|
79464
|
-
label: t("Battery", "Batteria"),
|
|
79465
|
-
unit: "%",
|
|
79466
|
-
icon: "battery"
|
|
79467
79519
|
}]
|
|
79468
79520
|
},
|
|
79469
79521
|
"pressure-sensor": {
|
|
@@ -79471,7 +79523,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79471
79523
|
noun: t("Pressure", "Pressione"),
|
|
79472
79524
|
state: [{
|
|
79473
79525
|
kind: "numeric",
|
|
79474
|
-
field: "
|
|
79526
|
+
field: "pressure",
|
|
79475
79527
|
quantity: t("the pressure", "la pressione"),
|
|
79476
79528
|
label: t("Pressure", "Pressione"),
|
|
79477
79529
|
unit: "hPa",
|
|
@@ -79507,7 +79559,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79507
79559
|
noun: t("Temperature", "Temperatura"),
|
|
79508
79560
|
state: [{
|
|
79509
79561
|
kind: "numeric",
|
|
79510
|
-
field: "
|
|
79562
|
+
field: "temperature",
|
|
79511
79563
|
quantity: t("the temperature", "la temperatura"),
|
|
79512
79564
|
label: t("Temperature", "Temperatura"),
|
|
79513
79565
|
unit: "°C",
|
|
@@ -79578,7 +79630,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79578
79630
|
state: [
|
|
79579
79631
|
{
|
|
79580
79632
|
kind: "numeric",
|
|
79581
|
-
field: "
|
|
79633
|
+
field: "level",
|
|
79582
79634
|
quantity: t("the battery level", "il livello della batteria"),
|
|
79583
79635
|
label: t("Battery", "Batteria"),
|
|
79584
79636
|
unit: "%",
|
|
@@ -79620,7 +79672,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79620
79672
|
icon: "battery-charging"
|
|
79621
79673
|
}
|
|
79622
79674
|
],
|
|
79623
|
-
events: { onStatusChanged: { notOperatorFacing: "the
|
|
79675
|
+
events: { onStatusChanged: { notOperatorFacing: "the level / sleeping / charging state triggers each read one field of this change" } },
|
|
79624
79676
|
extraEvents: [{
|
|
79625
79677
|
category: EventCategory.DeviceAwake,
|
|
79626
79678
|
label: t("Woke up", "Risvegliato"),
|
|
@@ -79638,7 +79690,7 @@ var SENSOR_CAP_VOCABULARY = {
|
|
|
79638
79690
|
noun: t("Network link", "Collegamento di rete"),
|
|
79639
79691
|
state: [{
|
|
79640
79692
|
kind: "numeric",
|
|
79641
|
-
field: "
|
|
79693
|
+
field: "signal",
|
|
79642
79694
|
quantity: t("the signal strength", "l’intensità del segnale"),
|
|
79643
79695
|
label: t("Signal", "Segnale"),
|
|
79644
79696
|
unit: "%",
|
|
@@ -84059,7 +84111,7 @@ var AgentUIAddon = class extends BaseAddon {
|
|
|
84059
84111
|
capability: adminUiCapability,
|
|
84060
84112
|
provider: {
|
|
84061
84113
|
getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
|
|
84062
|
-
getVersion: async () => ({ version: "1.2.
|
|
84114
|
+
getVersion: async () => ({ version: "1.2.286" })
|
|
84063
84115
|
}
|
|
84064
84116
|
}];
|
|
84065
84117
|
}
|