@camstack/addon-training 0.1.56 → 0.1.57

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 (23) hide show
  1. package/dist/{MotionZonesSettings-W5TJMIhz.mjs → MotionZonesSettings-B1MFjLvT.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-8bCieYP4.mjs → PrivacyMaskSettings-BsCT1qXL.mjs} +2 -2
  3. package/dist/{SceneMonitorEditor-hfbQKb07.mjs → SceneMonitorEditor-DYTrCHNh.mjs} +1 -1
  4. package/dist/_stub.js +5303 -4797
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-DtB9ff7l.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-Bas5pktv.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-o-C5PmDm.mjs +26 -0
  7. package/dist/addon-training.css +1 -1
  8. package/dist/{dist-DnFIVL4Y.js → dist-CQWU7Lpk.js} +226 -7
  9. package/dist/{dist-DYEQn1Ss.mjs → dist-RNhXRDvn.mjs} +226 -7
  10. package/dist/{hostInit-Duj8IUS7.mjs → hostInit-jpGr5jVe.mjs} +2 -2
  11. package/dist/{icons-BnErSNU6.mjs → icons-DG9GIB-J.mjs} +1386 -1448
  12. package/dist/index.js +1 -1
  13. package/dist/orchestrator/training.addon.js +1 -1
  14. package/dist/orchestrator/training.addon.mjs +1 -1
  15. package/dist/{player-overlays-DBfpI8h8.mjs → player-overlays-Cdh_GNzb.mjs} +1 -1
  16. package/dist/providers/modal/training-modal.addon.js +1 -1
  17. package/dist/providers/modal/training-modal.addon.mjs +1 -1
  18. package/dist/remoteEntry.js +1 -1
  19. package/dist/{responsive-CVlns2k2.mjs → responsive-DzwIz4dK.mjs} +1 -1
  20. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-GR9ZahAF.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CxB3fjqQ.mjs} +1 -1
  21. package/dist/{zoom-out-hR5SOKZW.mjs → zoom-out-BqtOwgKe.mjs} +170 -108
  22. package/package.json +1 -1
  23. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CdZst5Eh.mjs +0 -26
@@ -5571,7 +5571,7 @@ var ZodIssueCode = {
5571
5571
  var ZodFirstPartyTypeKind;
5572
5572
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5573
5573
  //#endregion
5574
- //#region ../types/dist/sleep-bZIhUvjd.mjs
5574
+ //#region ../types/dist/sleep-BOjuyoPC.mjs
5575
5575
  /**
5576
5576
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5577
5577
  * window to float samples (D455).
@@ -8778,7 +8778,7 @@ object({
8778
8778
  params: record(string(), union([string(), number()])).optional()
8779
8779
  });
8780
8780
  //#endregion
8781
- //#region ../types/dist/err-msg--2RrYiLO.mjs
8781
+ //#region ../types/dist/err-msg-BXKzRBwg.mjs
8782
8782
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
8783
8783
  DeviceType["Camera"] = "camera";
8784
8784
  DeviceType["Hub"] = "hub";
@@ -8870,6 +8870,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
8870
8870
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
8871
8871
  * integrations sharing the same food/desiccant/hopper surface. */
8872
8872
  DeviceType["PetFeeder"] = "pet-feeder";
8873
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
8874
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
8875
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
8876
+ DeviceType["Dishwasher"] = "dishwasher";
8873
8877
  return DeviceType;
8874
8878
  }({});
8875
8879
  var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
@@ -9117,7 +9121,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
9117
9121
  return DeviceRole;
9118
9122
  }({});
9119
9123
  //#endregion
9120
- //#region ../types/dist/composition-DOwQB_Ua.mjs
9124
+ //#region ../types/dist/composition-CB6PMT9p.mjs
9121
9125
  /**
9122
9126
  * The ffmpeg build every CamStack node downloads, per platform and arch.
9123
9127
  *
@@ -13538,8 +13542,13 @@ var AlertSeveritySchema = _enum([
13538
13542
  "info",
13539
13543
  "success",
13540
13544
  "warning",
13541
- "error"
13545
+ "error",
13546
+ "critical"
13542
13547
  ]);
13548
+ var AlertActionSchema = object({
13549
+ label: string(),
13550
+ href: string().optional()
13551
+ });
13543
13552
  var AlertStatusSchema = _enum([
13544
13553
  "active",
13545
13554
  "in-progress",
@@ -13557,6 +13566,7 @@ var AlertSchema = object({
13557
13566
  severity: AlertSeveritySchema,
13558
13567
  title: string(),
13559
13568
  message: string(),
13569
+ action: AlertActionSchema.optional(),
13560
13570
  status: AlertStatusSchema,
13561
13571
  progress: number().optional(),
13562
13572
  read: boolean(),
@@ -53491,7 +53501,7 @@ var BatteryStatusSchema = object({
53491
53501
  */
53492
53502
  binary: boolean().optional()
53493
53503
  });
53494
- DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
53504
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
53495
53505
  deviceId: number(),
53496
53506
  /** Bound on the wait. Sensible range 3000–10000ms. */
53497
53507
  timeoutMs: number().int().min(500).max(3e4).default(8e3)
@@ -54367,6 +54377,98 @@ object({
54367
54377
  deviceId: number(),
54368
54378
  status: DeviceStatusSchema
54369
54379
  });
54380
+ /**
54381
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
54382
+ * consumable levels (salt, rinse aid) and common program options.
54383
+ *
54384
+ * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
54385
+ * by any integration that exposes the same program / option surface.
54386
+ *
54387
+ * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54388
+ * provider refreshes the slice on an interval and eagerly after commands.
54389
+ */
54390
+ var DishwasherStateSchema = _enum([
54391
+ "idle",
54392
+ "running",
54393
+ "paused",
54394
+ "finished",
54395
+ "error",
54396
+ "unavailable"
54397
+ ]);
54398
+ var DishwasherConsumableLevelSchema = _enum([
54399
+ "ok",
54400
+ "low",
54401
+ "empty"
54402
+ ]);
54403
+ object({
54404
+ state: DishwasherStateSchema,
54405
+ /** Active program id/name, or null when none selected / unknown. */
54406
+ program: string().nullable(),
54407
+ /** Program tokens the hardware accepts — drives the UI selector. */
54408
+ availablePrograms: array(string()),
54409
+ /** Minutes remaining on the active cycle, or null when not running. */
54410
+ remainingMinutes: number().int().nonnegative().nullable(),
54411
+ /** Cycle completion 0..100, or null when not applicable. */
54412
+ progressPercent: number().min(0).max(100).nullable(),
54413
+ /** True when the door is reported open. */
54414
+ doorOpen: boolean(),
54415
+ /** True when remote start is allowed (door closed, power on, etc.). */
54416
+ remoteStartAllowed: boolean(),
54417
+ /** Main power / switched-on state. */
54418
+ powerOn: boolean(),
54419
+ saltLevel: DishwasherConsumableLevelSchema.nullable(),
54420
+ rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54421
+ halfLoad: boolean(),
54422
+ hygienePlus: boolean(),
54423
+ errorCode: number().nullable(),
54424
+ errorLabel: string().nullable(),
54425
+ lastFetchedAt: number()
54426
+ });
54427
+ DeviceType.Dishwasher, method(object({ deviceId: number().int().nonnegative() }), _void(), {
54428
+ kind: "mutation",
54429
+ auth: "protected"
54430
+ }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54431
+ kind: "mutation",
54432
+ auth: "protected"
54433
+ }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54434
+ kind: "mutation",
54435
+ auth: "protected"
54436
+ }), method(object({
54437
+ deviceId: number().int().nonnegative(),
54438
+ program: string().min(1)
54439
+ }), _void(), {
54440
+ kind: "mutation",
54441
+ auth: "protected"
54442
+ }), method(object({
54443
+ deviceId: number().int().nonnegative(),
54444
+ on: boolean()
54445
+ }), _void(), {
54446
+ kind: "mutation",
54447
+ auth: "protected"
54448
+ }), method(object({
54449
+ deviceId: number().int().nonnegative(),
54450
+ on: boolean()
54451
+ }), _void(), {
54452
+ kind: "mutation",
54453
+ auth: "protected"
54454
+ }), method(object({
54455
+ deviceId: number().int().nonnegative(),
54456
+ on: boolean()
54457
+ }), _void(), {
54458
+ kind: "mutation",
54459
+ auth: "protected"
54460
+ }), method(object({
54461
+ deviceId: number().int().nonnegative(),
54462
+ key: string().min(1),
54463
+ value: union([
54464
+ boolean(),
54465
+ string(),
54466
+ number()
54467
+ ])
54468
+ }), _void(), {
54469
+ kind: "mutation",
54470
+ auth: "protected"
54471
+ });
54370
54472
  object({
54371
54473
  /** Ms epoch of the last press. null = never observed since this provider started. */
54372
54474
  lastPressedAt: number().nullable(),
@@ -54932,6 +55034,13 @@ object({
54932
55034
  lastChangedAt: number()
54933
55035
  });
54934
55036
  DeviceType.Sensor;
55037
+ object({
55038
+ /** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
55039
+ position: number().min(0).max(100).nullable(),
55040
+ /** Ms epoch when the slice was last updated (push or poll). */
55041
+ lastFetchedAt: number()
55042
+ });
55043
+ DeviceType.Thermostat;
54935
55044
  object({
54936
55045
  /** Whether the humidifier is currently on. */
54937
55046
  on: boolean(),
@@ -62098,7 +62207,7 @@ var AccessoryKind = {
62098
62207
  PrivacyMask: DeviceRole.PrivacyMask
62099
62208
  };
62100
62209
  AccessoryKind.Siren, AccessoryKind.Floodlight, AccessoryKind.Spotlight, AccessoryKind.PirSensor, AccessoryKind.Chime, AccessoryKind.Autotrack, AccessoryKind.Nightvision, AccessoryKind.PrivacyMask;
62101
- DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
62210
+ DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
62102
62211
  new Set(Object.values(DeviceType));
62103
62212
  Object.freeze({
62104
62213
  "accessories.getStatus": {
@@ -64519,6 +64628,60 @@ Object.freeze({
64519
64628
  addonId: null,
64520
64629
  access: "view"
64521
64630
  },
64631
+ "dishwasher.getStatus": {
64632
+ capName: "dishwasher",
64633
+ capScope: "device",
64634
+ addonId: null,
64635
+ access: "view"
64636
+ },
64637
+ "dishwasher.pause": {
64638
+ capName: "dishwasher",
64639
+ capScope: "device",
64640
+ addonId: null,
64641
+ access: "create"
64642
+ },
64643
+ "dishwasher.setHalfLoad": {
64644
+ capName: "dishwasher",
64645
+ capScope: "device",
64646
+ addonId: null,
64647
+ access: "create"
64648
+ },
64649
+ "dishwasher.setHygienePlus": {
64650
+ capName: "dishwasher",
64651
+ capScope: "device",
64652
+ addonId: null,
64653
+ access: "create"
64654
+ },
64655
+ "dishwasher.setOption": {
64656
+ capName: "dishwasher",
64657
+ capScope: "device",
64658
+ addonId: null,
64659
+ access: "create"
64660
+ },
64661
+ "dishwasher.setPower": {
64662
+ capName: "dishwasher",
64663
+ capScope: "device",
64664
+ addonId: null,
64665
+ access: "create"
64666
+ },
64667
+ "dishwasher.setProgram": {
64668
+ capName: "dishwasher",
64669
+ capScope: "device",
64670
+ addonId: null,
64671
+ access: "create"
64672
+ },
64673
+ "dishwasher.start": {
64674
+ capName: "dishwasher",
64675
+ capScope: "device",
64676
+ addonId: null,
64677
+ access: "create"
64678
+ },
64679
+ "dishwasher.stop": {
64680
+ capName: "dishwasher",
64681
+ capScope: "device",
64682
+ addonId: null,
64683
+ access: "create"
64684
+ },
64522
64685
  "doorbell.getStatus": {
64523
64686
  capName: "doorbell",
64524
64687
  capScope: "device",
@@ -64729,6 +64892,12 @@ Object.freeze({
64729
64892
  addonId: null,
64730
64893
  access: "view"
64731
64894
  },
64895
+ "heatingValve.getStatus": {
64896
+ capName: "heating-valve",
64897
+ capScope: "device",
64898
+ addonId: null,
64899
+ access: "view"
64900
+ },
64732
64901
  "humidifier.getStatus": {
64733
64902
  capName: "humidifier",
64734
64903
  capScope: "device",
@@ -70316,7 +70485,7 @@ Object.freeze({
70316
70485
  access: "create"
70317
70486
  }
70318
70487
  });
70319
- DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
70488
+ DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
70320
70489
  DeviceFeature.BatteryOperated;
70321
70490
  Object.freeze({
70322
70491
  "accessories.getStatus": [{
@@ -71140,6 +71309,51 @@ Object.freeze({
71140
71309
  form: "single",
71141
71310
  optional: false
71142
71311
  }],
71312
+ "dishwasher.getStatus": [{
71313
+ name: "deviceId",
71314
+ form: "single",
71315
+ optional: false
71316
+ }],
71317
+ "dishwasher.pause": [{
71318
+ name: "deviceId",
71319
+ form: "single",
71320
+ optional: false
71321
+ }],
71322
+ "dishwasher.setHalfLoad": [{
71323
+ name: "deviceId",
71324
+ form: "single",
71325
+ optional: false
71326
+ }],
71327
+ "dishwasher.setHygienePlus": [{
71328
+ name: "deviceId",
71329
+ form: "single",
71330
+ optional: false
71331
+ }],
71332
+ "dishwasher.setOption": [{
71333
+ name: "deviceId",
71334
+ form: "single",
71335
+ optional: false
71336
+ }],
71337
+ "dishwasher.setPower": [{
71338
+ name: "deviceId",
71339
+ form: "single",
71340
+ optional: false
71341
+ }],
71342
+ "dishwasher.setProgram": [{
71343
+ name: "deviceId",
71344
+ form: "single",
71345
+ optional: false
71346
+ }],
71347
+ "dishwasher.start": [{
71348
+ name: "deviceId",
71349
+ form: "single",
71350
+ optional: false
71351
+ }],
71352
+ "dishwasher.stop": [{
71353
+ name: "deviceId",
71354
+ form: "single",
71355
+ optional: false
71356
+ }],
71143
71357
  "doorbell.getStatus": [{
71144
71358
  name: "deviceId",
71145
71359
  form: "single",
@@ -71209,6 +71423,11 @@ Object.freeze({
71209
71423
  form: "single",
71210
71424
  optional: false
71211
71425
  }],
71426
+ "heatingValve.getStatus": [{
71427
+ name: "deviceId",
71428
+ form: "single",
71429
+ optional: false
71430
+ }],
71212
71431
  "humidifier.getStatus": [{
71213
71432
  name: "deviceId",
71214
71433
  form: "single",
@@ -5538,7 +5538,7 @@ var ZodIssueCode = {
5538
5538
  var ZodFirstPartyTypeKind;
5539
5539
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5540
5540
  //#endregion
5541
- //#region ../types/dist/sleep-bZIhUvjd.mjs
5541
+ //#region ../types/dist/sleep-BOjuyoPC.mjs
5542
5542
  /**
5543
5543
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5544
5544
  * window to float samples (D455).
@@ -8745,7 +8745,7 @@ object({
8745
8745
  params: record(string(), union([string(), number()])).optional()
8746
8746
  });
8747
8747
  //#endregion
8748
- //#region ../types/dist/err-msg--2RrYiLO.mjs
8748
+ //#region ../types/dist/err-msg-BXKzRBwg.mjs
8749
8749
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
8750
8750
  DeviceType["Camera"] = "camera";
8751
8751
  DeviceType["Hub"] = "hub";
@@ -8837,6 +8837,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
8837
8837
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
8838
8838
  * integrations sharing the same food/desiccant/hopper surface. */
8839
8839
  DeviceType["PetFeeder"] = "pet-feeder";
8840
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
8841
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
8842
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
8843
+ DeviceType["Dishwasher"] = "dishwasher";
8840
8844
  return DeviceType;
8841
8845
  }({});
8842
8846
  var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
@@ -9084,7 +9088,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
9084
9088
  return DeviceRole;
9085
9089
  }({});
9086
9090
  //#endregion
9087
- //#region ../types/dist/composition-DOwQB_Ua.mjs
9091
+ //#region ../types/dist/composition-CB6PMT9p.mjs
9088
9092
  /**
9089
9093
  * The ffmpeg build every CamStack node downloads, per platform and arch.
9090
9094
  *
@@ -13505,8 +13509,13 @@ var AlertSeveritySchema = _enum([
13505
13509
  "info",
13506
13510
  "success",
13507
13511
  "warning",
13508
- "error"
13512
+ "error",
13513
+ "critical"
13509
13514
  ]);
13515
+ var AlertActionSchema = object({
13516
+ label: string(),
13517
+ href: string().optional()
13518
+ });
13510
13519
  var AlertStatusSchema = _enum([
13511
13520
  "active",
13512
13521
  "in-progress",
@@ -13524,6 +13533,7 @@ var AlertSchema = object({
13524
13533
  severity: AlertSeveritySchema,
13525
13534
  title: string(),
13526
13535
  message: string(),
13536
+ action: AlertActionSchema.optional(),
13527
13537
  status: AlertStatusSchema,
13528
13538
  progress: number().optional(),
13529
13539
  read: boolean(),
@@ -53458,7 +53468,7 @@ var BatteryStatusSchema = object({
53458
53468
  */
53459
53469
  binary: boolean().optional()
53460
53470
  });
53461
- DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
53471
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
53462
53472
  deviceId: number(),
53463
53473
  /** Bound on the wait. Sensible range 3000–10000ms. */
53464
53474
  timeoutMs: number().int().min(500).max(3e4).default(8e3)
@@ -54334,6 +54344,98 @@ object({
54334
54344
  deviceId: number(),
54335
54345
  status: DeviceStatusSchema
54336
54346
  });
54347
+ /**
54348
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
54349
+ * consumable levels (salt, rinse aid) and common program options.
54350
+ *
54351
+ * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
54352
+ * by any integration that exposes the same program / option surface.
54353
+ *
54354
+ * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54355
+ * provider refreshes the slice on an interval and eagerly after commands.
54356
+ */
54357
+ var DishwasherStateSchema = _enum([
54358
+ "idle",
54359
+ "running",
54360
+ "paused",
54361
+ "finished",
54362
+ "error",
54363
+ "unavailable"
54364
+ ]);
54365
+ var DishwasherConsumableLevelSchema = _enum([
54366
+ "ok",
54367
+ "low",
54368
+ "empty"
54369
+ ]);
54370
+ object({
54371
+ state: DishwasherStateSchema,
54372
+ /** Active program id/name, or null when none selected / unknown. */
54373
+ program: string().nullable(),
54374
+ /** Program tokens the hardware accepts — drives the UI selector. */
54375
+ availablePrograms: array(string()),
54376
+ /** Minutes remaining on the active cycle, or null when not running. */
54377
+ remainingMinutes: number().int().nonnegative().nullable(),
54378
+ /** Cycle completion 0..100, or null when not applicable. */
54379
+ progressPercent: number().min(0).max(100).nullable(),
54380
+ /** True when the door is reported open. */
54381
+ doorOpen: boolean(),
54382
+ /** True when remote start is allowed (door closed, power on, etc.). */
54383
+ remoteStartAllowed: boolean(),
54384
+ /** Main power / switched-on state. */
54385
+ powerOn: boolean(),
54386
+ saltLevel: DishwasherConsumableLevelSchema.nullable(),
54387
+ rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54388
+ halfLoad: boolean(),
54389
+ hygienePlus: boolean(),
54390
+ errorCode: number().nullable(),
54391
+ errorLabel: string().nullable(),
54392
+ lastFetchedAt: number()
54393
+ });
54394
+ DeviceType.Dishwasher, method(object({ deviceId: number().int().nonnegative() }), _void(), {
54395
+ kind: "mutation",
54396
+ auth: "protected"
54397
+ }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54398
+ kind: "mutation",
54399
+ auth: "protected"
54400
+ }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54401
+ kind: "mutation",
54402
+ auth: "protected"
54403
+ }), method(object({
54404
+ deviceId: number().int().nonnegative(),
54405
+ program: string().min(1)
54406
+ }), _void(), {
54407
+ kind: "mutation",
54408
+ auth: "protected"
54409
+ }), method(object({
54410
+ deviceId: number().int().nonnegative(),
54411
+ on: boolean()
54412
+ }), _void(), {
54413
+ kind: "mutation",
54414
+ auth: "protected"
54415
+ }), method(object({
54416
+ deviceId: number().int().nonnegative(),
54417
+ on: boolean()
54418
+ }), _void(), {
54419
+ kind: "mutation",
54420
+ auth: "protected"
54421
+ }), method(object({
54422
+ deviceId: number().int().nonnegative(),
54423
+ on: boolean()
54424
+ }), _void(), {
54425
+ kind: "mutation",
54426
+ auth: "protected"
54427
+ }), method(object({
54428
+ deviceId: number().int().nonnegative(),
54429
+ key: string().min(1),
54430
+ value: union([
54431
+ boolean(),
54432
+ string(),
54433
+ number()
54434
+ ])
54435
+ }), _void(), {
54436
+ kind: "mutation",
54437
+ auth: "protected"
54438
+ });
54337
54439
  object({
54338
54440
  /** Ms epoch of the last press. null = never observed since this provider started. */
54339
54441
  lastPressedAt: number().nullable(),
@@ -54899,6 +55001,13 @@ object({
54899
55001
  lastChangedAt: number()
54900
55002
  });
54901
55003
  DeviceType.Sensor;
55004
+ object({
55005
+ /** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
55006
+ position: number().min(0).max(100).nullable(),
55007
+ /** Ms epoch when the slice was last updated (push or poll). */
55008
+ lastFetchedAt: number()
55009
+ });
55010
+ DeviceType.Thermostat;
54902
55011
  object({
54903
55012
  /** Whether the humidifier is currently on. */
54904
55013
  on: boolean(),
@@ -62065,7 +62174,7 @@ var AccessoryKind = {
62065
62174
  PrivacyMask: DeviceRole.PrivacyMask
62066
62175
  };
62067
62176
  AccessoryKind.Siren, AccessoryKind.Floodlight, AccessoryKind.Spotlight, AccessoryKind.PirSensor, AccessoryKind.Chime, AccessoryKind.Autotrack, AccessoryKind.Nightvision, AccessoryKind.PrivacyMask;
62068
- DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
62177
+ DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
62069
62178
  new Set(Object.values(DeviceType));
62070
62179
  Object.freeze({
62071
62180
  "accessories.getStatus": {
@@ -64486,6 +64595,60 @@ Object.freeze({
64486
64595
  addonId: null,
64487
64596
  access: "view"
64488
64597
  },
64598
+ "dishwasher.getStatus": {
64599
+ capName: "dishwasher",
64600
+ capScope: "device",
64601
+ addonId: null,
64602
+ access: "view"
64603
+ },
64604
+ "dishwasher.pause": {
64605
+ capName: "dishwasher",
64606
+ capScope: "device",
64607
+ addonId: null,
64608
+ access: "create"
64609
+ },
64610
+ "dishwasher.setHalfLoad": {
64611
+ capName: "dishwasher",
64612
+ capScope: "device",
64613
+ addonId: null,
64614
+ access: "create"
64615
+ },
64616
+ "dishwasher.setHygienePlus": {
64617
+ capName: "dishwasher",
64618
+ capScope: "device",
64619
+ addonId: null,
64620
+ access: "create"
64621
+ },
64622
+ "dishwasher.setOption": {
64623
+ capName: "dishwasher",
64624
+ capScope: "device",
64625
+ addonId: null,
64626
+ access: "create"
64627
+ },
64628
+ "dishwasher.setPower": {
64629
+ capName: "dishwasher",
64630
+ capScope: "device",
64631
+ addonId: null,
64632
+ access: "create"
64633
+ },
64634
+ "dishwasher.setProgram": {
64635
+ capName: "dishwasher",
64636
+ capScope: "device",
64637
+ addonId: null,
64638
+ access: "create"
64639
+ },
64640
+ "dishwasher.start": {
64641
+ capName: "dishwasher",
64642
+ capScope: "device",
64643
+ addonId: null,
64644
+ access: "create"
64645
+ },
64646
+ "dishwasher.stop": {
64647
+ capName: "dishwasher",
64648
+ capScope: "device",
64649
+ addonId: null,
64650
+ access: "create"
64651
+ },
64489
64652
  "doorbell.getStatus": {
64490
64653
  capName: "doorbell",
64491
64654
  capScope: "device",
@@ -64696,6 +64859,12 @@ Object.freeze({
64696
64859
  addonId: null,
64697
64860
  access: "view"
64698
64861
  },
64862
+ "heatingValve.getStatus": {
64863
+ capName: "heating-valve",
64864
+ capScope: "device",
64865
+ addonId: null,
64866
+ access: "view"
64867
+ },
64699
64868
  "humidifier.getStatus": {
64700
64869
  capName: "humidifier",
64701
64870
  capScope: "device",
@@ -70283,7 +70452,7 @@ Object.freeze({
70283
70452
  access: "create"
70284
70453
  }
70285
70454
  });
70286
- DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
70455
+ DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
70287
70456
  DeviceFeature.BatteryOperated;
70288
70457
  Object.freeze({
70289
70458
  "accessories.getStatus": [{
@@ -71107,6 +71276,51 @@ Object.freeze({
71107
71276
  form: "single",
71108
71277
  optional: false
71109
71278
  }],
71279
+ "dishwasher.getStatus": [{
71280
+ name: "deviceId",
71281
+ form: "single",
71282
+ optional: false
71283
+ }],
71284
+ "dishwasher.pause": [{
71285
+ name: "deviceId",
71286
+ form: "single",
71287
+ optional: false
71288
+ }],
71289
+ "dishwasher.setHalfLoad": [{
71290
+ name: "deviceId",
71291
+ form: "single",
71292
+ optional: false
71293
+ }],
71294
+ "dishwasher.setHygienePlus": [{
71295
+ name: "deviceId",
71296
+ form: "single",
71297
+ optional: false
71298
+ }],
71299
+ "dishwasher.setOption": [{
71300
+ name: "deviceId",
71301
+ form: "single",
71302
+ optional: false
71303
+ }],
71304
+ "dishwasher.setPower": [{
71305
+ name: "deviceId",
71306
+ form: "single",
71307
+ optional: false
71308
+ }],
71309
+ "dishwasher.setProgram": [{
71310
+ name: "deviceId",
71311
+ form: "single",
71312
+ optional: false
71313
+ }],
71314
+ "dishwasher.start": [{
71315
+ name: "deviceId",
71316
+ form: "single",
71317
+ optional: false
71318
+ }],
71319
+ "dishwasher.stop": [{
71320
+ name: "deviceId",
71321
+ form: "single",
71322
+ optional: false
71323
+ }],
71110
71324
  "doorbell.getStatus": [{
71111
71325
  name: "deviceId",
71112
71326
  form: "single",
@@ -71176,6 +71390,11 @@ Object.freeze({
71176
71390
  form: "single",
71177
71391
  optional: false
71178
71392
  }],
71393
+ "heatingValve.getStatus": [{
71394
+ name: "deviceId",
71395
+ form: "single",
71396
+ optional: false
71397
+ }],
71179
71398
  "humidifier.getStatus": [{
71180
71399
  name: "deviceId",
71181
71400
  form: "single",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.381",
39
+ version: "1.2.382",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.299",
84
+ version: "1.2.300",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,