@homebridge-plugins/homebridge-matter 0.1.3 → 0.1.4-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/MATTER_API.md +152 -42
- package/README.md +1 -1
- package/dist/devices/section-12-robotic/robotic-vacuum-cleaner.d.ts +9 -53
- package/dist/devices/section-12-robotic/robotic-vacuum-cleaner.js +12 -62
- package/dist/devices/section-12-robotic/robotic-vacuum-cleaner.js.map +1 -1
- package/dist/devices/section-4-lighting/color-temperature-light.d.ts +8 -1
- package/dist/devices/section-4-lighting/color-temperature-light.js +27 -23
- package/dist/devices/section-4-lighting/color-temperature-light.js.map +1 -1
- package/dist/devices/section-4-lighting/dimmable-light.d.ts +5 -22
- package/dist/devices/section-4-lighting/dimmable-light.js +40 -319
- package/dist/devices/section-4-lighting/dimmable-light.js.map +1 -1
- package/dist/devices/section-4-lighting/extended-color-light.d.ts +6 -25
- package/dist/devices/section-4-lighting/extended-color-light.js +33 -399
- package/dist/devices/section-4-lighting/extended-color-light.js.map +1 -1
- package/dist/devices/section-4-lighting/on-off-light.d.ts +8 -28
- package/dist/devices/section-4-lighting/on-off-light.js +64 -434
- package/dist/devices/section-4-lighting/on-off-light.js.map +1 -1
- package/dist/devices/section-5-smart-plugs/dimmable-plug-in-unit.d.ts +6 -0
- package/dist/devices/section-5-smart-plugs/dimmable-plug-in-unit.js +13 -3
- package/dist/devices/section-5-smart-plugs/dimmable-plug-in-unit.js.map +1 -1
- package/dist/devices/section-5-smart-plugs/on-off-plug-in-unit.d.ts +5 -0
- package/dist/devices/section-5-smart-plugs/on-off-plug-in-unit.js +9 -2
- package/dist/devices/section-5-smart-plugs/on-off-plug-in-unit.js.map +1 -1
- package/dist/devices/section-6-switches/on-off-light-switch.d.ts +5 -0
- package/dist/devices/section-6-switches/on-off-light-switch.js +5 -0
- package/dist/devices/section-6-switches/on-off-light-switch.js.map +1 -1
- package/dist/devices/section-7-sensors/contact-sensor.d.ts +5 -0
- package/dist/devices/section-7-sensors/contact-sensor.js +5 -0
- package/dist/devices/section-7-sensors/contact-sensor.js.map +1 -1
- package/dist/devices/section-7-sensors/humidity-sensor.d.ts +5 -0
- package/dist/devices/section-7-sensors/humidity-sensor.js +5 -0
- package/dist/devices/section-7-sensors/humidity-sensor.js.map +1 -1
- package/dist/devices/section-7-sensors/light-sensor.d.ts +5 -0
- package/dist/devices/section-7-sensors/light-sensor.js +5 -0
- package/dist/devices/section-7-sensors/light-sensor.js.map +1 -1
- package/dist/devices/section-7-sensors/occupancy-sensor.d.ts +6 -0
- package/dist/devices/section-7-sensors/occupancy-sensor.js +6 -0
- package/dist/devices/section-7-sensors/occupancy-sensor.js.map +1 -1
- package/dist/devices/section-7-sensors/smoke-co-alarm.d.ts +6 -0
- package/dist/devices/section-7-sensors/smoke-co-alarm.js +6 -0
- package/dist/devices/section-7-sensors/smoke-co-alarm.js.map +1 -1
- package/dist/devices/section-7-sensors/temperature-sensor.d.ts +5 -0
- package/dist/devices/section-7-sensors/temperature-sensor.js +5 -0
- package/dist/devices/section-7-sensors/temperature-sensor.js.map +1 -1
- package/dist/devices/section-7-sensors/water-leak-detector.d.ts +5 -0
- package/dist/devices/section-7-sensors/water-leak-detector.js +5 -0
- package/dist/devices/section-7-sensors/water-leak-detector.js.map +1 -1
- package/dist/devices/section-8-closure/door-lock.d.ts +6 -0
- package/dist/devices/section-8-closure/door-lock.js +12 -27
- package/dist/devices/section-8-closure/door-lock.js.map +1 -1
- package/dist/devices/section-8-closure/window-covering.d.ts +7 -0
- package/dist/devices/section-8-closure/window-covering.js +27 -43
- package/dist/devices/section-8-closure/window-covering.js.map +1 -1
- package/dist/devices/section-9-hvac/fan.d.ts +7 -0
- package/dist/devices/section-9-hvac/fan.js +17 -23
- package/dist/devices/section-9-hvac/fan.js.map +1 -1
- package/dist/devices/section-9-hvac/thermostat.d.ts +7 -0
- package/dist/devices/section-9-hvac/thermostat.js +21 -25
- package/dist/devices/section-9-hvac/thermostat.js.map +1 -1
- package/package.json +3 -3
package/MATTER_API.md
CHANGED
|
@@ -137,6 +137,85 @@ handlers: {
|
|
|
137
137
|
|
|
138
138
|
The command-based approach is more explicit about the user's intent and can provide additional context (like transition time for smooth dimming).
|
|
139
139
|
|
|
140
|
+
#### Type-Safe Handler Arguments with MatterRequests
|
|
141
|
+
|
|
142
|
+
For commands with parameters, import `MatterRequests` for TypeScript autocomplete and type checking:
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import type { MatterRequests } from 'homebridge'
|
|
146
|
+
|
|
147
|
+
handlers: {
|
|
148
|
+
levelControl: {
|
|
149
|
+
moveToLevelWithOnOff: async (request: MatterRequests.MoveToLevel) => {
|
|
150
|
+
const { level, transitionTime } = request // Fully typed!
|
|
151
|
+
await device.setBrightness(level)
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Quick Examples:**
|
|
158
|
+
- `MatterRequests.MoveToLevel` - Brightness control
|
|
159
|
+
- `MatterRequests.MoveToHueAndSaturation` - Color control
|
|
160
|
+
- `MatterRequests.LockDoor` - Door lock with optional PIN
|
|
161
|
+
- `MatterRequests.SetpointRaiseLower` - Thermostat temperature
|
|
162
|
+
|
|
163
|
+
**Why use this?**
|
|
164
|
+
✅ Autocomplete shows available properties
|
|
165
|
+
✅ Compile-time errors for typos
|
|
166
|
+
✅ Hover to see parameter types
|
|
167
|
+
|
|
168
|
+
**Note:** TypeScript types only - not available on `api.matter` at runtime.
|
|
169
|
+
|
|
170
|
+
<details>
|
|
171
|
+
<summary><strong>Click to see all MatterRequests types</strong></summary>
|
|
172
|
+
|
|
173
|
+
#### Level Control
|
|
174
|
+
```typescript
|
|
175
|
+
MatterRequests.MoveToLevel // { level, transitionTime?, optionsMask?, optionsOverride? }
|
|
176
|
+
MatterRequests.Move // { moveMode, rate?, optionsMask?, optionsOverride? }
|
|
177
|
+
MatterRequests.Step // { stepMode, stepSize, transitionTime?, ... }
|
|
178
|
+
MatterRequests.Stop // { optionsMask?, optionsOverride? }
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### Color Control
|
|
182
|
+
```typescript
|
|
183
|
+
MatterRequests.MoveToHue // { hue, direction, transitionTime?, ... }
|
|
184
|
+
MatterRequests.MoveToSaturation // { saturation, transitionTime?, ... }
|
|
185
|
+
MatterRequests.MoveToHueAndSaturation // { hue, saturation, transitionTime?, ... }
|
|
186
|
+
MatterRequests.MoveToColorTemperature // { colorTemperatureMireds, transitionTime?, ... }
|
|
187
|
+
MatterRequests.MoveHue // { moveMode, rate?, ... }
|
|
188
|
+
MatterRequests.MoveSaturation // { moveMode, rate?, ... }
|
|
189
|
+
MatterRequests.MoveColorTemperature // { moveMode, rate?, ... }
|
|
190
|
+
MatterRequests.StepHue // { stepMode, stepSize, transitionTime?, ... }
|
|
191
|
+
MatterRequests.StepSaturation // { stepMode, stepSize, transitionTime?, ... }
|
|
192
|
+
MatterRequests.StepColorTemperature // { stepMode, stepSize, transitionTime?, ... }
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
#### Door Lock
|
|
196
|
+
```typescript
|
|
197
|
+
MatterRequests.LockDoor // { pinCode? }
|
|
198
|
+
MatterRequests.UnlockDoor // { pinCode? }
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
#### Window Covering
|
|
202
|
+
```typescript
|
|
203
|
+
MatterRequests.GoToLiftPercentage // { liftPercent100thsValue }
|
|
204
|
+
MatterRequests.GoToTiltPercentage // { tiltPercent100thsValue }
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
#### Thermostat
|
|
208
|
+
```typescript
|
|
209
|
+
MatterRequests.SetpointRaiseLower // { mode, amount }
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
#### Fan Control
|
|
213
|
+
```typescript
|
|
214
|
+
MatterRequests.FanStep // { direction, wrap?, lowestOff? }
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
</details>
|
|
218
|
+
|
|
140
219
|
### Endpoints vs Clusters (HAP: Accessories vs Services)
|
|
141
220
|
|
|
142
221
|
Understanding the relationship between endpoints and clusters is fundamental to Matter architecture.
|
|
@@ -208,7 +287,9 @@ const accessory = {
|
|
|
208
287
|
- The `clusters` object defines which clusters (capabilities) that endpoint has
|
|
209
288
|
- The device type determines which clusters are required/optional for that endpoint
|
|
210
289
|
|
|
211
|
-
|
|
290
|
+
#### HAP vs Matter: Detailed Comparison
|
|
291
|
+
|
|
292
|
+
For HAP developers, here's how common patterns translate:
|
|
212
293
|
|
|
213
294
|
| Aspect | HAP | Matter |
|
|
214
295
|
|---------------------------|-------------------------------------------------------|----------------------------------------------------------|
|
|
@@ -298,6 +379,8 @@ Your physical device is **not** a Matter device—it's a regular IoT device (HTT
|
|
|
298
379
|
|
|
299
380
|
## Implementing Matter Devices
|
|
300
381
|
|
|
382
|
+
Now that you understand the core concepts and two-way flow architecture, let's implement a Matter device.
|
|
383
|
+
|
|
301
384
|
### Basic Structure
|
|
302
385
|
|
|
303
386
|
Every Matter device registration follows this pattern:
|
|
@@ -486,6 +569,8 @@ clusters: {
|
|
|
486
569
|
|
|
487
570
|
## Reading and Updating State
|
|
488
571
|
|
|
572
|
+
After implementing your device, you'll need to read and update its state for both Flow A (handlers) and Flow B (external changes).
|
|
573
|
+
|
|
489
574
|
### Reading Current State
|
|
490
575
|
|
|
491
576
|
There are two ways to read cluster state:
|
|
@@ -690,7 +775,9 @@ api.matter.updateAccessoryState(
|
|
|
690
775
|
|
|
691
776
|
## Monitoring External Changes
|
|
692
777
|
|
|
693
|
-
|
|
778
|
+
To implement Flow B (physical device → Home app), you must monitor your physical device and call `updateAccessoryState()` when it changes externally.
|
|
779
|
+
|
|
780
|
+
There are two approaches:
|
|
694
781
|
|
|
695
782
|
### Recommended: Event-Based Updates
|
|
696
783
|
|
|
@@ -884,7 +971,7 @@ api.matter.types.TemperatureMeasurement
|
|
|
884
971
|
|
|
885
972
|
---
|
|
886
973
|
|
|
887
|
-
## Best Practices
|
|
974
|
+
## Best Practices
|
|
888
975
|
|
|
889
976
|
### 1. Always Compare Before Updating
|
|
890
977
|
|
|
@@ -901,27 +988,39 @@ if (newState !== currentState) {
|
|
|
901
988
|
|
|
902
989
|
Whenever possible, use event-based updates (MQTT, WebSocket, webhooks) instead of polling for better performance and user experience.
|
|
903
990
|
|
|
904
|
-
### 3.
|
|
991
|
+
### 3. Don't Update the Same Attribute in Handlers
|
|
905
992
|
|
|
906
|
-
Handlers automatically update
|
|
993
|
+
Handlers automatically update their own attribute. Only manually update OTHER attributes (side effects) or for external changes (Flow B).
|
|
907
994
|
|
|
908
995
|
```typescript
|
|
909
|
-
// ❌ WRONG
|
|
996
|
+
// ❌ WRONG - Redundant update
|
|
910
997
|
handlers: {
|
|
911
998
|
onOff: {
|
|
912
999
|
on: async () => {
|
|
913
1000
|
await myDevice.turnOn()
|
|
914
|
-
api.matter.updateAccessoryState(
|
|
1001
|
+
api.matter.updateAccessoryState(uuid, api.matter.clusterNames.OnOff, { onOff: true })
|
|
1002
|
+
// Redundant! onOff is already updated automatically
|
|
915
1003
|
}
|
|
916
1004
|
}
|
|
917
1005
|
}
|
|
918
1006
|
|
|
919
|
-
// ✅ CORRECT
|
|
1007
|
+
// ✅ CORRECT - No manual update needed
|
|
920
1008
|
handlers: {
|
|
921
1009
|
onOff: {
|
|
922
1010
|
on: async () => {
|
|
923
1011
|
await myDevice.turnOn()
|
|
924
|
-
// State
|
|
1012
|
+
// State automatically updated
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
// ✅ ALSO CORRECT - Update different attribute as side effect
|
|
1018
|
+
handlers: {
|
|
1019
|
+
onOff: {
|
|
1020
|
+
on: async () => {
|
|
1021
|
+
await myDevice.turnOn()
|
|
1022
|
+
// Light resets to 100% when turned on, so update brightness too
|
|
1023
|
+
api.matter.updateAccessoryState(uuid, api.matter.clusterNames.LevelControl, { currentLevel: 254 })
|
|
925
1024
|
}
|
|
926
1025
|
}
|
|
927
1026
|
}
|
|
@@ -929,29 +1028,55 @@ handlers: {
|
|
|
929
1028
|
|
|
930
1029
|
### 4. Handle Errors Gracefully
|
|
931
1030
|
|
|
932
|
-
Always
|
|
1031
|
+
Always throw errors from handlers so the Home app can be notified of failures:
|
|
933
1032
|
|
|
934
1033
|
```typescript
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
1034
|
+
handlers: {
|
|
1035
|
+
onOff: {
|
|
1036
|
+
on: async () => {
|
|
1037
|
+
try {
|
|
1038
|
+
// Control your physical device
|
|
1039
|
+
await myDevice.turnOn()
|
|
1040
|
+
log.info('Successfully turned on device')
|
|
1041
|
+
} catch (error) {
|
|
1042
|
+
// Log the error for debugging
|
|
1043
|
+
log.error(`Failed to turn on device: ${error}`)
|
|
1044
|
+
|
|
1045
|
+
// ✅ IMPORTANT: Re-throw the error
|
|
1046
|
+
// This propagates the error to the Matter protocol, which:
|
|
1047
|
+
// 1. Notifies the Home app that the command failed
|
|
1048
|
+
// 2. Prevents state from updating incorrectly
|
|
1049
|
+
// 3. Shows an error message to the user
|
|
1050
|
+
throw error
|
|
1051
|
+
}
|
|
1052
|
+
},
|
|
1053
|
+
|
|
1054
|
+
off: async () => {
|
|
1055
|
+
try {
|
|
1056
|
+
await myDevice.turnOff()
|
|
1057
|
+
log.info('Successfully turned off device')
|
|
1058
|
+
} catch (error) {
|
|
1059
|
+
log.error(`Failed to turn off device: ${error}`)
|
|
1060
|
+
throw error // Always re-throw!
|
|
1061
|
+
}
|
|
1062
|
+
},
|
|
1063
|
+
},
|
|
940
1064
|
}
|
|
941
1065
|
```
|
|
942
1066
|
|
|
943
|
-
|
|
1067
|
+
**Why throw errors?**
|
|
944
1068
|
|
|
945
|
-
|
|
1069
|
+
Without throwing:
|
|
1070
|
+
- ❌ Home app thinks command succeeded
|
|
1071
|
+
- ❌ State updates incorrectly (shows "on" when device is actually off)
|
|
1072
|
+
- ❌ User has no feedback that something went wrong
|
|
946
1073
|
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
})
|
|
952
|
-
```
|
|
1074
|
+
With throwing:
|
|
1075
|
+
- ✅ Home app displays error to user
|
|
1076
|
+
- ✅ State remains unchanged (accurate)
|
|
1077
|
+
- ✅ User knows to try again or investigate the issue
|
|
953
1078
|
|
|
954
|
-
###
|
|
1079
|
+
### 5. Log Clearly
|
|
955
1080
|
|
|
956
1081
|
Distinguish between the two flows in your logs:
|
|
957
1082
|
|
|
@@ -960,7 +1085,7 @@ log.info('[Device] Home app → Physical device: Turning ON')
|
|
|
960
1085
|
log.info('[Device] Physical device → Home app: State changed to ON')
|
|
961
1086
|
```
|
|
962
1087
|
|
|
963
|
-
###
|
|
1088
|
+
### 6. Use Cluster Name Constants
|
|
964
1089
|
|
|
965
1090
|
Always use `api.matter.clusterNames.*` constants instead of strings:
|
|
966
1091
|
|
|
@@ -972,21 +1097,6 @@ api.matter.updateAccessoryState(uuid, api.matter.clusterNames.OnOff, {...})
|
|
|
972
1097
|
api.matter.updateAccessoryState(uuid, 'onOff', {...})
|
|
973
1098
|
```
|
|
974
1099
|
|
|
975
|
-
### 8. Store Connection Objects for Cleanup
|
|
976
|
-
|
|
977
|
-
Keep references to connections for proper cleanup when plugin stops:
|
|
978
|
-
|
|
979
|
-
```typescript
|
|
980
|
-
let mqttClient: mqtt.MqttClient
|
|
981
|
-
let wsConnection: WebSocket
|
|
982
|
-
|
|
983
|
-
// Clean up on plugin shutdown
|
|
984
|
-
context.api.on('shutdown', () => {
|
|
985
|
-
mqttClient?.end()
|
|
986
|
-
wsConnection?.close()
|
|
987
|
-
})
|
|
988
|
-
```
|
|
989
|
-
|
|
990
1100
|
---
|
|
991
1101
|
|
|
992
1102
|
## Device Reference
|
|
@@ -1009,8 +1119,8 @@ Controls the power state of the light.
|
|
|
1009
1119
|
|
|
1010
1120
|
**Attributes**:
|
|
1011
1121
|
|
|
1012
|
-
| Attribute | Type | Range/Values | Description
|
|
1013
|
-
|
|
1122
|
+
| Attribute | Type | Range/Values | Description |
|
|
1123
|
+
|-----------|---------|-----------------|----------------------------------|
|
|
1014
1124
|
| `onOff` | boolean | `true`, `false` | Power state (true=on, false=off) |
|
|
1015
1125
|
|
|
1016
1126
|
**Handlers**:
|
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.
|
|
71
|
+
- [Homebridge](https://homebridge.io): `>=2.0.0-alpha.63 <2.0.0-beta.0` - refer to link for more information and installation instructions.
|
|
72
72
|
|
|
73
73
|
### Help/About
|
|
74
74
|
|
|
@@ -3,61 +3,17 @@
|
|
|
3
3
|
*
|
|
4
4
|
* A robotic vacuum cleaner with autonomous cleaning capabilities.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
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.
|
|
6
|
+
* For comprehensive documentation, see: ../../../MATTER_API.md
|
|
9
7
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* This example demonstrates:
|
|
9
|
+
* - Complex multi-cluster device (RvcRunMode, RvcOperationalState, RvcCleanMode, ServiceArea)
|
|
10
|
+
* - External accessory publishing (required for Apple Home RVC devices)
|
|
11
|
+
* - Using api.matter.types for mode tags and operational states
|
|
12
|
+
* - Zone/room-based cleaning (Matter 1.4+ ServiceArea cluster)
|
|
13
|
+
* - Realistic state transitions with timer-based automation
|
|
12
14
|
*
|
|
13
|
-
*
|
|
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
|
-
* ```
|
|
15
|
+
* IMPORTANT: This device is published using api.matter.publishExternalAccessories() in
|
|
16
|
+
* platform.ts because RVC devices require dedicated Matter bridges for Apple Home compatibility.
|
|
52
17
|
*/
|
|
53
18
|
import type { DeviceContext } from '../types.js';
|
|
54
|
-
/**
|
|
55
|
-
* Registers a Robotic Vacuum Cleaner accessory.
|
|
56
|
-
*
|
|
57
|
-
* NOTE: This returns the accessory configuration but does NOT publish it.
|
|
58
|
-
* Publishing happens in platform.ts using api.matter.publishExternalAccessories().
|
|
59
|
-
*
|
|
60
|
-
* @param context - Device context containing API, logger, and config
|
|
61
|
-
* @returns Array of RVC accessory configurations (empty if disabled)
|
|
62
|
-
*/
|
|
63
19
|
export declare function registerRoboticVacuumCleaner(context: DeviceContext): any[];
|
|
@@ -23,45 +23,23 @@ function addVacuumTimer(uuid, timer) {
|
|
|
23
23
|
}
|
|
24
24
|
activeTimers.get(uuid).push(timer);
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Registers a Robotic Vacuum Cleaner accessory.
|
|
28
|
-
*
|
|
29
|
-
* NOTE: This returns the accessory configuration but does NOT publish it.
|
|
30
|
-
* Publishing happens in platform.ts using api.matter.publishExternalAccessories().
|
|
31
|
-
*
|
|
32
|
-
* @param context - Device context containing API, logger, and config
|
|
33
|
-
* @returns Array of RVC accessory configurations (empty if disabled)
|
|
34
|
-
*/
|
|
35
26
|
export function registerRoboticVacuumCleaner(context) {
|
|
36
27
|
const { api, log, config } = context;
|
|
37
28
|
const accessories = [];
|
|
38
29
|
if (!config.enableRobotVacuum) {
|
|
39
30
|
return accessories;
|
|
40
31
|
}
|
|
41
|
-
// Generate UUID for this accessory - will be used for external bridge identification
|
|
42
32
|
const uuid = api.matter.uuid.generate('matter-robot-vacuum');
|
|
43
33
|
accessories.push({
|
|
44
|
-
// Unique identifier for this accessory
|
|
45
|
-
// This UUID will also be used to identify the external Matter bridge
|
|
46
34
|
uuid,
|
|
47
|
-
// Display name shown in Home apps
|
|
48
35
|
displayName: 'Robot Vacuum',
|
|
49
|
-
// Matter device type - RoboticVacuumCleaner (from Matter Spec § 12.1)
|
|
50
36
|
deviceType: api.matter.deviceTypes.RoboticVacuumCleaner,
|
|
51
|
-
// Device identification
|
|
52
37
|
serialNumber: 'VACUUM-001',
|
|
53
38
|
manufacturer: 'Matter Examples',
|
|
54
39
|
model: 'RobotVacuum v1',
|
|
55
|
-
// Matter clusters define the functionality of this device
|
|
56
|
-
// RVC devices require these three clusters: rvcRunMode, rvcOperationalState, rvcCleanMode
|
|
57
|
-
// Optional clusters: serviceArea (Matter 1.4+)
|
|
58
40
|
clusters: {
|
|
59
|
-
//
|
|
60
|
-
// RVC Run Mode Cluster (0x0054) - Defines operational modes
|
|
61
|
-
// ════════════════════════════════════════════════════════════════════════════
|
|
41
|
+
// RVC Run Mode Cluster - Defines operational modes (Idle, Cleaning, Mapping, etc.)
|
|
62
42
|
rvcRunMode: {
|
|
63
|
-
// Supported run modes with enhanced mode tags for better controller compatibility
|
|
64
|
-
// Mode tags help controllers understand the purpose and behavior of each mode
|
|
65
43
|
supportedModes: [
|
|
66
44
|
{
|
|
67
45
|
label: 'Idle',
|
|
@@ -94,16 +72,10 @@ export function registerRoboticVacuumCleaner(context) {
|
|
|
94
72
|
],
|
|
95
73
|
},
|
|
96
74
|
],
|
|
97
|
-
|
|
98
|
-
currentMode: 0, // Start in Idle mode
|
|
75
|
+
currentMode: 0, // Idle
|
|
99
76
|
},
|
|
100
|
-
//
|
|
101
|
-
// RVC Operational State Cluster (0x0061) - Tracks current activity
|
|
102
|
-
// ════════════════════════════════════════════════════════════════════════════
|
|
77
|
+
// RVC Operational State Cluster - Tracks current activity (Stopped, Running, Paused, etc.)
|
|
103
78
|
rvcOperationalState: {
|
|
104
|
-
// List of all possible operational states with descriptive labels
|
|
105
|
-
// Labels help with debugging and may be displayed in some controllers
|
|
106
|
-
// Must include at least an error state (ID 3) per Matter spec
|
|
107
79
|
operationalStateList: [
|
|
108
80
|
{
|
|
109
81
|
operationalStateId: api.matter.types.RvcOperationalState.OperationalState.Stopped,
|
|
@@ -120,7 +92,7 @@ export function registerRoboticVacuumCleaner(context) {
|
|
|
120
92
|
{
|
|
121
93
|
operationalStateId: api.matter.types.RvcOperationalState.OperationalState.Error,
|
|
122
94
|
operationalStateLabel: 'Error',
|
|
123
|
-
},
|
|
95
|
+
},
|
|
124
96
|
{
|
|
125
97
|
operationalStateId: api.matter.types.RvcOperationalState.OperationalState.SeekingCharger,
|
|
126
98
|
operationalStateLabel: 'Seeking Charger',
|
|
@@ -134,20 +106,14 @@ export function registerRoboticVacuumCleaner(context) {
|
|
|
134
106
|
operationalStateLabel: 'Docked',
|
|
135
107
|
},
|
|
136
108
|
],
|
|
137
|
-
|
|
138
|
-
operationalState: api.matter.types.RvcOperationalState.OperationalState.Docked, // Start in Docked state
|
|
139
|
-
// Error state - indicates if device has an error
|
|
109
|
+
operationalState: api.matter.types.RvcOperationalState.OperationalState.Docked,
|
|
140
110
|
operationalError: {
|
|
141
|
-
errorStateId: api.matter.types.OperationalState.ErrorState.NoError,
|
|
142
|
-
errorStateLabel: '',
|
|
111
|
+
errorStateId: api.matter.types.OperationalState.ErrorState.NoError,
|
|
112
|
+
errorStateLabel: '',
|
|
143
113
|
},
|
|
144
114
|
},
|
|
145
|
-
//
|
|
146
|
-
// RVC Clean Mode Cluster (0x0055) - Defines cleaning method
|
|
147
|
-
// ════════════════════════════════════════════════════════════════════════════
|
|
115
|
+
// RVC Clean Mode Cluster - Defines cleaning method (Vacuum, Mop, etc.)
|
|
148
116
|
rvcCleanMode: {
|
|
149
|
-
// Supported clean modes with appropriate tags
|
|
150
|
-
// You can add more modes like Quiet, Turbo, Deep Clean, etc.
|
|
151
117
|
supportedModes: [
|
|
152
118
|
{
|
|
153
119
|
label: 'Vacuum',
|
|
@@ -168,36 +134,20 @@ export function registerRoboticVacuumCleaner(context) {
|
|
|
168
134
|
mode: 2,
|
|
169
135
|
modeTags: [
|
|
170
136
|
{ value: api.matter.types.RvcCleanMode.ModeTag.Vacuum },
|
|
171
|
-
{ value: api.matter.types.RvcCleanMode.ModeTag.Mop },
|
|
137
|
+
{ value: api.matter.types.RvcCleanMode.ModeTag.Mop },
|
|
172
138
|
],
|
|
173
139
|
},
|
|
174
140
|
],
|
|
175
|
-
|
|
176
|
-
currentMode: 0, // Start with Vacuum mode
|
|
141
|
+
currentMode: 0, // Vacuum
|
|
177
142
|
},
|
|
178
|
-
// ════════════════════════════════════════════════════════════════════════════
|
|
179
143
|
// Service Area Cluster (Matter 1.4+) - Zone/Room-based cleaning
|
|
180
|
-
// ════════════════════════════════════════════════════════════════════════════
|
|
181
|
-
//
|
|
182
|
-
// The Service Area cluster enables room/zone-specific cleaning, which is a key
|
|
183
|
-
// feature introduced in Matter 1.4. This allows users to:
|
|
184
|
-
// - Select specific rooms to clean from their Home app (iOS 18.4+)
|
|
185
|
-
// - Track which room is currently being cleaned
|
|
186
|
-
// - Define multiple cleaning zones/maps
|
|
187
|
-
//
|
|
188
|
-
// IMPORTANT: This cluster is OPTIONAL but highly recommended for modern RVC devices.
|
|
189
|
-
// Controllers that don't support it will simply not show room selection options.
|
|
190
144
|
serviceArea: {
|
|
191
|
-
// Define available floor plan maps
|
|
192
|
-
// Even if you only have one floor plan, you must define at least one map
|
|
193
145
|
supportedMaps: [
|
|
194
146
|
{
|
|
195
|
-
mapId: 0,
|
|
196
|
-
name: 'Main Floor',
|
|
147
|
+
mapId: 0,
|
|
148
|
+
name: 'Main Floor',
|
|
197
149
|
},
|
|
198
150
|
],
|
|
199
|
-
// Define the rooms/areas available for cleaning
|
|
200
|
-
// Each area has metadata like name, floor number, and area type tags
|
|
201
151
|
supportedAreas: [
|
|
202
152
|
{
|
|
203
153
|
areaId: 0, // Unique ID for this area
|
|
@@ -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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"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Color Temperature Light Device (Matter Spec § 4.3)
|
|
3
3
|
*
|
|
4
|
-
* A lighting device with color temperature control.
|
|
4
|
+
* A lighting device with on/off, brightness, and color temperature control.
|
|
5
|
+
*
|
|
6
|
+
* For comprehensive documentation, see: ../../../MATTER_API.md
|
|
7
|
+
*
|
|
8
|
+
* This example demonstrates:
|
|
9
|
+
* - Multiple clusters (OnOff + LevelControl + ColorControl)
|
|
10
|
+
* - Color temperature conversion (mireds ↔ Kelvin)
|
|
11
|
+
* - Type-safe handlers with MatterRequests
|
|
5
12
|
*/
|
|
6
13
|
import type { DeviceContext } from '../types.js';
|
|
7
14
|
export declare function registerColorTemperatureLight(context: DeviceContext): any[];
|