@camstack/addon-provider-homematic 1.2.85 → 1.2.87

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.
Files changed (3) hide show
  1. package/dist/addon.js +129 -70
  2. package/dist/addon.mjs +129 -70
  3. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -16183,14 +16183,14 @@ var alarmPanelCapability = {
16183
16183
  code: string().min(1).optional()
16184
16184
  }), _void(), {
16185
16185
  kind: "mutation",
16186
- auth: "admin"
16186
+ auth: "protected"
16187
16187
  }),
16188
16188
  disarm: method(object({
16189
16189
  deviceId: number().int().nonnegative(),
16190
16190
  code: string().min(1).optional()
16191
16191
  }), _void(), {
16192
16192
  kind: "mutation",
16193
- auth: "admin"
16193
+ auth: "protected"
16194
16194
  }),
16195
16195
  /**
16196
16196
  * Force the panel into the `triggered` state — used by HA
@@ -16201,7 +16201,7 @@ var alarmPanelCapability = {
16201
16201
  */
16202
16202
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16203
16203
  kind: "mutation",
16204
- auth: "admin"
16204
+ auth: "protected"
16205
16205
  })
16206
16206
  },
16207
16207
  status: {
@@ -24168,7 +24168,7 @@ var brightnessCapability = {
24168
24168
  percentage: number().min(0).max(100)
24169
24169
  }), _void(), {
24170
24170
  kind: "mutation",
24171
- auth: "admin"
24171
+ auth: "protected"
24172
24172
  }) },
24173
24173
  events: {
24174
24174
  /**
@@ -24201,7 +24201,7 @@ onBrightnessChanged: { data: object({
24201
24201
  };
24202
24202
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24203
24203
  kind: "mutation",
24204
- auth: "admin"
24204
+ auth: "protected"
24205
24205
  });
24206
24206
  /**
24207
24207
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24393,28 +24393,28 @@ var climateControlCapability = {
24393
24393
  mode: HvacModeSchema
24394
24394
  }), _void(), {
24395
24395
  kind: "mutation",
24396
- auth: "admin"
24396
+ auth: "protected"
24397
24397
  }),
24398
24398
  setFanMode: method(object({
24399
24399
  deviceId: number().int().nonnegative(),
24400
24400
  fanMode: string().min(1)
24401
24401
  }), _void(), {
24402
24402
  kind: "mutation",
24403
- auth: "admin"
24403
+ auth: "protected"
24404
24404
  }),
24405
24405
  setPreset: method(object({
24406
24406
  deviceId: number().int().nonnegative(),
24407
24407
  preset: string().min(1)
24408
24408
  }), _void(), {
24409
24409
  kind: "mutation",
24410
- auth: "admin"
24410
+ auth: "protected"
24411
24411
  }),
24412
24412
  setTarget: method(object({
24413
24413
  deviceId: number().int().nonnegative(),
24414
24414
  target: number()
24415
24415
  }), _void(), {
24416
24416
  kind: "mutation",
24417
- auth: "admin"
24417
+ auth: "protected"
24418
24418
  }),
24419
24419
  setTargetRange: method(object({
24420
24420
  deviceId: number().int().nonnegative(),
@@ -24422,28 +24422,28 @@ var climateControlCapability = {
24422
24422
  targetHigh: number()
24423
24423
  }), _void(), {
24424
24424
  kind: "mutation",
24425
- auth: "admin"
24425
+ auth: "protected"
24426
24426
  }),
24427
24427
  setTargetHumidity: method(object({
24428
24428
  deviceId: number().int().nonnegative(),
24429
24429
  targetHumidity: number().min(0).max(100)
24430
24430
  }), _void(), {
24431
24431
  kind: "mutation",
24432
- auth: "admin"
24432
+ auth: "protected"
24433
24433
  }),
24434
24434
  setSwingVertical: method(object({
24435
24435
  deviceId: number().int().nonnegative(),
24436
24436
  on: boolean()
24437
24437
  }), _void(), {
24438
24438
  kind: "mutation",
24439
- auth: "admin"
24439
+ auth: "protected"
24440
24440
  }),
24441
24441
  setSwingHorizontal: method(object({
24442
24442
  deviceId: number().int().nonnegative(),
24443
24443
  on: boolean()
24444
24444
  }), _void(), {
24445
24445
  kind: "mutation",
24446
- auth: "admin"
24446
+ auth: "protected"
24447
24447
  })
24448
24448
  },
24449
24449
  status: {
@@ -24543,7 +24543,7 @@ var colorCapability = {
24543
24543
  color: ColorInputSchema
24544
24544
  }), _void(), {
24545
24545
  kind: "mutation",
24546
- auth: "admin"
24546
+ auth: "protected"
24547
24547
  }) },
24548
24548
  events: {
24549
24549
  /**
@@ -24872,7 +24872,7 @@ var controlCapability = {
24872
24872
  control: ControlSetValueInputSchema
24873
24873
  }), _void(), {
24874
24874
  kind: "mutation",
24875
- auth: "admin"
24875
+ auth: "protected"
24876
24876
  }) },
24877
24877
  status: {
24878
24878
  schema: ControlStatusSchema,
@@ -24918,29 +24918,29 @@ var coverCapability = {
24918
24918
  methods: {
24919
24919
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24920
24920
  kind: "mutation",
24921
- auth: "admin"
24921
+ auth: "protected"
24922
24922
  }),
24923
24923
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24924
24924
  kind: "mutation",
24925
- auth: "admin"
24925
+ auth: "protected"
24926
24926
  }),
24927
24927
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24928
24928
  kind: "mutation",
24929
- auth: "admin"
24929
+ auth: "protected"
24930
24930
  }),
24931
24931
  setPosition: method(object({
24932
24932
  deviceId: number().int().nonnegative(),
24933
24933
  position: number().min(0).max(100)
24934
24934
  }), _void(), {
24935
24935
  kind: "mutation",
24936
- auth: "admin"
24936
+ auth: "protected"
24937
24937
  }),
24938
24938
  setTiltPosition: method(object({
24939
24939
  deviceId: number().int().nonnegative(),
24940
24940
  tiltPosition: number().min(0).max(100)
24941
24941
  }), _void(), {
24942
24942
  kind: "mutation",
24943
- auth: "admin"
24943
+ auth: "protected"
24944
24944
  })
24945
24945
  },
24946
24946
  status: {
@@ -25326,6 +25326,59 @@ var IdentitySampleInfoSchema = object({
25326
25326
  deviceId: number().int().optional(),
25327
25327
  base64: string().optional()
25328
25328
  });
25329
+ /**
25330
+ * One enrolled sample, judged against the gallery it lives in.
25331
+ *
25332
+ * The gallery is the one input to recognition nobody re-reads: a sample
25333
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25334
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25335
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25336
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25337
+ * where every other cross-identity pair sits under 0.50.
25338
+ */
25339
+ var IdentitySampleAuditRowSchema = object({
25340
+ sampleId: string(),
25341
+ enrolledAt: number().int(),
25342
+ deviceId: number().int().optional(),
25343
+ source: _enum(["detected", "photo"]),
25344
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25345
+ mediaKey: string().optional(),
25346
+ /**
25347
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25348
+ * across feature spaces is a well-formed float with no meaning. Every number
25349
+ * below then says nothing — it must read as "cannot say", never as an
25350
+ * accusation and never as a clean bill: this list ends in a Remove button.
25351
+ */
25352
+ comparable: boolean(),
25353
+ /** Mean cosine against this person's other samples. Null when there are none
25354
+ * to compare with — never 0, which would read as "opposite". */
25355
+ selfMean: number().nullable(),
25356
+ /** The other person this sample looks most like, when it looks like one.
25357
+ * This is the half that convicts: not looking like yourself can be a hard
25358
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25359
+ bestForeign: object({
25360
+ identityId: string(),
25361
+ name: string(),
25362
+ score: number()
25363
+ }).optional(),
25364
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25365
+ suspicion: number()
25366
+ });
25367
+ var IdentitySampleAuditSchema = object({
25368
+ identityId: string(),
25369
+ name: string(),
25370
+ /** The cluster face model every comparison was made in. */
25371
+ modelId: string(),
25372
+ totalSamples: number().int(),
25373
+ comparableSamples: number().int(),
25374
+ flagged: number().int(),
25375
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25376
+ * only its current result. */
25377
+ flagThreshold: number(),
25378
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25379
+ * operator asked to see the gallery, not only its accusations. */
25380
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25381
+ });
25329
25382
  var FaceInfoSchema = object({
25330
25383
  faceId: string(),
25331
25384
  deviceId: number().int(),
@@ -25477,7 +25530,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25477
25530
  }), method(object({ id: string() }), _void(), {
25478
25531
  kind: "mutation",
25479
25532
  auth: "admin"
25480
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25533
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25481
25534
  identityId: string(),
25482
25535
  sampleId: string()
25483
25536
  }), _void(), {
@@ -25670,28 +25723,28 @@ var fanControlCapability = {
25670
25723
  percentage: number().min(0).max(100)
25671
25724
  }), _void(), {
25672
25725
  kind: "mutation",
25673
- auth: "admin"
25726
+ auth: "protected"
25674
25727
  }),
25675
25728
  setPreset: method(object({
25676
25729
  deviceId: number().int().nonnegative(),
25677
25730
  preset: string().min(1)
25678
25731
  }), _void(), {
25679
25732
  kind: "mutation",
25680
- auth: "admin"
25733
+ auth: "protected"
25681
25734
  }),
25682
25735
  setDirection: method(object({
25683
25736
  deviceId: number().int().nonnegative(),
25684
25737
  direction: FanDirectionSchema
25685
25738
  }), _void(), {
25686
25739
  kind: "mutation",
25687
- auth: "admin"
25740
+ auth: "protected"
25688
25741
  }),
25689
25742
  setOscillating: method(object({
25690
25743
  deviceId: number().int().nonnegative(),
25691
25744
  oscillating: boolean()
25692
25745
  }), _void(), {
25693
25746
  kind: "mutation",
25694
- auth: "admin"
25747
+ auth: "protected"
25695
25748
  })
25696
25749
  },
25697
25750
  status: {
@@ -25913,21 +25966,21 @@ var humidifierCapability = {
25913
25966
  on: boolean()
25914
25967
  }), _void(), {
25915
25968
  kind: "mutation",
25916
- auth: "admin"
25969
+ auth: "protected"
25917
25970
  }),
25918
25971
  setTargetHumidity: method(object({
25919
25972
  deviceId: number().int().nonnegative(),
25920
25973
  humidity: number().min(0).max(100)
25921
25974
  }), _void(), {
25922
25975
  kind: "mutation",
25923
- auth: "admin"
25976
+ auth: "protected"
25924
25977
  }),
25925
25978
  setMode: method(object({
25926
25979
  deviceId: number().int().nonnegative(),
25927
25980
  mode: string().min(1)
25928
25981
  }), _void(), {
25929
25982
  kind: "mutation",
25930
- auth: "admin"
25983
+ auth: "protected"
25931
25984
  })
25932
25985
  },
25933
25986
  status: {
@@ -26628,15 +26681,15 @@ var lawnMowerControlCapability = {
26628
26681
  methods: {
26629
26682
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26630
26683
  kind: "mutation",
26631
- auth: "admin"
26684
+ auth: "protected"
26632
26685
  }),
26633
26686
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26634
26687
  kind: "mutation",
26635
- auth: "admin"
26688
+ auth: "protected"
26636
26689
  }),
26637
26690
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26638
26691
  kind: "mutation",
26639
- auth: "admin"
26692
+ auth: "protected"
26640
26693
  })
26641
26694
  },
26642
26695
  status: {
@@ -26921,18 +26974,18 @@ var lockControlCapability = {
26921
26974
  code: string().min(1).optional()
26922
26975
  }), _void(), {
26923
26976
  kind: "mutation",
26924
- auth: "admin"
26977
+ auth: "protected"
26925
26978
  }),
26926
26979
  unlock: method(object({
26927
26980
  deviceId: number().int().nonnegative(),
26928
26981
  code: string().min(1).optional()
26929
26982
  }), _void(), {
26930
26983
  kind: "mutation",
26931
- auth: "admin"
26984
+ auth: "protected"
26932
26985
  }),
26933
26986
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26934
26987
  kind: "mutation",
26935
- auth: "admin"
26988
+ auth: "protected"
26936
26989
  })
26937
26990
  },
26938
26991
  status: {
@@ -27035,65 +27088,65 @@ var mediaPlayerCapability = {
27035
27088
  methods: {
27036
27089
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27037
27090
  kind: "mutation",
27038
- auth: "admin"
27091
+ auth: "protected"
27039
27092
  }),
27040
27093
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27041
27094
  kind: "mutation",
27042
- auth: "admin"
27095
+ auth: "protected"
27043
27096
  }),
27044
27097
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27045
27098
  kind: "mutation",
27046
- auth: "admin"
27099
+ auth: "protected"
27047
27100
  }),
27048
27101
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27049
27102
  kind: "mutation",
27050
- auth: "admin"
27103
+ auth: "protected"
27051
27104
  }),
27052
27105
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27053
27106
  kind: "mutation",
27054
- auth: "admin"
27107
+ auth: "protected"
27055
27108
  }),
27056
27109
  seek: method(object({
27057
27110
  deviceId: number().int().nonnegative(),
27058
27111
  positionMs: number().int().nonnegative()
27059
27112
  }), _void(), {
27060
27113
  kind: "mutation",
27061
- auth: "admin"
27114
+ auth: "protected"
27062
27115
  }),
27063
27116
  setVolume: method(object({
27064
27117
  deviceId: number().int().nonnegative(),
27065
27118
  volumeLevel: number().min(0).max(100)
27066
27119
  }), _void(), {
27067
27120
  kind: "mutation",
27068
- auth: "admin"
27121
+ auth: "protected"
27069
27122
  }),
27070
27123
  setMute: method(object({
27071
27124
  deviceId: number().int().nonnegative(),
27072
27125
  muted: boolean()
27073
27126
  }), _void(), {
27074
27127
  kind: "mutation",
27075
- auth: "admin"
27128
+ auth: "protected"
27076
27129
  }),
27077
27130
  setShuffle: method(object({
27078
27131
  deviceId: number().int().nonnegative(),
27079
27132
  shuffle: boolean()
27080
27133
  }), _void(), {
27081
27134
  kind: "mutation",
27082
- auth: "admin"
27135
+ auth: "protected"
27083
27136
  }),
27084
27137
  setRepeat: method(object({
27085
27138
  deviceId: number().int().nonnegative(),
27086
27139
  repeat: MediaPlayerRepeatSchema
27087
27140
  }), _void(), {
27088
27141
  kind: "mutation",
27089
- auth: "admin"
27142
+ auth: "protected"
27090
27143
  }),
27091
27144
  selectSource: method(object({
27092
27145
  deviceId: number().int().nonnegative(),
27093
27146
  source: string().min(1)
27094
27147
  }), _void(), {
27095
27148
  kind: "mutation",
27096
- auth: "admin"
27149
+ auth: "protected"
27097
27150
  }),
27098
27151
  playMedia: method(object({
27099
27152
  deviceId: number().int().nonnegative(),
@@ -27104,7 +27157,7 @@ var mediaPlayerCapability = {
27104
27157
  mediaType: string().min(1)
27105
27158
  }), _void(), {
27106
27159
  kind: "mutation",
27107
- auth: "admin"
27160
+ auth: "protected"
27108
27161
  })
27109
27162
  },
27110
27163
  status: {
@@ -28697,27 +28750,27 @@ var petFeederCapability = {
28697
28750
  hopper2: gramsPortion.optional()
28698
28751
  }), _void(), {
28699
28752
  kind: "mutation",
28700
- auth: "admin"
28753
+ auth: "protected"
28701
28754
  }),
28702
28755
  /** Cancel an in-progress manual feed. */
28703
28756
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28704
28757
  kind: "mutation",
28705
- auth: "admin"
28758
+ auth: "protected"
28706
28759
  }),
28707
28760
  /** Reset the desiccant "days remaining" counter after replacing it. */
28708
28761
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28709
28762
  kind: "mutation",
28710
- auth: "admin"
28763
+ auth: "protected"
28711
28764
  }),
28712
28765
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28713
28766
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28714
28767
  kind: "mutation",
28715
- auth: "admin"
28768
+ auth: "protected"
28716
28769
  }),
28717
28770
  /** Call the pet with the recorded prompt (D3). */
28718
28771
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28719
28772
  kind: "mutation",
28720
- auth: "admin"
28773
+ auth: "protected"
28721
28774
  }),
28722
28775
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28723
28776
  playSound: method(object({
@@ -28725,7 +28778,7 @@ var petFeederCapability = {
28725
28778
  soundId: number().int().nonnegative()
28726
28779
  }), _void(), {
28727
28780
  kind: "mutation",
28728
- auth: "admin"
28781
+ auth: "protected"
28729
28782
  }),
28730
28783
  /** Toggle the child-lock (manual-lock) setting. */
28731
28784
  setChildLock: method(object({
@@ -28733,7 +28786,7 @@ var petFeederCapability = {
28733
28786
  on: boolean()
28734
28787
  }), _void(), {
28735
28788
  kind: "mutation",
28736
- auth: "admin"
28789
+ auth: "protected"
28737
28790
  }),
28738
28791
  /** Toggle the front indicator light. */
28739
28792
  setIndicatorLight: method(object({
@@ -28741,7 +28794,7 @@ var petFeederCapability = {
28741
28794
  on: boolean()
28742
28795
  }), _void(), {
28743
28796
  kind: "mutation",
28744
- auth: "admin"
28797
+ auth: "protected"
28745
28798
  }),
28746
28799
  /** Toggle the dispense chime. */
28747
28800
  setFeedSound: method(object({
@@ -28749,7 +28802,7 @@ var petFeederCapability = {
28749
28802
  on: boolean()
28750
28803
  }), _void(), {
28751
28804
  kind: "mutation",
28752
- auth: "admin"
28805
+ auth: "protected"
28753
28806
  }),
28754
28807
  /** Set the speaker / prompt volume level. */
28755
28808
  setVolume: method(object({
@@ -28757,7 +28810,7 @@ var petFeederCapability = {
28757
28810
  level: number().int().nonnegative()
28758
28811
  }), _void(), {
28759
28812
  kind: "mutation",
28760
- auth: "admin"
28813
+ auth: "protected"
28761
28814
  })
28762
28815
  },
28763
28816
  status: {
@@ -31053,7 +31106,7 @@ var switchCapability = {
31053
31106
  on: boolean()
31054
31107
  }), _void(), {
31055
31108
  kind: "mutation",
31056
- auth: "admin"
31109
+ auth: "protected"
31057
31110
  }) },
31058
31111
  events: { onStateChanged: { data: object({
31059
31112
  deviceId: number(),
@@ -32041,30 +32094,30 @@ var vacuumControlCapability = {
32041
32094
  methods: {
32042
32095
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32043
32096
  kind: "mutation",
32044
- auth: "admin"
32097
+ auth: "protected"
32045
32098
  }),
32046
32099
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32047
32100
  kind: "mutation",
32048
- auth: "admin"
32101
+ auth: "protected"
32049
32102
  }),
32050
32103
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32051
32104
  kind: "mutation",
32052
- auth: "admin"
32105
+ auth: "protected"
32053
32106
  }),
32054
32107
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32055
32108
  kind: "mutation",
32056
- auth: "admin"
32109
+ auth: "protected"
32057
32110
  }),
32058
32111
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32059
32112
  kind: "mutation",
32060
- auth: "admin"
32113
+ auth: "protected"
32061
32114
  }),
32062
32115
  setFanSpeed: method(object({
32063
32116
  deviceId: number().int().nonnegative(),
32064
32117
  speed: string().min(1)
32065
32118
  }), _void(), {
32066
32119
  kind: "mutation",
32067
- auth: "admin"
32120
+ auth: "protected"
32068
32121
  })
32069
32122
  },
32070
32123
  status: {
@@ -32108,22 +32161,22 @@ var valveCapability = {
32108
32161
  methods: {
32109
32162
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32110
32163
  kind: "mutation",
32111
- auth: "admin"
32164
+ auth: "protected"
32112
32165
  }),
32113
32166
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32114
32167
  kind: "mutation",
32115
- auth: "admin"
32168
+ auth: "protected"
32116
32169
  }),
32117
32170
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32118
32171
  kind: "mutation",
32119
- auth: "admin"
32172
+ auth: "protected"
32120
32173
  }),
32121
32174
  setPosition: method(object({
32122
32175
  deviceId: number().int().nonnegative(),
32123
32176
  position: number().min(0).max(100)
32124
32177
  }), _void(), {
32125
32178
  kind: "mutation",
32126
- auth: "admin"
32179
+ auth: "protected"
32127
32180
  })
32128
32181
  },
32129
32182
  status: {
@@ -32222,21 +32275,21 @@ var waterHeaterCapability = {
32222
32275
  temp: number().finite()
32223
32276
  }), _void(), {
32224
32277
  kind: "mutation",
32225
- auth: "admin"
32278
+ auth: "protected"
32226
32279
  }),
32227
32280
  setOperationMode: method(object({
32228
32281
  deviceId: number().int().nonnegative(),
32229
32282
  mode: string().min(1)
32230
32283
  }), _void(), {
32231
32284
  kind: "mutation",
32232
- auth: "admin"
32285
+ auth: "protected"
32233
32286
  }),
32234
32287
  setAway: method(object({
32235
32288
  deviceId: number().int().nonnegative(),
32236
32289
  on: boolean()
32237
32290
  }), _void(), {
32238
32291
  kind: "mutation",
32239
- auth: "admin"
32292
+ auth: "protected"
32240
32293
  })
32241
32294
  },
32242
32295
  status: {
@@ -35970,6 +36023,12 @@ Object.freeze({
35970
36023
  addonId: null,
35971
36024
  access: "create"
35972
36025
  },
36026
+ "faceGallery.auditIdentitySamples": {
36027
+ capName: "face-gallery",
36028
+ capScope: "system",
36029
+ addonId: null,
36030
+ access: "view"
36031
+ },
35973
36032
  "faceGallery.createIdentity": {
35974
36033
  capName: "face-gallery",
35975
36034
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16184,14 +16184,14 @@ var alarmPanelCapability = {
16184
16184
  code: string().min(1).optional()
16185
16185
  }), _void(), {
16186
16186
  kind: "mutation",
16187
- auth: "admin"
16187
+ auth: "protected"
16188
16188
  }),
16189
16189
  disarm: method(object({
16190
16190
  deviceId: number().int().nonnegative(),
16191
16191
  code: string().min(1).optional()
16192
16192
  }), _void(), {
16193
16193
  kind: "mutation",
16194
- auth: "admin"
16194
+ auth: "protected"
16195
16195
  }),
16196
16196
  /**
16197
16197
  * Force the panel into the `triggered` state — used by HA
@@ -16202,7 +16202,7 @@ var alarmPanelCapability = {
16202
16202
  */
16203
16203
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16204
16204
  kind: "mutation",
16205
- auth: "admin"
16205
+ auth: "protected"
16206
16206
  })
16207
16207
  },
16208
16208
  status: {
@@ -24169,7 +24169,7 @@ var brightnessCapability = {
24169
24169
  percentage: number().min(0).max(100)
24170
24170
  }), _void(), {
24171
24171
  kind: "mutation",
24172
- auth: "admin"
24172
+ auth: "protected"
24173
24173
  }) },
24174
24174
  events: {
24175
24175
  /**
@@ -24202,7 +24202,7 @@ onBrightnessChanged: { data: object({
24202
24202
  };
24203
24203
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24204
24204
  kind: "mutation",
24205
- auth: "admin"
24205
+ auth: "protected"
24206
24206
  });
24207
24207
  /**
24208
24208
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24394,28 +24394,28 @@ var climateControlCapability = {
24394
24394
  mode: HvacModeSchema
24395
24395
  }), _void(), {
24396
24396
  kind: "mutation",
24397
- auth: "admin"
24397
+ auth: "protected"
24398
24398
  }),
24399
24399
  setFanMode: method(object({
24400
24400
  deviceId: number().int().nonnegative(),
24401
24401
  fanMode: string().min(1)
24402
24402
  }), _void(), {
24403
24403
  kind: "mutation",
24404
- auth: "admin"
24404
+ auth: "protected"
24405
24405
  }),
24406
24406
  setPreset: method(object({
24407
24407
  deviceId: number().int().nonnegative(),
24408
24408
  preset: string().min(1)
24409
24409
  }), _void(), {
24410
24410
  kind: "mutation",
24411
- auth: "admin"
24411
+ auth: "protected"
24412
24412
  }),
24413
24413
  setTarget: method(object({
24414
24414
  deviceId: number().int().nonnegative(),
24415
24415
  target: number()
24416
24416
  }), _void(), {
24417
24417
  kind: "mutation",
24418
- auth: "admin"
24418
+ auth: "protected"
24419
24419
  }),
24420
24420
  setTargetRange: method(object({
24421
24421
  deviceId: number().int().nonnegative(),
@@ -24423,28 +24423,28 @@ var climateControlCapability = {
24423
24423
  targetHigh: number()
24424
24424
  }), _void(), {
24425
24425
  kind: "mutation",
24426
- auth: "admin"
24426
+ auth: "protected"
24427
24427
  }),
24428
24428
  setTargetHumidity: method(object({
24429
24429
  deviceId: number().int().nonnegative(),
24430
24430
  targetHumidity: number().min(0).max(100)
24431
24431
  }), _void(), {
24432
24432
  kind: "mutation",
24433
- auth: "admin"
24433
+ auth: "protected"
24434
24434
  }),
24435
24435
  setSwingVertical: method(object({
24436
24436
  deviceId: number().int().nonnegative(),
24437
24437
  on: boolean()
24438
24438
  }), _void(), {
24439
24439
  kind: "mutation",
24440
- auth: "admin"
24440
+ auth: "protected"
24441
24441
  }),
24442
24442
  setSwingHorizontal: method(object({
24443
24443
  deviceId: number().int().nonnegative(),
24444
24444
  on: boolean()
24445
24445
  }), _void(), {
24446
24446
  kind: "mutation",
24447
- auth: "admin"
24447
+ auth: "protected"
24448
24448
  })
24449
24449
  },
24450
24450
  status: {
@@ -24544,7 +24544,7 @@ var colorCapability = {
24544
24544
  color: ColorInputSchema
24545
24545
  }), _void(), {
24546
24546
  kind: "mutation",
24547
- auth: "admin"
24547
+ auth: "protected"
24548
24548
  }) },
24549
24549
  events: {
24550
24550
  /**
@@ -24873,7 +24873,7 @@ var controlCapability = {
24873
24873
  control: ControlSetValueInputSchema
24874
24874
  }), _void(), {
24875
24875
  kind: "mutation",
24876
- auth: "admin"
24876
+ auth: "protected"
24877
24877
  }) },
24878
24878
  status: {
24879
24879
  schema: ControlStatusSchema,
@@ -24919,29 +24919,29 @@ var coverCapability = {
24919
24919
  methods: {
24920
24920
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24921
24921
  kind: "mutation",
24922
- auth: "admin"
24922
+ auth: "protected"
24923
24923
  }),
24924
24924
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24925
24925
  kind: "mutation",
24926
- auth: "admin"
24926
+ auth: "protected"
24927
24927
  }),
24928
24928
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24929
24929
  kind: "mutation",
24930
- auth: "admin"
24930
+ auth: "protected"
24931
24931
  }),
24932
24932
  setPosition: method(object({
24933
24933
  deviceId: number().int().nonnegative(),
24934
24934
  position: number().min(0).max(100)
24935
24935
  }), _void(), {
24936
24936
  kind: "mutation",
24937
- auth: "admin"
24937
+ auth: "protected"
24938
24938
  }),
24939
24939
  setTiltPosition: method(object({
24940
24940
  deviceId: number().int().nonnegative(),
24941
24941
  tiltPosition: number().min(0).max(100)
24942
24942
  }), _void(), {
24943
24943
  kind: "mutation",
24944
- auth: "admin"
24944
+ auth: "protected"
24945
24945
  })
24946
24946
  },
24947
24947
  status: {
@@ -25327,6 +25327,59 @@ var IdentitySampleInfoSchema = object({
25327
25327
  deviceId: number().int().optional(),
25328
25328
  base64: string().optional()
25329
25329
  });
25330
+ /**
25331
+ * One enrolled sample, judged against the gallery it lives in.
25332
+ *
25333
+ * The gallery is the one input to recognition nobody re-reads: a sample
25334
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25335
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25336
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25337
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25338
+ * where every other cross-identity pair sits under 0.50.
25339
+ */
25340
+ var IdentitySampleAuditRowSchema = object({
25341
+ sampleId: string(),
25342
+ enrolledAt: number().int(),
25343
+ deviceId: number().int().optional(),
25344
+ source: _enum(["detected", "photo"]),
25345
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25346
+ mediaKey: string().optional(),
25347
+ /**
25348
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25349
+ * across feature spaces is a well-formed float with no meaning. Every number
25350
+ * below then says nothing — it must read as "cannot say", never as an
25351
+ * accusation and never as a clean bill: this list ends in a Remove button.
25352
+ */
25353
+ comparable: boolean(),
25354
+ /** Mean cosine against this person's other samples. Null when there are none
25355
+ * to compare with — never 0, which would read as "opposite". */
25356
+ selfMean: number().nullable(),
25357
+ /** The other person this sample looks most like, when it looks like one.
25358
+ * This is the half that convicts: not looking like yourself can be a hard
25359
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25360
+ bestForeign: object({
25361
+ identityId: string(),
25362
+ name: string(),
25363
+ score: number()
25364
+ }).optional(),
25365
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25366
+ suspicion: number()
25367
+ });
25368
+ var IdentitySampleAuditSchema = object({
25369
+ identityId: string(),
25370
+ name: string(),
25371
+ /** The cluster face model every comparison was made in. */
25372
+ modelId: string(),
25373
+ totalSamples: number().int(),
25374
+ comparableSamples: number().int(),
25375
+ flagged: number().int(),
25376
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25377
+ * only its current result. */
25378
+ flagThreshold: number(),
25379
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25380
+ * operator asked to see the gallery, not only its accusations. */
25381
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25382
+ });
25330
25383
  var FaceInfoSchema = object({
25331
25384
  faceId: string(),
25332
25385
  deviceId: number().int(),
@@ -25478,7 +25531,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25478
25531
  }), method(object({ id: string() }), _void(), {
25479
25532
  kind: "mutation",
25480
25533
  auth: "admin"
25481
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25534
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25482
25535
  identityId: string(),
25483
25536
  sampleId: string()
25484
25537
  }), _void(), {
@@ -25671,28 +25724,28 @@ var fanControlCapability = {
25671
25724
  percentage: number().min(0).max(100)
25672
25725
  }), _void(), {
25673
25726
  kind: "mutation",
25674
- auth: "admin"
25727
+ auth: "protected"
25675
25728
  }),
25676
25729
  setPreset: method(object({
25677
25730
  deviceId: number().int().nonnegative(),
25678
25731
  preset: string().min(1)
25679
25732
  }), _void(), {
25680
25733
  kind: "mutation",
25681
- auth: "admin"
25734
+ auth: "protected"
25682
25735
  }),
25683
25736
  setDirection: method(object({
25684
25737
  deviceId: number().int().nonnegative(),
25685
25738
  direction: FanDirectionSchema
25686
25739
  }), _void(), {
25687
25740
  kind: "mutation",
25688
- auth: "admin"
25741
+ auth: "protected"
25689
25742
  }),
25690
25743
  setOscillating: method(object({
25691
25744
  deviceId: number().int().nonnegative(),
25692
25745
  oscillating: boolean()
25693
25746
  }), _void(), {
25694
25747
  kind: "mutation",
25695
- auth: "admin"
25748
+ auth: "protected"
25696
25749
  })
25697
25750
  },
25698
25751
  status: {
@@ -25914,21 +25967,21 @@ var humidifierCapability = {
25914
25967
  on: boolean()
25915
25968
  }), _void(), {
25916
25969
  kind: "mutation",
25917
- auth: "admin"
25970
+ auth: "protected"
25918
25971
  }),
25919
25972
  setTargetHumidity: method(object({
25920
25973
  deviceId: number().int().nonnegative(),
25921
25974
  humidity: number().min(0).max(100)
25922
25975
  }), _void(), {
25923
25976
  kind: "mutation",
25924
- auth: "admin"
25977
+ auth: "protected"
25925
25978
  }),
25926
25979
  setMode: method(object({
25927
25980
  deviceId: number().int().nonnegative(),
25928
25981
  mode: string().min(1)
25929
25982
  }), _void(), {
25930
25983
  kind: "mutation",
25931
- auth: "admin"
25984
+ auth: "protected"
25932
25985
  })
25933
25986
  },
25934
25987
  status: {
@@ -26629,15 +26682,15 @@ var lawnMowerControlCapability = {
26629
26682
  methods: {
26630
26683
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26631
26684
  kind: "mutation",
26632
- auth: "admin"
26685
+ auth: "protected"
26633
26686
  }),
26634
26687
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26635
26688
  kind: "mutation",
26636
- auth: "admin"
26689
+ auth: "protected"
26637
26690
  }),
26638
26691
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26639
26692
  kind: "mutation",
26640
- auth: "admin"
26693
+ auth: "protected"
26641
26694
  })
26642
26695
  },
26643
26696
  status: {
@@ -26922,18 +26975,18 @@ var lockControlCapability = {
26922
26975
  code: string().min(1).optional()
26923
26976
  }), _void(), {
26924
26977
  kind: "mutation",
26925
- auth: "admin"
26978
+ auth: "protected"
26926
26979
  }),
26927
26980
  unlock: method(object({
26928
26981
  deviceId: number().int().nonnegative(),
26929
26982
  code: string().min(1).optional()
26930
26983
  }), _void(), {
26931
26984
  kind: "mutation",
26932
- auth: "admin"
26985
+ auth: "protected"
26933
26986
  }),
26934
26987
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26935
26988
  kind: "mutation",
26936
- auth: "admin"
26989
+ auth: "protected"
26937
26990
  })
26938
26991
  },
26939
26992
  status: {
@@ -27036,65 +27089,65 @@ var mediaPlayerCapability = {
27036
27089
  methods: {
27037
27090
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27038
27091
  kind: "mutation",
27039
- auth: "admin"
27092
+ auth: "protected"
27040
27093
  }),
27041
27094
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27042
27095
  kind: "mutation",
27043
- auth: "admin"
27096
+ auth: "protected"
27044
27097
  }),
27045
27098
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27046
27099
  kind: "mutation",
27047
- auth: "admin"
27100
+ auth: "protected"
27048
27101
  }),
27049
27102
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27050
27103
  kind: "mutation",
27051
- auth: "admin"
27104
+ auth: "protected"
27052
27105
  }),
27053
27106
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27054
27107
  kind: "mutation",
27055
- auth: "admin"
27108
+ auth: "protected"
27056
27109
  }),
27057
27110
  seek: method(object({
27058
27111
  deviceId: number().int().nonnegative(),
27059
27112
  positionMs: number().int().nonnegative()
27060
27113
  }), _void(), {
27061
27114
  kind: "mutation",
27062
- auth: "admin"
27115
+ auth: "protected"
27063
27116
  }),
27064
27117
  setVolume: method(object({
27065
27118
  deviceId: number().int().nonnegative(),
27066
27119
  volumeLevel: number().min(0).max(100)
27067
27120
  }), _void(), {
27068
27121
  kind: "mutation",
27069
- auth: "admin"
27122
+ auth: "protected"
27070
27123
  }),
27071
27124
  setMute: method(object({
27072
27125
  deviceId: number().int().nonnegative(),
27073
27126
  muted: boolean()
27074
27127
  }), _void(), {
27075
27128
  kind: "mutation",
27076
- auth: "admin"
27129
+ auth: "protected"
27077
27130
  }),
27078
27131
  setShuffle: method(object({
27079
27132
  deviceId: number().int().nonnegative(),
27080
27133
  shuffle: boolean()
27081
27134
  }), _void(), {
27082
27135
  kind: "mutation",
27083
- auth: "admin"
27136
+ auth: "protected"
27084
27137
  }),
27085
27138
  setRepeat: method(object({
27086
27139
  deviceId: number().int().nonnegative(),
27087
27140
  repeat: MediaPlayerRepeatSchema
27088
27141
  }), _void(), {
27089
27142
  kind: "mutation",
27090
- auth: "admin"
27143
+ auth: "protected"
27091
27144
  }),
27092
27145
  selectSource: method(object({
27093
27146
  deviceId: number().int().nonnegative(),
27094
27147
  source: string().min(1)
27095
27148
  }), _void(), {
27096
27149
  kind: "mutation",
27097
- auth: "admin"
27150
+ auth: "protected"
27098
27151
  }),
27099
27152
  playMedia: method(object({
27100
27153
  deviceId: number().int().nonnegative(),
@@ -27105,7 +27158,7 @@ var mediaPlayerCapability = {
27105
27158
  mediaType: string().min(1)
27106
27159
  }), _void(), {
27107
27160
  kind: "mutation",
27108
- auth: "admin"
27161
+ auth: "protected"
27109
27162
  })
27110
27163
  },
27111
27164
  status: {
@@ -28698,27 +28751,27 @@ var petFeederCapability = {
28698
28751
  hopper2: gramsPortion.optional()
28699
28752
  }), _void(), {
28700
28753
  kind: "mutation",
28701
- auth: "admin"
28754
+ auth: "protected"
28702
28755
  }),
28703
28756
  /** Cancel an in-progress manual feed. */
28704
28757
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28705
28758
  kind: "mutation",
28706
- auth: "admin"
28759
+ auth: "protected"
28707
28760
  }),
28708
28761
  /** Reset the desiccant "days remaining" counter after replacing it. */
28709
28762
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28710
28763
  kind: "mutation",
28711
- auth: "admin"
28764
+ auth: "protected"
28712
28765
  }),
28713
28766
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28714
28767
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28715
28768
  kind: "mutation",
28716
- auth: "admin"
28769
+ auth: "protected"
28717
28770
  }),
28718
28771
  /** Call the pet with the recorded prompt (D3). */
28719
28772
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28720
28773
  kind: "mutation",
28721
- auth: "admin"
28774
+ auth: "protected"
28722
28775
  }),
28723
28776
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28724
28777
  playSound: method(object({
@@ -28726,7 +28779,7 @@ var petFeederCapability = {
28726
28779
  soundId: number().int().nonnegative()
28727
28780
  }), _void(), {
28728
28781
  kind: "mutation",
28729
- auth: "admin"
28782
+ auth: "protected"
28730
28783
  }),
28731
28784
  /** Toggle the child-lock (manual-lock) setting. */
28732
28785
  setChildLock: method(object({
@@ -28734,7 +28787,7 @@ var petFeederCapability = {
28734
28787
  on: boolean()
28735
28788
  }), _void(), {
28736
28789
  kind: "mutation",
28737
- auth: "admin"
28790
+ auth: "protected"
28738
28791
  }),
28739
28792
  /** Toggle the front indicator light. */
28740
28793
  setIndicatorLight: method(object({
@@ -28742,7 +28795,7 @@ var petFeederCapability = {
28742
28795
  on: boolean()
28743
28796
  }), _void(), {
28744
28797
  kind: "mutation",
28745
- auth: "admin"
28798
+ auth: "protected"
28746
28799
  }),
28747
28800
  /** Toggle the dispense chime. */
28748
28801
  setFeedSound: method(object({
@@ -28750,7 +28803,7 @@ var petFeederCapability = {
28750
28803
  on: boolean()
28751
28804
  }), _void(), {
28752
28805
  kind: "mutation",
28753
- auth: "admin"
28806
+ auth: "protected"
28754
28807
  }),
28755
28808
  /** Set the speaker / prompt volume level. */
28756
28809
  setVolume: method(object({
@@ -28758,7 +28811,7 @@ var petFeederCapability = {
28758
28811
  level: number().int().nonnegative()
28759
28812
  }), _void(), {
28760
28813
  kind: "mutation",
28761
- auth: "admin"
28814
+ auth: "protected"
28762
28815
  })
28763
28816
  },
28764
28817
  status: {
@@ -31054,7 +31107,7 @@ var switchCapability = {
31054
31107
  on: boolean()
31055
31108
  }), _void(), {
31056
31109
  kind: "mutation",
31057
- auth: "admin"
31110
+ auth: "protected"
31058
31111
  }) },
31059
31112
  events: { onStateChanged: { data: object({
31060
31113
  deviceId: number(),
@@ -32042,30 +32095,30 @@ var vacuumControlCapability = {
32042
32095
  methods: {
32043
32096
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32044
32097
  kind: "mutation",
32045
- auth: "admin"
32098
+ auth: "protected"
32046
32099
  }),
32047
32100
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32048
32101
  kind: "mutation",
32049
- auth: "admin"
32102
+ auth: "protected"
32050
32103
  }),
32051
32104
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32052
32105
  kind: "mutation",
32053
- auth: "admin"
32106
+ auth: "protected"
32054
32107
  }),
32055
32108
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32056
32109
  kind: "mutation",
32057
- auth: "admin"
32110
+ auth: "protected"
32058
32111
  }),
32059
32112
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32060
32113
  kind: "mutation",
32061
- auth: "admin"
32114
+ auth: "protected"
32062
32115
  }),
32063
32116
  setFanSpeed: method(object({
32064
32117
  deviceId: number().int().nonnegative(),
32065
32118
  speed: string().min(1)
32066
32119
  }), _void(), {
32067
32120
  kind: "mutation",
32068
- auth: "admin"
32121
+ auth: "protected"
32069
32122
  })
32070
32123
  },
32071
32124
  status: {
@@ -32109,22 +32162,22 @@ var valveCapability = {
32109
32162
  methods: {
32110
32163
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32111
32164
  kind: "mutation",
32112
- auth: "admin"
32165
+ auth: "protected"
32113
32166
  }),
32114
32167
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32115
32168
  kind: "mutation",
32116
- auth: "admin"
32169
+ auth: "protected"
32117
32170
  }),
32118
32171
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32119
32172
  kind: "mutation",
32120
- auth: "admin"
32173
+ auth: "protected"
32121
32174
  }),
32122
32175
  setPosition: method(object({
32123
32176
  deviceId: number().int().nonnegative(),
32124
32177
  position: number().min(0).max(100)
32125
32178
  }), _void(), {
32126
32179
  kind: "mutation",
32127
- auth: "admin"
32180
+ auth: "protected"
32128
32181
  })
32129
32182
  },
32130
32183
  status: {
@@ -32223,21 +32276,21 @@ var waterHeaterCapability = {
32223
32276
  temp: number().finite()
32224
32277
  }), _void(), {
32225
32278
  kind: "mutation",
32226
- auth: "admin"
32279
+ auth: "protected"
32227
32280
  }),
32228
32281
  setOperationMode: method(object({
32229
32282
  deviceId: number().int().nonnegative(),
32230
32283
  mode: string().min(1)
32231
32284
  }), _void(), {
32232
32285
  kind: "mutation",
32233
- auth: "admin"
32286
+ auth: "protected"
32234
32287
  }),
32235
32288
  setAway: method(object({
32236
32289
  deviceId: number().int().nonnegative(),
32237
32290
  on: boolean()
32238
32291
  }), _void(), {
32239
32292
  kind: "mutation",
32240
- auth: "admin"
32293
+ auth: "protected"
32241
32294
  })
32242
32295
  },
32243
32296
  status: {
@@ -35971,6 +36024,12 @@ Object.freeze({
35971
36024
  addonId: null,
35972
36025
  access: "create"
35973
36026
  },
36027
+ "faceGallery.auditIdentitySamples": {
36028
+ capName: "face-gallery",
36029
+ capScope: "system",
36030
+ addonId: null,
36031
+ access: "view"
36032
+ },
35974
36033
  "faceGallery.createIdentity": {
35975
36034
  capName: "face-gallery",
35976
36035
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homematic",
3
- "version": "1.2.85",
3
+ "version": "1.2.87",
4
4
  "description": "Homematic / HomematicIP (CCU3 / RaspberryMatic) device-provider addon for CamStack — wraps the nodehomematic library",
5
5
  "keywords": [
6
6
  "camstack",