@homebridge-plugins/homebridge-matter 0.2.0 → 0.2.1-beta.1

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,13 @@
2
2
 
3
3
  All notable changes to `@homebridge-plugins/homebridge-matter` will be documented in this file.
4
4
 
5
+ ## v0.2.1 (Unreleased)
6
+
7
+ ### Changes
8
+
9
+ - do not include api doc in `npm` package
10
+ - improve range of settings for vacuum
11
+
5
12
  ## v0.2.0 (2025-10-25)
6
13
 
7
14
  ### Changes
@@ -1,5 +1,12 @@
1
1
  /**
2
2
  * Robotic Vacuum Cleaner Accessory Class
3
+ *
4
+ * This is a comprehensive example demonstrating all available features
5
+ * of the RoboticVacuumCleaner device type including:
6
+ * - Multiple run modes (Idle, Cleaning, Mapping)
7
+ * - Multiple clean modes (Vacuum, Mop, Vacuum & Mop, Deep Clean)
8
+ * - Operational state management
9
+ * - Service area (room) support
3
10
  */
4
11
  import type { API, Logger } from 'homebridge';
5
12
  import { BaseMatterAccessory } from './BaseMatterAccessory.js';
@@ -11,7 +18,19 @@ export declare class RoboticVacuumAccessory extends BaseMatterAccessory {
11
18
  private handleStop;
12
19
  private handleStart;
13
20
  private handleResume;
21
+ private handleGoHome;
22
+ private handleSelectAreas;
23
+ private handleSkipArea;
24
+ /**
25
+ * Update Methods - Use these to update the vacuum state from your API/device
26
+ */
14
27
  updateOperationalState(state: number): void;
15
28
  updateRunMode(mode: number): void;
16
29
  updateCleanMode(mode: number): void;
30
+ updateSelectedAreas(areaIds: number[]): void;
31
+ updateCurrentArea(areaId: number | null): void;
32
+ updateProgress(progress: Array<{
33
+ areaId: number;
34
+ status: number;
35
+ }>): void;
17
36
  }
@@ -1,5 +1,12 @@
1
1
  /**
2
2
  * Robotic Vacuum Cleaner Accessory Class
3
+ *
4
+ * This is a comprehensive example demonstrating all available features
5
+ * of the RoboticVacuumCleaner device type including:
6
+ * - Multiple run modes (Idle, Cleaning, Mapping)
7
+ * - Multiple clean modes (Vacuum, Mop, Vacuum & Mop, Deep Clean)
8
+ * - Operational state management
9
+ * - Service area (room) support
3
10
  */
4
11
  import { BaseMatterAccessory } from './BaseMatterAccessory.js';
5
12
  export class RoboticVacuumAccessory extends BaseMatterAccessory {
@@ -15,28 +22,113 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
15
22
  firmwareRevision: '2.0.0',
16
23
  hardwareRevision: '1.0.0',
17
24
  clusters: {
25
+ // Run Mode: Controls what the vacuum is doing (Idle, Cleaning, Mapping)
18
26
  rvcRunMode: {
19
27
  supportedModes: [
20
- { label: 'Idle', mode: 0, modeTags: [{ value: 16384 }] },
21
- { label: 'Cleaning', mode: 1, modeTags: [{ value: 16385 }] },
28
+ { label: 'Idle', mode: 0, modeTags: [{ value: 16384 }] }, // RvcRunMode.ModeTag.Idle
29
+ { label: 'Cleaning', mode: 1, modeTags: [{ value: 16385 }] }, // RvcRunMode.ModeTag.Cleaning
30
+ { label: 'Mapping', mode: 2, modeTags: [{ value: 16386 }] }, // RvcRunMode.ModeTag.Mapping
22
31
  ],
23
32
  currentMode: 0,
24
33
  },
34
+ // Clean Mode: Controls HOW the vacuum cleans
35
+ // You can combine semantic tags (0-9) with functional tags (16384-16386)
36
+ // Available semantic tags: Auto, Quick, Quiet, LowNoise, LowEnergy, Vacation, Min, Max, Night, Day
37
+ // Available functional tags: DeepClean, Vacuum, Mop
25
38
  rvcCleanMode: {
26
39
  supportedModes: [
27
- { label: 'Vacuum', mode: 0, modeTags: [{ value: 16384 }] },
28
- { label: 'Mop', mode: 1, modeTags: [{ value: 16385 }] },
40
+ // Basic functional modes
41
+ { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] }, // Vacuum
42
+ { label: 'Mop', mode: 1, modeTags: [{ value: 16386 }] }, // Mop
43
+ { label: 'Vacuum & Mop', mode: 2, modeTags: [{ value: 16385 }, { value: 16386 }] }, // Both
44
+ // Deep clean modes
45
+ { label: 'Deep Clean', mode: 3, modeTags: [{ value: 16384 }] }, // DeepClean
46
+ { label: 'Deep Vacuum', mode: 4, modeTags: [{ value: 16384 }, { value: 16385 }] }, // DeepClean + Vacuum
47
+ { label: 'Deep Mop', mode: 5, modeTags: [{ value: 16384 }, { value: 16386 }] }, // DeepClean + Mop
48
+ // Intensity modes
49
+ { label: 'Quick Clean', mode: 6, modeTags: [{ value: 1 }, { value: 16385 }] }, // Quick + Vacuum
50
+ { label: 'Max Clean', mode: 7, modeTags: [{ value: 7 }, { value: 16385 }] }, // Max + Vacuum
51
+ { label: 'Min Clean', mode: 8, modeTags: [{ value: 6 }, { value: 16385 }] }, // Min + Vacuum
52
+ // Quiet modes
53
+ { label: 'Quiet Vacuum', mode: 9, modeTags: [{ value: 2 }, { value: 16385 }] }, // Quiet + Vacuum
54
+ { label: 'Quiet Mop', mode: 10, modeTags: [{ value: 2 }, { value: 16386 }] }, // Quiet + Mop
55
+ { label: 'Night Mode', mode: 11, modeTags: [{ value: 8 }, { value: 16385 }] }, // Night + Vacuum
56
+ // Energy efficient
57
+ { label: 'Eco Vacuum', mode: 12, modeTags: [{ value: 4 }, { value: 16385 }] }, // LowEnergy + Vacuum
58
+ { label: 'Eco Mop', mode: 13, modeTags: [{ value: 4 }, { value: 16386 }] }, // LowEnergy + Mop
59
+ // Auto mode
60
+ { label: 'Auto', mode: 14, modeTags: [{ value: 0 }, { value: 16385 }] }, // Auto + Vacuum
29
61
  ],
30
- currentMode: 0,
62
+ currentMode: 0, // Start with basic Vacuum
31
63
  },
64
+ // Operational State: Current state (Stopped, Running, Paused, Error, etc.)
32
65
  rvcOperationalState: {
33
66
  operationalStateList: [
34
- { operationalStateId: 0, operationalStateLabel: 'Stopped' },
35
- { operationalStateId: 1, operationalStateLabel: 'Running' },
36
- { operationalStateId: 2, operationalStateLabel: 'Paused' },
37
- { operationalStateId: 3, operationalStateLabel: 'Error' },
67
+ { operationalStateId: 0, operationalStateLabel: 'Stopped' }, // RvcOperationalState.Stopped
68
+ { operationalStateId: 1, operationalStateLabel: 'Running' }, // RvcOperationalState.Running
69
+ { operationalStateId: 2, operationalStateLabel: 'Paused' }, // RvcOperationalState.Paused
70
+ { operationalStateId: 3, operationalStateLabel: 'Error' }, // RvcOperationalState.Error
71
+ { operationalStateId: 64, operationalStateLabel: 'Seeking Charger' }, // RvcOperationalState.SeekingCharger
72
+ { operationalStateId: 65, operationalStateLabel: 'Charging' }, // RvcOperationalState.Charging
73
+ { operationalStateId: 66, operationalStateLabel: 'Docked' }, // RvcOperationalState.Docked
74
+ ],
75
+ operationalState: 66, // Start docked
76
+ },
77
+ // Service Area: Room/zone selection for targeted cleaning
78
+ serviceArea: {
79
+ supportedAreas: [
80
+ {
81
+ areaId: 0,
82
+ mapId: null,
83
+ areaInfo: {
84
+ locationInfo: {
85
+ locationName: 'Living Room',
86
+ floorNumber: 0,
87
+ areaType: 7, // AreaNamespaceTag.LivingRoom
88
+ },
89
+ landmarkInfo: null,
90
+ },
91
+ },
92
+ {
93
+ areaId: 1,
94
+ mapId: null,
95
+ areaInfo: {
96
+ locationInfo: {
97
+ locationName: 'Kitchen',
98
+ floorNumber: 0,
99
+ areaType: 10, // AreaNamespaceTag.Kitchen
100
+ },
101
+ landmarkInfo: null,
102
+ },
103
+ },
104
+ {
105
+ areaId: 2,
106
+ mapId: null,
107
+ areaInfo: {
108
+ locationInfo: {
109
+ locationName: 'Bedroom',
110
+ floorNumber: 0,
111
+ areaType: 2, // AreaNamespaceTag.Bedroom
112
+ },
113
+ landmarkInfo: null,
114
+ },
115
+ },
116
+ {
117
+ areaId: 3,
118
+ mapId: null,
119
+ areaInfo: {
120
+ locationInfo: {
121
+ locationName: 'Bathroom',
122
+ floorNumber: 0,
123
+ areaType: 6, // AreaNamespaceTag.Bathroom
124
+ },
125
+ landmarkInfo: null,
126
+ },
127
+ },
38
128
  ],
39
- operationalState: 0,
129
+ selectedAreas: [0, 1, 2, 3], // All areas selected by default (Living Room, Kitchen, Bedroom, Bathroom)
130
+ currentArea: null,
131
+ progress: [],
40
132
  },
41
133
  },
42
134
  handlers: {
@@ -51,23 +143,45 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
51
143
  stop: async () => this.handleStop(),
52
144
  start: async () => this.handleStart(),
53
145
  resume: async () => this.handleResume(),
146
+ goHome: async () => this.handleGoHome(),
147
+ },
148
+ serviceArea: {
149
+ selectAreas: async (request) => this.handleSelectAreas(request),
150
+ skipArea: async (request) => this.handleSkipArea(request),
54
151
  },
55
152
  },
56
153
  });
57
154
  this.logInfo('initialized.');
58
155
  }
59
156
  async handleChangeRunMode(request) {
60
- this.logInfo(`ChangeToMode (run) request: ${JSON.stringify(request)}`);
157
+ this.logInfo(`ChangeToMode (run) request received: ${JSON.stringify(request)}`);
61
158
  const { newMode } = request;
62
- const modeStr = ['Idle', 'Cleaning'][newMode] || 'Unknown';
63
- this.logInfo((`changing run mode to: ${modeStr}.`));
159
+ const modeStr = ['Idle', 'Cleaning', 'Mapping'][newMode] || `Unknown (mode=${newMode})`;
160
+ this.logInfo(`changing run mode to: ${modeStr}`);
64
161
  // TODO: await myVacuumAPI.setRunMode(newMode)
65
162
  }
66
163
  async handleChangeCleanMode(request) {
67
- this.logInfo(`ChangeToMode (clean) request: ${JSON.stringify(request)}`);
164
+ this.logInfo(`ChangeToMode (clean) request received: ${JSON.stringify(request)}`);
68
165
  const { newMode } = request;
69
- const modeStr = ['Vacuum', 'Mop'][newMode] || 'Unknown';
70
- this.logInfo((`changing clean mode to: ${modeStr}.`));
166
+ const modes = [
167
+ 'Vacuum',
168
+ 'Mop',
169
+ 'Vacuum & Mop',
170
+ 'Deep Clean',
171
+ 'Deep Vacuum',
172
+ 'Deep Mop',
173
+ 'Quick Clean',
174
+ 'Max Clean',
175
+ 'Min Clean',
176
+ 'Quiet Vacuum',
177
+ 'Quiet Mop',
178
+ 'Night Mode',
179
+ 'Eco Vacuum',
180
+ 'Eco Mop',
181
+ 'Auto',
182
+ ];
183
+ const modeStr = modes[newMode] || `Unknown (mode=${newMode})`;
184
+ this.logInfo(`changing clean mode to: ${modeStr}`);
71
185
  // TODO: await myVacuumAPI.setCleanMode(newMode)
72
186
  }
73
187
  async handlePause() {
@@ -86,14 +200,89 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
86
200
  this.logInfo('resuming.');
87
201
  // TODO: await myVacuumAPI.resume()
88
202
  }
203
+ async handleGoHome() {
204
+ this.logInfo('returning to dock.');
205
+ // TODO: await myVacuumAPI.goHome()
206
+ }
207
+ async handleSelectAreas(request) {
208
+ this.logInfo(`SelectAreas request received: ${JSON.stringify(request)}`);
209
+ const { newAreas } = request;
210
+ const areaNames = newAreas.map((id) => ['Living Room', 'Kitchen', 'Bedroom', 'Bathroom'][id] || `Area ${id}`);
211
+ this.logInfo(`selecting areas: ${areaNames.join(', ')}`);
212
+ // TODO: await myVacuumAPI.selectAreas(newAreas)
213
+ }
214
+ async handleSkipArea(request) {
215
+ this.logInfo(`SkipArea request received: ${JSON.stringify(request)}`);
216
+ const { skippedArea } = request;
217
+ const areaName = ['Living Room', 'Kitchen', 'Bedroom', 'Bathroom'][skippedArea] || `Area ${skippedArea}`;
218
+ this.logInfo(`skipping area: ${areaName}`);
219
+ // TODO: await myVacuumAPI.skipArea(skippedArea)
220
+ }
221
+ /**
222
+ * Update Methods - Use these to update the vacuum state from your API/device
223
+ */
89
224
  updateOperationalState(state) {
90
225
  this.updateState('rvcOperationalState', { operationalState: state });
226
+ const states = [
227
+ 'Stopped',
228
+ 'Running',
229
+ 'Paused',
230
+ 'Error',
231
+ null,
232
+ null,
233
+ null,
234
+ null,
235
+ ...Array.from({ length: 56 }).fill(null),
236
+ 'Seeking Charger',
237
+ 'Charging',
238
+ 'Docked',
239
+ ];
240
+ this.logInfo(`operational state updated to: ${states[state] || `Unknown (${state})`}`);
91
241
  }
92
242
  updateRunMode(mode) {
93
243
  this.updateState('rvcRunMode', { currentMode: mode });
244
+ const modes = ['Idle', 'Cleaning', 'Mapping'];
245
+ this.logInfo(`run mode updated to: ${modes[mode] || `Unknown (${mode})`}`);
94
246
  }
95
247
  updateCleanMode(mode) {
96
248
  this.updateState('rvcCleanMode', { currentMode: mode });
249
+ const modes = [
250
+ 'Vacuum',
251
+ 'Mop',
252
+ 'Vacuum & Mop',
253
+ 'Deep Clean',
254
+ 'Deep Vacuum',
255
+ 'Deep Mop',
256
+ 'Quick Clean',
257
+ 'Max Clean',
258
+ 'Min Clean',
259
+ 'Quiet Vacuum',
260
+ 'Quiet Mop',
261
+ 'Night Mode',
262
+ 'Eco Vacuum',
263
+ 'Eco Mop',
264
+ 'Auto',
265
+ ];
266
+ this.logInfo(`clean mode updated to: ${modes[mode] || `Unknown (${mode})`}`);
267
+ }
268
+ updateSelectedAreas(areaIds) {
269
+ this.updateState('serviceArea', { selectedAreas: areaIds });
270
+ const areaNames = areaIds.map(id => ['Living Room', 'Kitchen', 'Bedroom', 'Bathroom'][id] || `Area ${id}`);
271
+ this.logInfo(`selected areas updated to: ${areaNames.join(', ') || 'All Areas'}`);
272
+ }
273
+ updateCurrentArea(areaId) {
274
+ this.updateState('serviceArea', { currentArea: areaId });
275
+ if (areaId !== null) {
276
+ const areaName = ['Living Room', 'Kitchen', 'Bedroom', 'Bathroom'][areaId] || `Area ${areaId}`;
277
+ this.logInfo(`current area updated to: ${areaName}`);
278
+ }
279
+ else {
280
+ this.logInfo('current area cleared');
281
+ }
282
+ }
283
+ updateProgress(progress) {
284
+ this.updateState('serviceArea', { progress });
285
+ this.logInfo(`progress updated: ${progress.length} areas`);
97
286
  }
98
287
  }
99
288
  //# sourceMappingURL=RoboticVacuumAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.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.2.0",
6
+ "version": "0.2.1-beta.1",
7
7
  "description": "Homebridge plugin to showcase examples of Matter devices in Homebridge.",
8
8
  "author": {
9
9
  "name": "bwp91",