@homebridge-plugins/homebridge-matter 0.1.1 → 0.1.3-beta.0

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 CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to `@homebridge-plugins/homebridge-matter` will be documented in this file.
4
4
 
5
+ ## v0.1.3 (Unreleased)
6
+
7
+ ### Changes
8
+
9
+ - add realistic state changes to vacuum example
10
+
11
+ ## v0.1.2 (2025-10-21)
12
+
13
+ ### Changes
14
+
15
+ - general improvements to repo and examples
16
+
5
17
  ## v0.1.1 (2025-10-21)
6
18
 
7
19
  ### Changes
package/README.md CHANGED
@@ -68,7 +68,7 @@ This plugin provides example implementations of Matter device types in Homebridg
68
68
 
69
69
  - To use this plugin, you will need to already have:
70
70
  - [Node](https://nodejs.org): latest version of `v20`, `v22` or `v24` - any other major version is not supported.
71
- - [Homebridge](https://homebridge.io): `>=2.0.0-alpha.59 <2.0.0-beta.0` - refer to link for more information and installation instructions.
71
+ - [Homebridge](https://homebridge.io): `>=2.0.0-alpha.61 <2.0.0-beta.0` - refer to link for more information and installation instructions.
72
72
 
73
73
  ### Help/About
74
74
 
@@ -1,55 +1,3 @@
1
- /**
2
- * Robotic Vacuum Cleaner Device (Matter Spec § 12.1)
3
- *
4
- * A robotic vacuum cleaner with autonomous cleaning capabilities.
5
- *
6
- * ✅ Apple Home Compatibility - EXTERNAL ACCESSORIES
7
- * This device is published using api.matter.publishExternalAccessories() in platform.ts.
8
- * RVC devices MUST be on their own dedicated Matter bridge for Apple Home compatibility.
9
- *
10
- * IMPORTANT: This function only CREATES the accessory configuration.
11
- * The actual publishing happens in platform.ts using publishExternalAccessories().
12
- *
13
- * What happens when this device is published as external:
14
- * ─────────────────────────────────────────────────────────────
15
- * 1. Dedicated Matter Server: Gets its own MatterServer instance
16
- * 2. Automatic Port Allocation: Receives a unique port (e.g., 5541)
17
- * 3. Separate Commissioning: Gets its own QR code and manual pairing code
18
- * 4. Isolation: Completely independent of other Matter accessories
19
- * 5. Apple Home Compatible: Works properly with Apple Home's RVC requirements
20
- *
21
- * When you start Homebridge, you'll see logs like:
22
- * ```
23
- * [Matter] Publishing 1 external Matter accessory
24
- * [Matter] Allocated port 5541 for external Matter accessory: Robot Vacuum
25
- * [Matter] ✓ External Matter accessory published: Robot Vacuum on port 5541
26
- * [Matter] 📱 Commissioning codes for Robot Vacuum:
27
- * [Matter] QR Code: MT:Y.K9042C00KA0648G00
28
- * [Matter] Manual Code: 3492-8840-7309-5200-911
29
- * ```
30
- *
31
- * Use the separate QR code to commission this device in Apple Home.
32
- *
33
- * For developers implementing similar devices:
34
- * ──────────────────────────────────────────────
35
- * If you need to create your own device that requires isolation (like cameras,
36
- * doorbells, or other complex devices that Apple Home requires on separate bridges),
37
- * follow this pattern:
38
- *
39
- * 1. Create the accessory configuration in a device file (like this one)
40
- * 2. Return it from your registration function
41
- * 3. In platform.ts, use api.matter.publishExternalAccessories() instead of
42
- * api.matter.registerPlatformAccessories()
43
- *
44
- * Example in your platform.ts:
45
- * ```typescript
46
- * const accessories = [...registerYourDevice(context)]
47
- * if (accessories.length > 0) {
48
- * // Use publishExternalAccessories for devices that need isolation
49
- * this.api.matter.publishExternalAccessories(PLUGIN_NAME, accessories)
50
- * }
51
- * ```
52
- */
53
1
  import type { DeviceContext } from '../types.js';
54
2
  /**
55
3
  * Registers a Robotic Vacuum Cleaner accessory.
@@ -1,3 +1,4 @@
1
+ /* global NodeJS */
1
2
  /**
2
3
  * Robotic Vacuum Cleaner Device (Matter Spec § 12.1)
3
4
  *
@@ -51,6 +52,30 @@
51
52
  * ```
52
53
  */
53
54
  import { MatterTypes } from 'homebridge';
55
+ /**
56
+ * Timer management for realistic vacuum behavior
57
+ * Stores active timers so they can be cleared when state changes
58
+ */
59
+ const activeTimers = new Map();
60
+ /**
61
+ * Clear all active timers for a vacuum
62
+ */
63
+ function clearVacuumTimers(uuid) {
64
+ const timers = activeTimers.get(uuid);
65
+ if (timers) {
66
+ timers.forEach(timer => clearTimeout(timer));
67
+ activeTimers.delete(uuid);
68
+ }
69
+ }
70
+ /**
71
+ * Store a timer for a vacuum
72
+ */
73
+ function addVacuumTimer(uuid, timer) {
74
+ if (!activeTimers.has(uuid)) {
75
+ activeTimers.set(uuid, []);
76
+ }
77
+ activeTimers.get(uuid).push(timer);
78
+ }
54
79
  /**
55
80
  * Registers a Robotic Vacuum Cleaner accessory.
56
81
  *
@@ -295,34 +320,28 @@ export function registerRoboticVacuumCleaner(context) {
295
320
  /**
296
321
  * pause() - Called when user presses "pause" in Home app
297
322
  *
298
- * Best practices:
299
- * 1. Validate current state (can't pause if docked/charging)
300
- * 2. Send command to physical device
301
- * 3. Wait for confirmation
302
- * 4. Update Matter state
303
- * 5. Handle errors appropriately
323
+ * REALISTIC BEHAVIOR:
324
+ * - Immediately pauses the vacuum
325
+ * - Cancels any active cleaning or docking sequences
326
+ * - Stays paused until user resumes or sends home
304
327
  */
305
328
  pause: async () => {
306
329
  log.info('[Robot Vacuum] ✓ Handler `pause` called - Pausing cleaning');
307
330
  try {
308
- // TODO: Add validation - can we pause in current state?
309
- // const currentState = accessory.clusters.rvcOperationalState.operationalState
310
- // if (currentState === MatterTypes.RvcOperationalState.OperationalState.Charging ||
311
- // currentState === MatterTypes.RvcOperationalState.OperationalState.Docked) {
312
- // throw new Error('Cannot pause while docked or charging')
313
- // }
331
+ // Clear any active automated sequences (cleaning, docking, etc.)
332
+ clearVacuumTimers(uuid);
333
+ log.info('[Robot Vacuum] Cleared active timers');
314
334
  // TODO: Send pause command to your actual robot vacuum
315
335
  // Example: await yourVacuumAPI.pause()
316
- // Update Matter state to reflect the change
317
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', { operationalState: MatterTypes.RvcOperationalState.OperationalState.Paused });
336
+ // Update Matter state to Paused
337
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Paused });
318
338
  }
319
339
  catch (error) {
320
340
  log.error('[Robot Vacuum] Failed to pause:', error);
321
- // Update to error state
322
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
341
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, {
323
342
  operationalState: MatterTypes.RvcOperationalState.OperationalState.Error,
324
343
  operationalError: {
325
- errorStateId: 1, // Generic error
344
+ errorStateId: 1,
326
345
  errorStateLabel: 'Failed to pause vacuum',
327
346
  },
328
347
  });
@@ -331,25 +350,54 @@ export function registerRoboticVacuumCleaner(context) {
331
350
  /**
332
351
  * resume() - Called when user presses "resume" or "start" in Home app
333
352
  *
334
- * This should resume a paused cleaning session or start a new one.
335
- * Make sure to validate the current state before resuming.
353
+ * REALISTIC BEHAVIOR:
354
+ * 1. Immediately starts cleaning (Running state)
355
+ * 2. After 10 seconds: Cleaning complete, automatically returns to dock (SeekingCharger)
356
+ * 3. After 10 more seconds: Reaches dock and starts charging (Charging)
357
+ * 4. After 10 more seconds: Fully charged and ready (Docked)
358
+ *
359
+ * This simulates a complete cleaning cycle without needing an external app.
336
360
  */
337
361
  resume: async () => {
338
- log.info('[Robot Vacuum] ✓ Handler `resume` called - Resuming cleaning');
362
+ log.info('[Robot Vacuum] ✓ Handler `resume` called - Starting cleaning cycle');
339
363
  try {
340
- // TODO: Add validation
341
- // const currentState = accessory.clusters.rvcOperationalState.operationalState
342
- // if (currentState === MatterTypes.RvcOperationalState.OperationalState.SeekingCharger) {
343
- // throw new Error('Cannot resume while seeking charger')
344
- // }
345
- // TODO: Send resume command to your actual robot vacuum
364
+ // Clear any previous timers to avoid conflicts
365
+ clearVacuumTimers(uuid);
366
+ // TODO: Send start/resume command to your actual robot vacuum
346
367
  // Example: await yourVacuumAPI.resume()
347
- // Update Matter state to Running
348
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', { operationalState: MatterTypes.RvcOperationalState.OperationalState.Running });
368
+ // Step 1: Start cleaning immediately
369
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Running });
370
+ log.info('[Robot Vacuum] State: Running (cleaning started)');
371
+ // Step 2: After 10 seconds, finish cleaning and head home
372
+ const timer1 = setTimeout(() => {
373
+ log.info('[Robot Vacuum] Cleaning complete after 10 seconds, returning to dock');
374
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.SeekingCharger });
375
+ log.info('[Robot Vacuum] State: SeekingCharger (heading to dock)');
376
+ // Clear current area since we're done cleaning
377
+ api.matter.updateAccessoryState(uuid, 'serviceArea', {
378
+ currentArea: null,
379
+ });
380
+ // Step 3: After 10 more seconds, reach dock and start charging
381
+ const timer2 = setTimeout(() => {
382
+ log.info('[Robot Vacuum] Reached dock after 10 seconds, starting charge');
383
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Charging });
384
+ log.info('[Robot Vacuum] State: Charging (on dock, charging battery)');
385
+ // Step 4: After 10 more seconds, fully charged and ready
386
+ const timer3 = setTimeout(() => {
387
+ log.info('[Robot Vacuum] Fully charged after 10 seconds, ready for next cycle');
388
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Docked });
389
+ log.info('[Robot Vacuum] State: Docked (ready and fully charged)');
390
+ }, 10000);
391
+ addVacuumTimer(uuid, timer3);
392
+ }, 10000);
393
+ addVacuumTimer(uuid, timer2);
394
+ }, 10000);
395
+ addVacuumTimer(uuid, timer1);
349
396
  }
350
397
  catch (error) {
351
398
  log.error('[Robot Vacuum] Failed to resume:', error);
352
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
399
+ clearVacuumTimers(uuid);
400
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, {
353
401
  operationalState: MatterTypes.RvcOperationalState.OperationalState.Error,
354
402
  operationalError: {
355
403
  errorStateId: 1,
@@ -361,31 +409,46 @@ export function registerRoboticVacuumCleaner(context) {
361
409
  /**
362
410
  * goHome() - Called when user sends robot to charging dock
363
411
  *
364
- * This command should interrupt any current activity and return
365
- * the vacuum to its charging station.
412
+ * REALISTIC BEHAVIOR:
413
+ * 1. Immediately cancels cleaning and heads to dock (SeekingCharger)
414
+ * 2. After 10 seconds: Reaches dock and starts charging (Charging)
415
+ * 3. After 10 more seconds: Fully charged and ready (Docked)
416
+ *
417
+ * This simulates the robot navigating back to its dock and charging.
366
418
  */
367
419
  goHome: async () => {
368
420
  log.info('[Robot Vacuum] ✓ Handler `goHome` called - Returning to dock');
369
421
  try {
422
+ // Clear any active cleaning timers
423
+ clearVacuumTimers(uuid);
370
424
  // TODO: Send return-to-dock command to your actual robot vacuum
371
425
  // Example: await yourVacuumAPI.returnToDock()
372
426
  // Clear current area when returning home
373
427
  api.matter.updateAccessoryState(uuid, 'serviceArea', {
374
428
  currentArea: null,
375
429
  });
376
- // Update Matter state to SeekingCharger
377
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', { operationalState: MatterTypes.RvcOperationalState.OperationalState.SeekingCharger });
378
- // TIP: Set up monitoring to track docking progress:
379
- // - When vacuum reaches dock: update to Charging state
380
- // - When fully charged: update to Docked state
381
- // Example:
382
- // await api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
383
- // operationalState: MatterTypes.RvcOperationalState.OperationalState.Charging
384
- // })
430
+ // Step 1: Start heading to dock immediately
431
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.SeekingCharger });
432
+ log.info('[Robot Vacuum] State: SeekingCharger (navigating to dock)');
433
+ // Step 2: After 10 seconds, reach dock and start charging
434
+ const timer1 = setTimeout(() => {
435
+ log.info('[Robot Vacuum] Reached dock after 10 seconds, starting charge');
436
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Charging });
437
+ log.info('[Robot Vacuum] State: Charging (on dock, charging battery)');
438
+ // Step 3: After 10 more seconds, fully charged and ready
439
+ const timer2 = setTimeout(() => {
440
+ log.info('[Robot Vacuum] Fully charged after 10 seconds, ready for next cycle');
441
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Docked });
442
+ log.info('[Robot Vacuum] State: Docked (ready and fully charged)');
443
+ }, 10000);
444
+ addVacuumTimer(uuid, timer2);
445
+ }, 10000);
446
+ addVacuumTimer(uuid, timer1);
385
447
  }
386
448
  catch (error) {
387
449
  log.error('[Robot Vacuum] Failed to return home:', error);
388
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
450
+ clearVacuumTimers(uuid);
451
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, {
389
452
  operationalState: MatterTypes.RvcOperationalState.OperationalState.Error,
390
453
  operationalError: {
391
454
  errorStateId: 1,
@@ -404,35 +467,86 @@ export function registerRoboticVacuumCleaner(context) {
404
467
  *
405
468
  * Run Modes:
406
469
  * 0 = Idle - Device is inactive
407
- * 1 = Quick-Cleaning - Single cleaning cycle
408
- * 2 = Auto-Cleaning - Continuous/scheduled cleaning
409
- * 3 = Mapping - Map the environment
470
+ * 1 = Quick-Cleaning - Single cleaning cycle (5 seconds)
471
+ * 2 = Auto-Cleaning - Full cleaning cycle (10 seconds)
472
+ * 3 = Mapping - Map the environment (10 seconds, then stop)
410
473
  *
411
- * Implementation notes:
412
- * - Changing to a cleaning mode should start the vacuum
413
- * - Changing to Idle should stop current activity
414
- * - Update operational state accordingly
474
+ * REALISTIC BEHAVIOR:
475
+ * - Changing to Idle: Stops immediately (Stopped state)
476
+ * - Changing to Quick-Cleaning: Cleans for 5 seconds, then docks
477
+ * - Changing to Auto-Cleaning: Cleans for 10 seconds, then docks
478
+ * - Changing to Mapping: Maps for 10 seconds, then returns to Stopped
415
479
  */
416
480
  changeToMode: async (request) => {
417
481
  const modes = ['Idle', 'Quick-Cleaning', 'Auto-Cleaning', 'Mapping'];
418
482
  const modeName = modes[request.newMode] || `Unknown (${request.newMode})`;
419
483
  log.info(`[Robot Vacuum] ✓ Handler \`changeToMode\` (run mode) called: ${request.newMode} (${modeName})`);
420
484
  try {
421
- // TODO: Send mode change command to your actual robot vacuum
422
- // Example:
423
- // if (request.newMode === 0) {
424
- // await yourVacuumAPI.stop()
425
- // } else if (request.newMode === 1 || request.newMode === 2) {
426
- // await yourVacuumAPI.startCleaning()
427
- // } else if (request.newMode === 3) {
428
- // await yourVacuumAPI.startMapping()
429
- // }
430
- // Update Matter state
431
- return api.matter.updateAccessoryState(uuid, 'rvcRunMode', { currentMode: request.newMode });
485
+ // Clear any active timers
486
+ clearVacuumTimers(uuid);
487
+ // Update run mode
488
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcRunMode, { currentMode: request.newMode });
489
+ // Handle different modes with realistic behavior
490
+ if (request.newMode === 0) {
491
+ // Mode 0: Idle - Stop immediately
492
+ log.info('[Robot Vacuum] Switching to Idle mode - stopping');
493
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Stopped });
494
+ }
495
+ else if (request.newMode === 1) {
496
+ // Mode 1: Quick-Cleaning - Clean for 5 seconds, then dock
497
+ log.info('[Robot Vacuum] Starting Quick-Cleaning mode (5 seconds)');
498
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Running });
499
+ // After 5 seconds, return to dock
500
+ const timer1 = setTimeout(() => {
501
+ log.info('[Robot Vacuum] Quick-Cleaning complete, returning to dock');
502
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.SeekingCharger });
503
+ // 10 seconds to dock and charge (same as before)
504
+ const timer2 = setTimeout(() => {
505
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Charging });
506
+ const timer3 = setTimeout(() => {
507
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Docked });
508
+ }, 10000);
509
+ addVacuumTimer(uuid, timer3);
510
+ }, 10000);
511
+ addVacuumTimer(uuid, timer2);
512
+ }, 5000);
513
+ addVacuumTimer(uuid, timer1);
514
+ }
515
+ else if (request.newMode === 2) {
516
+ // Mode 2: Auto-Cleaning - Clean for 10 seconds, then dock
517
+ log.info('[Robot Vacuum] Starting Auto-Cleaning mode (10 seconds)');
518
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Running });
519
+ // After 10 seconds, return to dock (same logic as resume)
520
+ const timer1 = setTimeout(() => {
521
+ log.info('[Robot Vacuum] Auto-Cleaning complete, returning to dock');
522
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.SeekingCharger });
523
+ const timer2 = setTimeout(() => {
524
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Charging });
525
+ const timer3 = setTimeout(() => {
526
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Docked });
527
+ }, 10000);
528
+ addVacuumTimer(uuid, timer3);
529
+ }, 10000);
530
+ addVacuumTimer(uuid, timer2);
531
+ }, 10000);
532
+ addVacuumTimer(uuid, timer1);
533
+ }
534
+ else if (request.newMode === 3) {
535
+ // Mode 3: Mapping - Map for 10 seconds, then stop (no docking)
536
+ log.info('[Robot Vacuum] Starting Mapping mode (10 seconds)');
537
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Running });
538
+ // After 10 seconds, stop mapping
539
+ const timer1 = setTimeout(() => {
540
+ log.info('[Robot Vacuum] Mapping complete, stopping');
541
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Stopped });
542
+ }, 10000);
543
+ addVacuumTimer(uuid, timer1);
544
+ }
432
545
  }
433
546
  catch (error) {
434
547
  log.error('[Robot Vacuum] Failed to change run mode:', error);
435
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
548
+ clearVacuumTimers(uuid);
549
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, {
436
550
  operationalState: MatterTypes.RvcOperationalState.OperationalState.Error,
437
551
  operationalError: {
438
552
  errorStateId: 1,
@@ -471,11 +585,11 @@ export function registerRoboticVacuumCleaner(context) {
471
585
  // await yourVacuumAPI.setCleanMode('vacuum_and_mop')
472
586
  // }
473
587
  // Update Matter state
474
- return api.matter.updateAccessoryState(uuid, 'rvcCleanMode', { currentMode: request.newMode });
588
+ return api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcCleanMode, { currentMode: request.newMode });
475
589
  }
476
590
  catch (error) {
477
591
  log.error('[Robot Vacuum] Failed to change clean mode:', error);
478
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
592
+ return api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, {
479
593
  operationalState: MatterTypes.RvcOperationalState.OperationalState.Error,
480
594
  operationalError: {
481
595
  errorStateId: 1,
@@ -498,29 +612,75 @@ export function registerRoboticVacuumCleaner(context) {
498
612
  * @param request - Request object
499
613
  * @param request.areas - Array of area IDs to clean
500
614
  *
501
- * Example usage:
502
- * - User selects "Kitchen" and "Living Room" in Home app
503
- * - request.areas = [0, 1] (Kitchen=0, Living Room=1)
504
- * - Empty array means "clean all areas"
615
+ * REALISTIC BEHAVIOR:
616
+ * - Stores the selected areas
617
+ * - Automatically starts cleaning those areas sequentially
618
+ * - Each area takes 5 seconds to clean
619
+ * - Updates currentArea to show which room is being cleaned
620
+ * - After all areas cleaned, returns to dock
621
+ *
622
+ * Example: User selects Kitchen (0) and Living Room (1)
623
+ * 1. Clean Kitchen for 5 seconds
624
+ * 2. Clean Living Room for 5 seconds
625
+ * 3. Return to dock
505
626
  */
506
627
  selectAreas: async (request) => {
507
628
  const areaNames = ['Kitchen', 'Living Room', 'Bedroom', 'Bathroom'];
508
629
  const selectedNames = request.areas.map(id => areaNames[id] || `Area ${id}`);
509
630
  log.info(`[Robot Vacuum] ✓ Handler \`selectAreas\` called - Selected areas: ${selectedNames.join(', ') || 'All areas'}`);
510
631
  try {
511
- // TODO: Send area selection to your actual robot vacuum
512
- // Example:
513
- // if (request.areas.length > 0) {
514
- // await yourVacuumAPI.setCleaningAreas(request.areas)
515
- // } else {
516
- // await yourVacuumAPI.setCleaningAreas('all')
517
- // }
518
- // Update Matter state
519
- return api.matter.updateAccessoryState(uuid, 'serviceArea', { selectedAreas: request.areas });
632
+ // Clear any active timers
633
+ clearVacuumTimers(uuid);
634
+ // Update selected areas
635
+ api.matter.updateAccessoryState(uuid, 'serviceArea', { selectedAreas: request.areas });
636
+ // If no areas selected, just store and return
637
+ if (request.areas.length === 0) {
638
+ log.info('[Robot Vacuum] No specific areas selected, ready to clean all areas');
639
+ return;
640
+ }
641
+ // Start cleaning the selected areas sequentially
642
+ log.info(`[Robot Vacuum] Starting area-based cleaning: ${selectedNames.join(' → ')}`);
643
+ // Start running
644
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Running });
645
+ // Clean each area sequentially (5 seconds per area)
646
+ let delay = 0;
647
+ for (let i = 0; i < request.areas.length; i++) {
648
+ const areaId = request.areas[i];
649
+ const areaName = areaNames[areaId] || `Area ${areaId}`;
650
+ const timer = setTimeout(() => {
651
+ log.info(`[Robot Vacuum] Now cleaning: ${areaName} (${i + 1}/${request.areas.length})`);
652
+ api.matter.updateAccessoryState(uuid, 'serviceArea', {
653
+ currentArea: areaId,
654
+ });
655
+ }, delay);
656
+ addVacuumTimer(uuid, timer);
657
+ delay += 5000; // 5 seconds per area
658
+ }
659
+ // After all areas are cleaned, return to dock
660
+ const finalTimer = setTimeout(() => {
661
+ log.info('[Robot Vacuum] All areas cleaned, returning to dock');
662
+ api.matter.updateAccessoryState(uuid, 'serviceArea', {
663
+ currentArea: null,
664
+ });
665
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.SeekingCharger });
666
+ // 10 seconds to reach dock
667
+ const dockTimer1 = setTimeout(() => {
668
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Charging });
669
+ // 10 seconds to charge
670
+ const dockTimer2 = setTimeout(() => {
671
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, { operationalState: MatterTypes.RvcOperationalState.OperationalState.Docked });
672
+ log.info('[Robot Vacuum] Area-based cleaning complete, docked and charged');
673
+ }, 10000);
674
+ addVacuumTimer(uuid, dockTimer2);
675
+ }, 10000);
676
+ addVacuumTimer(uuid, dockTimer1);
677
+ }, delay);
678
+ addVacuumTimer(uuid, finalTimer);
520
679
  }
521
680
  catch (error) {
522
681
  log.error('[Robot Vacuum] Failed to select areas:', error);
523
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
682
+ clearVacuumTimers(uuid);
683
+ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, {
524
684
  operationalState: MatterTypes.RvcOperationalState.OperationalState.Error,
525
685
  operationalError: {
526
686
  errorStateId: 1,
@@ -546,7 +706,7 @@ export function registerRoboticVacuumCleaner(context) {
546
706
  }
547
707
  catch (error) {
548
708
  log.error('[Robot Vacuum] Failed to skip area:', error);
549
- return api.matter.updateAccessoryState(uuid, 'rvcOperationalState', {
709
+ return api.matter.updateAccessoryState(uuid, api.matter.clusterNames.RvcOperationalState, {
550
710
  operationalState: MatterTypes.RvcOperationalState.OperationalState.Error,
551
711
  operationalError: {
552
712
  errorStateId: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"robotic-vacuum-cleaner.js","sourceRoot":"","sources":["../../../src/devices/section-12-robotic/robotic-vacuum-cleaner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"robotic-vacuum-cleaner.js","sourceRoot":"","sources":["../../../src/devices/section-12-robotic/robotic-vacuum-cleaner.ts"],"names":[],"mappings":"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"}
@@ -200,7 +200,11 @@ export function registerExtendedColorLight(context) {
200
200
  const brightnessPercent = Math.round((level / 254) * 100);
201
201
  // Color mode
202
202
  const mode = accessory.clusters.colorControl.colorMode;
203
- const modeNames = { 0: 'Hue/Saturation', 1: 'XY', 2: 'Color Temperature' };
203
+ const modeNames = {
204
+ [MatterTypes.ColorControl.ColorMode.CurrentHueAndCurrentSaturation]: 'Hue/Saturation',
205
+ [MatterTypes.ColorControl.ColorMode.CurrentXAndCurrentY]: 'XY',
206
+ [MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds]: 'Color Temperature',
207
+ };
204
208
  const modeName = modeNames[mode] || 'Unknown';
205
209
  // Color values (HS)
206
210
  const hue = accessory.clusters.colorControl.currentHue;
@@ -319,7 +323,7 @@ export function registerExtendedColorLight(context) {
319
323
  // // to keep HS and XY in sync (HomeKit can use either)
320
324
  //
321
325
  // // Update colorMode to indicate we're using Hue/Saturation
322
- // accessory.clusters.colorControl.colorMode = 0
326
+ // accessory.clusters.colorControl.colorMode = MatterTypes.ColorControl.ColorMode.CurrentHueAndCurrentSaturation
323
327
  //
324
328
  // // Update hue and saturation
325
329
  // accessory.clusters.colorControl.currentHue = newHue
@@ -334,7 +338,7 @@ export function registerExtendedColorLight(context) {
334
338
  //
335
339
  // // Notify HomeKit of all color control changes at once
336
340
  // await api.matter.updateAccessoryState(accessory.uuid, api.matter.clusterNames.ColorControl, {
337
- // colorMode: 0,
341
+ // colorMode: MatterTypes.ColorControl.ColorMode.CurrentHueAndCurrentSaturation,
338
342
  // currentHue: newHue,
339
343
  // currentSaturation: newSaturation,
340
344
  // // currentX: Math.round(x * 65535),
@@ -353,20 +357,20 @@ export function registerExtendedColorLight(context) {
353
357
  //
354
358
  // // Check if color temp actually changed or mode switched
355
359
  // const miredsChanged = newMireds !== homekitMireds
356
- // const modeChanged = homekitColorMode !== 2 // Not in ColorTemp mode
360
+ // const modeChanged = homekitColorMode !== MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds // Not in ColorTemp mode
357
361
  //
358
362
  // if (miredsChanged || modeChanged) {
359
363
  // log.info(`[Extended Color Light] Color temp changed: ${deviceState.colorTemp}K (${newMireds} mireds)`)
360
364
  //
361
365
  // // Update colorMode to indicate we're using Color Temperature
362
- // accessory.clusters.colorControl.colorMode = 2
366
+ // accessory.clusters.colorControl.colorMode = MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds
363
367
  //
364
368
  // // Update color temperature
365
369
  // accessory.clusters.colorControl.colorTemperatureMireds = newMireds
366
370
  //
367
371
  // // Notify HomeKit
368
372
  // await api.matter.updateAccessoryState(accessory.uuid, api.matter.clusterNames.ColorControl, {
369
- // colorMode: 2,
373
+ // colorMode: MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds,
370
374
  // colorTemperatureMireds: newMireds,
371
375
  // })
372
376
  //
@@ -417,12 +421,12 @@ export function registerExtendedColorLight(context) {
417
421
  // const newSat = Math.round((deviceState.saturation / 100) * 254)
418
422
  // if (newHue !== accessory.clusters.colorControl.currentHue ||
419
423
  // newSat !== accessory.clusters.colorControl.currentSaturation ||
420
- // accessory.clusters.colorControl.colorMode !== 0) {
421
- // accessory.clusters.colorControl.colorMode = 0
424
+ // accessory.clusters.colorControl.colorMode !== MatterTypes.ColorControl.ColorMode.CurrentHueAndCurrentSaturation) {
425
+ // accessory.clusters.colorControl.colorMode = MatterTypes.ColorControl.ColorMode.CurrentHueAndCurrentSaturation
422
426
  // accessory.clusters.colorControl.currentHue = newHue
423
427
  // accessory.clusters.colorControl.currentSaturation = newSat
424
428
  // await api.matter.updateAccessoryState(accessory.uuid, api.matter.clusterNames.ColorControl, {
425
- // colorMode: 0,
429
+ // colorMode: MatterTypes.ColorControl.ColorMode.CurrentHueAndCurrentSaturation,
426
430
  // currentHue: newHue,
427
431
  // currentSaturation: newSat,
428
432
  // })
@@ -431,11 +435,11 @@ export function registerExtendedColorLight(context) {
431
435
  // } else if (deviceState.mode === 'white' && deviceState.colorTemp) {
432
436
  // const newMireds = Math.round(1000000 / deviceState.colorTemp)
433
437
  // if (newMireds !== accessory.clusters.colorControl.colorTemperatureMireds ||
434
- // accessory.clusters.colorControl.colorMode !== 2) {
435
- // accessory.clusters.colorControl.colorMode = 2
438
+ // accessory.clusters.colorControl.colorMode !== MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds) {
439
+ // accessory.clusters.colorControl.colorMode = MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds
436
440
  // accessory.clusters.colorControl.colorTemperatureMireds = newMireds
437
441
  // await api.matter.updateAccessoryState(accessory.uuid, api.matter.clusterNames.ColorControl, {
438
- // colorMode: 2,
442
+ // colorMode: MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds,
439
443
  // colorTemperatureMireds: newMireds,
440
444
  // })
441
445
  // updated = true
@@ -468,9 +472,9 @@ export function registerExtendedColorLight(context) {
468
472
  // - Then all controllers are notified
469
473
  //
470
474
  // 1. COLOR MODES:
471
- // - Mode 0 (HS): Hue/Saturation (0-254 each)
472
- // - Mode 1 (XY): CIE 1931 color space (0-65535 each)
473
- // - Mode 2 (CCT): Color Temperature in mireds
475
+ // - MatterTypes.ColorControl.ColorMode.CurrentHueAndCurrentSaturation (0): Hue/Saturation (0-254 each)
476
+ // - MatterTypes.ColorControl.ColorMode.CurrentXAndCurrentY (1): CIE 1931 color space (0-65535 each)
477
+ // - MatterTypes.ColorControl.ColorMode.ColorTemperatureMireds (2): Color Temperature in mireds
474
478
  // - Always update colorMode when switching between color and white
475
479
  //
476
480
  // 2. VALUE CONVERSIONS:
@@ -507,8 +511,8 @@ export function registerExtendedColorLight(context) {
507
511
  //
508
512
  // 4. READING STATE:
509
513
  // - Check colorMode to know which values are currently active
510
- // - Mode 0 or 1: Use color values (hue/sat or XY)
511
- // - Mode 2: Use colorTemperatureMireds
514
+ // - CurrentHueAndCurrentSaturation or CurrentXAndCurrentY: Use color values (hue/sat or XY)
515
+ // - ColorTemperatureMireds: Use colorTemperatureMireds
512
516
  // - Brightness (currentLevel) is independent of color mode
513
517
  // - Access via: accessory.clusters.colorControl.colorMode, etc.
514
518
  //
@@ -1 +1 @@
1
- {"version":3,"file":"extended-color-light.js","sourceRoot":"","sources":["../../../src/devices/section-4-lighting/extended-color-light.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extended-color-light.js","sourceRoot":"","sources":["../../../src/devices/section-4-lighting/extended-color-light.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export function registerDoorLock(context) {
45
45
  // TODO: Add your actual lock device control logic here
46
46
  // Example: await myLockAPI.lock()
47
47
  // Update the Matter state to reflect the lock is now locked
48
- return api.matter.updateAccessoryState(doorLockUuid, 'doorLock', { lockState: MatterTypes.DoorLock.LockState.Locked });
48
+ return api.matter.updateAccessoryState(doorLockUuid, api.matter.clusterNames.DoorLock, { lockState: MatterTypes.DoorLock.LockState.Locked });
49
49
  },
50
50
  // Called when user unlocks the door via Home app
51
51
  unlockDoor: async () => {
@@ -53,7 +53,7 @@ export function registerDoorLock(context) {
53
53
  // TODO: Add your actual lock device control logic here
54
54
  // Example: await myLockAPI.unlock()
55
55
  // Update the Matter state to reflect the lock is now unlocked
56
- return api.matter.updateAccessoryState(doorLockUuid, 'doorLock', { lockState: MatterTypes.DoorLock.LockState.Unlocked });
56
+ return api.matter.updateAccessoryState(doorLockUuid, api.matter.clusterNames.DoorLock, { lockState: MatterTypes.DoorLock.LockState.Unlocked });
57
57
  },
58
58
  },
59
59
  },
@@ -1 +1 @@
1
- {"version":3,"file":"door-lock.js","sourceRoot":"","sources":["../../../src/devices/section-8-closure/door-lock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAIxC,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACrD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACpC,MAAM,WAAW,GAAU,EAAE,CAAA;IAE7B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,2CAA2C;IAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAEjE,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;QAC3C,YAAY,EAAE,UAAU;QACxB,YAAY,EAAE,iBAAiB;QAC/B,KAAK,EAAE,aAAa;QAEpB,8EAA8E;QAC9E,qEAAqE;QACrE,uEAAuE;QACvE,aAAa;QACb,4BAA4B;QAC5B,2CAA2C;QAC3C,uCAAuC;QACvC,KAAK;QAEL,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,oDAAoD;gBACpD,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,2BAA2B;gBAE/E,mCAAmC;gBACnC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ;gBAEhD,qDAAqD;gBACrD,eAAe,EAAE,IAAI;aACtB;SACF;QAED,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,+CAA+C;gBAC/C,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;oBAElE,uDAAuD;oBACvD,kCAAkC;oBAElC,4DAA4D;oBAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,oBAAoB,CACpC,YAAY,EACZ,UAAU,EACV,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CACrD,CAAA;gBACH,CAAC;gBAED,iDAAiD;gBACjD,UAAU,EAAE,KAAK,IAAI,EAAE;oBACrB,GAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;oBAEtE,uDAAuD;oBACvD,oCAAoC;oBAEpC,8DAA8D;oBAC9D,OAAO,GAAG,CAAC,MAAM,CAAC,oBAAoB,CACpC,YAAY,EACZ,UAAU,EACV,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CACvD,CAAA;gBACH,CAAC;aACF;SACF;KACF,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"door-lock.js","sourceRoot":"","sources":["../../../src/devices/section-8-closure/door-lock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAIxC,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACrD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACpC,MAAM,WAAW,GAAU,EAAE,CAAA;IAE7B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,2CAA2C;IAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAEjE,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;QAC3C,YAAY,EAAE,UAAU;QACxB,YAAY,EAAE,iBAAiB;QAC/B,KAAK,EAAE,aAAa;QAEpB,8EAA8E;QAC9E,qEAAqE;QACrE,uEAAuE;QACvE,aAAa;QACb,4BAA4B;QAC5B,2CAA2C;QAC3C,uCAAuC;QACvC,KAAK;QAEL,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,oDAAoD;gBACpD,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,2BAA2B;gBAE/E,mCAAmC;gBACnC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ;gBAEhD,qDAAqD;gBACrD,eAAe,EAAE,IAAI;aACtB;SACF;QAED,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,+CAA+C;gBAC/C,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;oBAElE,uDAAuD;oBACvD,kCAAkC;oBAElC,4DAA4D;oBAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,oBAAoB,CACpC,YAAY,EACZ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAChC,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CACrD,CAAA;gBACH,CAAC;gBAED,iDAAiD;gBACjD,UAAU,EAAE,KAAK,IAAI,EAAE;oBACrB,GAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;oBAEtE,uDAAuD;oBACvD,oCAAoC;oBAEpC,8DAA8D;oBAC9D,OAAO,GAAG,CAAC,MAAM,CAAC,oBAAoB,CACpC,YAAY,EACZ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAChC,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CACvD,CAAA;gBACH,CAAC;aACF;SACF;KACF,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC"}
@@ -49,21 +49,21 @@ export function registerWindowCovering(context) {
49
49
  goToLiftPercentage: async (request) => {
50
50
  const percent = (request.targetPercent / 100).toFixed(0);
51
51
  log.info(`[Window Blind] ✓ Handler \`goToLiftPercentage\` called: ${request.targetPercent} (${percent}% open)`);
52
- return api.matter.updateAccessoryState(windowBlindUuid, 'windowCovering', {
52
+ return api.matter.updateAccessoryState(windowBlindUuid, api.matter.clusterNames.WindowCovering, {
53
53
  currentPositionLiftPercent100ths: request.targetPercent,
54
54
  targetPositionLiftPercent100ths: request.targetPercent,
55
55
  });
56
56
  },
57
57
  upOrOpen: async () => {
58
58
  log.info('[Window Blind] ✓ Handler `upOrOpen` called - Opening blind');
59
- return api.matter.updateAccessoryState(windowBlindUuid, 'windowCovering', {
59
+ return api.matter.updateAccessoryState(windowBlindUuid, api.matter.clusterNames.WindowCovering, {
60
60
  currentPositionLiftPercent100ths: 10000, // Fully open
61
61
  targetPositionLiftPercent100ths: 10000,
62
62
  });
63
63
  },
64
64
  downOrClose: async () => {
65
65
  log.info('[Window Blind] ✓ Handler `downOrClose` called - Closing blind');
66
- return api.matter.updateAccessoryState(windowBlindUuid, 'windowCovering', {
66
+ return api.matter.updateAccessoryState(windowBlindUuid, api.matter.clusterNames.WindowCovering, {
67
67
  currentPositionLiftPercent100ths: 0, // Fully closed
68
68
  targetPositionLiftPercent100ths: 0,
69
69
  });
@@ -119,7 +119,7 @@ export function registerWindowCovering(context) {
119
119
  goToLiftPercentage: async (request) => {
120
120
  const percent = (request.targetPercent / 100).toFixed(0);
121
121
  log.info(`[Venetian Blind] ✓ Handler \`goToLiftPercentage\` called: ${request.targetPercent} (${percent}% open)`);
122
- return api.matter.updateAccessoryState(venetianBlindUuid, 'windowCovering', {
122
+ return api.matter.updateAccessoryState(venetianBlindUuid, api.matter.clusterNames.WindowCovering, {
123
123
  currentPositionLiftPercent100ths: request.targetPercent,
124
124
  targetPositionLiftPercent100ths: request.targetPercent,
125
125
  });
@@ -127,21 +127,21 @@ export function registerWindowCovering(context) {
127
127
  goToTiltPercentage: async (request) => {
128
128
  const percent = (request.targetPercent / 100).toFixed(0);
129
129
  log.info(`[Venetian Blind] ✓ Handler \`goToTiltPercentage\` called: ${request.targetPercent} (${percent}% tilted)`);
130
- return api.matter.updateAccessoryState(venetianBlindUuid, 'windowCovering', {
130
+ return api.matter.updateAccessoryState(venetianBlindUuid, api.matter.clusterNames.WindowCovering, {
131
131
  currentPositionTiltPercent100ths: request.targetPercent,
132
132
  targetPositionTiltPercent100ths: request.targetPercent,
133
133
  });
134
134
  },
135
135
  upOrOpen: async () => {
136
136
  log.info('[Venetian Blind] ✓ Handler `upOrOpen` called - Opening blind');
137
- return api.matter.updateAccessoryState(venetianBlindUuid, 'windowCovering', {
137
+ return api.matter.updateAccessoryState(venetianBlindUuid, api.matter.clusterNames.WindowCovering, {
138
138
  currentPositionLiftPercent100ths: 10000, // Fully open
139
139
  targetPositionLiftPercent100ths: 10000,
140
140
  });
141
141
  },
142
142
  downOrClose: async () => {
143
143
  log.info('[Venetian Blind] ✓ Handler `downOrClose` called - Closing blind');
144
- return api.matter.updateAccessoryState(venetianBlindUuid, 'windowCovering', {
144
+ return api.matter.updateAccessoryState(venetianBlindUuid, api.matter.clusterNames.WindowCovering, {
145
145
  currentPositionLiftPercent100ths: 0, // Fully closed
146
146
  targetPositionLiftPercent100ths: 0,
147
147
  });
@@ -1 +1 @@
1
- {"version":3,"file":"window-covering.js","sourceRoot":"","sources":["../../../src/devices/section-8-closure/window-covering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"window-covering.js","sourceRoot":"","sources":["../../../src/devices/section-8-closure/window-covering.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "displayName": "Homebridge Matter",
4
4
  "alias": "Matter",
5
5
  "type": "module",
6
- "version": "0.1.1",
6
+ "version": "0.1.3-beta.0",
7
7
  "description": "Homebridge plugin to showcase examples of Matter devices in Homebridge.",
8
8
  "author": {
9
9
  "name": "bwp91",
@@ -49,7 +49,7 @@
49
49
  "main": "dist/index.js",
50
50
  "engines": {
51
51
  "node": "^20.18.0 || ^22.10.0 || ^24.0.0",
52
- "homebridge": ">=2.0.0-alpha.59 <2.0.0-beta.0"
52
+ "homebridge": ">=2.0.0-alpha.61 <2.0.0-beta.0"
53
53
  },
54
54
  "scripts": {
55
55
  "build": "rimraf ./dist && tsc && npm run plugin-ui",
@@ -64,8 +64,8 @@
64
64
  },
65
65
  "devDependencies": {
66
66
  "@antfu/eslint-config": "^6.0.0",
67
- "@types/node": "^24.9.0",
68
- "homebridge": "2.0.0-alpha.59",
67
+ "@types/node": "^24.9.1",
68
+ "homebridge": "2.0.0-alpha.61",
69
69
  "rimraf": "^6.0.1",
70
70
  "ts-node": "^10.9.2",
71
71
  "typescript": "^5.9.3"