@homebridge-plugins/homebridge-matter 0.0.1 → 0.0.2
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 +13 -0
- package/README.md +32 -0
- package/dist/exampleStateManagement.d.ts +42 -0
- package/dist/exampleStateManagement.js +236 -0
- package/dist/exampleStateManagement.js.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/platform.js +76 -22
- package/dist/platform.js.map +1 -1
- package/dist/settings.js.map +1 -1
- package/package.json +6 -8
- package/.idea/copilot.data.migration.agent.xml +0 -6
- package/.idea/copilot.data.migration.ask.xml +0 -6
- package/.idea/copilot.data.migration.ask2agent.xml +0 -6
- package/.idea/copilot.data.migration.edit.xml +0 -6
- package/.idea/dictionaries/benpotter.xml +0 -3
- package/.idea/homebridge-matter.iml +0 -8
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to `@homebridge-plugins/homebridge-matter` will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## v0.0.2 (2025-10-15)
|
|
6
|
+
|
|
7
|
+
### Changes
|
|
8
|
+
|
|
9
|
+
- added simple examples for getting/updating device state
|
|
10
|
+
|
|
11
|
+
## v0.0.1 (2025-10-03)
|
|
12
|
+
|
|
13
|
+
- Initial release
|
package/README.md
CHANGED
|
@@ -135,6 +135,38 @@ You can now start customising the plugin template to suit your requirements.
|
|
|
135
135
|
- [`src/platformAccessory.ts`](./src/platformAccessory.ts) - this is where your accessory control logic should go, you can rename or create multiple instances of this file for each accessory type you need to implement as part of your platform plugin. You can refer to the [developer documentation](https://developers.homebridge.io/) to see what characteristics you need to implement for each service type.
|
|
136
136
|
- [`config.schema.json`](./config.schema.json) - update the config schema to match the config you expect from the user. See the [Plugin Config Schema Documentation](https://developers.homebridge.io/#/config-schema).
|
|
137
137
|
|
|
138
|
+
### Matter State Management Guide
|
|
139
|
+
|
|
140
|
+
**Important for Matter plugin developers:** Understanding how to manage accessory state is critical when working with Matter.
|
|
141
|
+
|
|
142
|
+
📖 **[Read the State Management Guide](./STATE_MANAGEMENT.md)** to learn:
|
|
143
|
+
|
|
144
|
+
- **Handlers** (Home app → Device) - How to respond when users control devices via Home app
|
|
145
|
+
- **State Updates** (Device → Home app) - How to sync state when devices change externally (native app, physical buttons, webhooks, etc.)
|
|
146
|
+
- Complete working examples for outlets, lights, and sensors
|
|
147
|
+
- Differences between Matter and HAP (HomeKit Accessory Protocol) patterns
|
|
148
|
+
|
|
149
|
+
**Quick Overview:**
|
|
150
|
+
|
|
151
|
+
```typescript
|
|
152
|
+
handlers: {
|
|
153
|
+
onOff: {
|
|
154
|
+
on: async () => {
|
|
155
|
+
await yourDeviceAPI.turnOn()
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Pattern 2: Device changes externally → Update Home app
|
|
161
|
+
function handleExternalChange(newState: boolean) {
|
|
162
|
+
this.api.updateMatterAccessoryState('device-uuid', 'onOff', {
|
|
163
|
+
onOff: newState,
|
|
164
|
+
})
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
See [`STATE_MANAGEMENT.md`](./STATE_MANAGEMENT.md) for complete details and examples.
|
|
169
|
+
|
|
138
170
|
### Versioning Your Plugin
|
|
139
171
|
|
|
140
172
|
Given a version number `MAJOR`.`MINOR`.`PATCH`, such as `1.4.3`, increment the:
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { API, Logging } from 'homebridge';
|
|
2
|
+
/**
|
|
3
|
+
* State Management Examples for Matter Accessories
|
|
4
|
+
*
|
|
5
|
+
* This demonstrates the two key patterns for managing accessory state:
|
|
6
|
+
*
|
|
7
|
+
* 1. HANDLERS (Matter → Device)
|
|
8
|
+
* - Called when user controls device via Home app
|
|
9
|
+
* - Plugin sends command to actual device (cloud API, local network, etc.)
|
|
10
|
+
* - Analogous to HAP's setCharacteristic handlers
|
|
11
|
+
*
|
|
12
|
+
* 2. STATE UPDATES (Device → Matter)
|
|
13
|
+
* - Called when device state changes externally (native app, physical button, polling, etc.)
|
|
14
|
+
* - Plugin updates Matter state to reflect actual device state
|
|
15
|
+
* - Analogous to HAP's updateCharacteristic
|
|
16
|
+
*/
|
|
17
|
+
export declare class StateManagementExample {
|
|
18
|
+
private readonly log;
|
|
19
|
+
private readonly api;
|
|
20
|
+
constructor(log: Logging, api: API);
|
|
21
|
+
/**
|
|
22
|
+
* Example 1: Smart Outlet with Two-Way Communication
|
|
23
|
+
*
|
|
24
|
+
* Demonstrates:
|
|
25
|
+
* - Handler: User turns on outlet via Home app → control actual device
|
|
26
|
+
* - State Update: Outlet turned on via native app → update Home app state
|
|
27
|
+
*/
|
|
28
|
+
registerSmartOutletExample(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Example 2: Dimmable Light with Brightness
|
|
31
|
+
*
|
|
32
|
+
* Shows how to handle multiple cluster attributes
|
|
33
|
+
*/
|
|
34
|
+
registerDimmableLightExample(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Example 3: Temperature Sensor (Read-Only)
|
|
37
|
+
*
|
|
38
|
+
* Sensors don't have handlers (no user commands)
|
|
39
|
+
* Only need state updates when sensor readings change
|
|
40
|
+
*/
|
|
41
|
+
registerTemperatureSensorExample(): void;
|
|
42
|
+
}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Management Examples for Matter Accessories
|
|
3
|
+
*
|
|
4
|
+
* This demonstrates the two key patterns for managing accessory state:
|
|
5
|
+
*
|
|
6
|
+
* 1. HANDLERS (Matter → Device)
|
|
7
|
+
* - Called when user controls device via Home app
|
|
8
|
+
* - Plugin sends command to actual device (cloud API, local network, etc.)
|
|
9
|
+
* - Analogous to HAP's setCharacteristic handlers
|
|
10
|
+
*
|
|
11
|
+
* 2. STATE UPDATES (Device → Matter)
|
|
12
|
+
* - Called when device state changes externally (native app, physical button, polling, etc.)
|
|
13
|
+
* - Plugin updates Matter state to reflect actual device state
|
|
14
|
+
* - Analogous to HAP's updateCharacteristic
|
|
15
|
+
*/
|
|
16
|
+
export class StateManagementExample {
|
|
17
|
+
log;
|
|
18
|
+
api;
|
|
19
|
+
constructor(log, api) {
|
|
20
|
+
this.log = log;
|
|
21
|
+
this.api = api;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Example 1: Smart Outlet with Two-Way Communication
|
|
25
|
+
*
|
|
26
|
+
* Demonstrates:
|
|
27
|
+
* - Handler: User turns on outlet via Home app → control actual device
|
|
28
|
+
* - State Update: Outlet turned on via native app → update Home app state
|
|
29
|
+
*/
|
|
30
|
+
registerSmartOutletExample() {
|
|
31
|
+
// Simulated device state (in real plugin, this would be your device API/SDK)
|
|
32
|
+
let deviceIsOn = false;
|
|
33
|
+
// Function to control the actual device (cloud API, local network, etc.)
|
|
34
|
+
const controlDevice = async (turnOn) => {
|
|
35
|
+
this.log.info(`[Device Control] Sending command to turn outlet ${turnOn ? 'ON' : 'OFF'}`);
|
|
36
|
+
// Example: Call your device API
|
|
37
|
+
// await yourDeviceAPI.setOutletState(turnOn)
|
|
38
|
+
// Simulate device response
|
|
39
|
+
deviceIsOn = turnOn;
|
|
40
|
+
this.log.info(`[Device Control] ✓ Outlet is now ${turnOn ? 'ON' : 'OFF'}`);
|
|
41
|
+
};
|
|
42
|
+
// Register the Matter accessory
|
|
43
|
+
this.api.registerMatterAccessory({
|
|
44
|
+
uuid: 'example-outlet-state-management',
|
|
45
|
+
displayName: 'Example Smart Outlet',
|
|
46
|
+
deviceType: this.api.matterDeviceTypes.OnOffOutlet,
|
|
47
|
+
serialNumber: 'OUTLET-STATE-001',
|
|
48
|
+
manufacturer: 'State Management Examples',
|
|
49
|
+
model: 'SmartOutlet v1',
|
|
50
|
+
clusters: {
|
|
51
|
+
onOff: {
|
|
52
|
+
onOff: deviceIsOn, // Initial state
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
// ===== PATTERN 1: HANDLERS (Matter → Device) =====
|
|
56
|
+
// These are called when user controls device via Home app
|
|
57
|
+
// Similar to HAP's characteristic.on('set', handler)
|
|
58
|
+
handlers: {
|
|
59
|
+
onOff: {
|
|
60
|
+
on: async () => {
|
|
61
|
+
this.log.info('[HANDLER] User turned ON outlet via Home app');
|
|
62
|
+
// Control the actual device
|
|
63
|
+
await controlDevice(true);
|
|
64
|
+
// State is automatically updated in Matter after handler completes
|
|
65
|
+
// No need to call updateMatterAccessoryState here!
|
|
66
|
+
},
|
|
67
|
+
off: async () => {
|
|
68
|
+
this.log.info('[HANDLER] User turned OFF outlet via Home app');
|
|
69
|
+
// Control the actual device
|
|
70
|
+
await controlDevice(false);
|
|
71
|
+
// State is automatically updated in Matter after handler completes
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
// ===== PATTERN 2: STATE UPDATES (Device → Matter) =====
|
|
77
|
+
// Call this when device state changes externally
|
|
78
|
+
// Similar to HAP's characteristic.updateValue()
|
|
79
|
+
// Example: Device state changed via native mobile app
|
|
80
|
+
const handleNativeAppChange = (newState) => {
|
|
81
|
+
this.log.info(`[EXTERNAL] Outlet turned ${newState ? 'ON' : 'OFF'} via native app`);
|
|
82
|
+
// Update local state
|
|
83
|
+
deviceIsOn = newState;
|
|
84
|
+
// Update Matter state WITHOUT triggering handlers
|
|
85
|
+
// This is like HAP's updateCharacteristic - it just syncs the state
|
|
86
|
+
this.api.updateMatterAccessoryState('example-outlet-state-management', 'onOff', { onOff: newState });
|
|
87
|
+
this.log.info('[EXTERNAL] ✓ Home app state updated to match device');
|
|
88
|
+
};
|
|
89
|
+
// Example: Device state changed via physical button
|
|
90
|
+
const handlePhysicalButton = (newState) => {
|
|
91
|
+
this.log.info(`[EXTERNAL] Outlet turned ${newState ? 'ON' : 'OFF'} via physical button`);
|
|
92
|
+
deviceIsOn = newState;
|
|
93
|
+
// Update Matter state without triggering handlers
|
|
94
|
+
this.api.updateMatterAccessoryState('example-outlet-state-management', 'onOff', { onOff: newState });
|
|
95
|
+
};
|
|
96
|
+
// Example: Polling device state periodically
|
|
97
|
+
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
98
|
+
const pollDeviceState = async () => {
|
|
99
|
+
// In real plugin, fetch state from device API
|
|
100
|
+
// const actualState = await yourDeviceAPI.getOutletState()
|
|
101
|
+
// For demo, simulate random state changes
|
|
102
|
+
const actualState = Math.random() > 0.5;
|
|
103
|
+
if (actualState !== deviceIsOn) {
|
|
104
|
+
this.log.info(`[POLLING] Detected state change: ${actualState ? 'ON' : 'OFF'}`);
|
|
105
|
+
deviceIsOn = actualState;
|
|
106
|
+
// Update Matter state without triggering handlers
|
|
107
|
+
this.api.updateMatterAccessoryState('example-outlet-state-management', 'onOff', { onOff: actualState });
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
// Simulate external state changes for demonstration
|
|
111
|
+
// In real plugin, these would be triggered by:
|
|
112
|
+
// - WebSocket/SSE from cloud API
|
|
113
|
+
// - Physical button press events
|
|
114
|
+
// - Polling interval
|
|
115
|
+
// - Push notifications
|
|
116
|
+
// Demo: Native app changes after 10 seconds
|
|
117
|
+
setTimeout(() => handleNativeAppChange(true), 10000);
|
|
118
|
+
// Demo: Physical button press after 20 seconds
|
|
119
|
+
setTimeout(() => handlePhysicalButton(false), 20000);
|
|
120
|
+
// Demo: Poll every 30 seconds (optional - use events/webhooks when possible)
|
|
121
|
+
// setInterval(pollDeviceState, 30000);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Example 2: Dimmable Light with Brightness
|
|
125
|
+
*
|
|
126
|
+
* Shows how to handle multiple cluster attributes
|
|
127
|
+
*/
|
|
128
|
+
registerDimmableLightExample() {
|
|
129
|
+
let deviceIsOn = false;
|
|
130
|
+
let deviceBrightness = 127; // 0-254 scale
|
|
131
|
+
// Device control function
|
|
132
|
+
const controlDevice = async (on, brightness) => {
|
|
133
|
+
if (on !== undefined) {
|
|
134
|
+
deviceIsOn = on;
|
|
135
|
+
this.log.info(`[Device] Light turned ${on ? 'ON' : 'OFF'}`);
|
|
136
|
+
}
|
|
137
|
+
if (brightness !== undefined) {
|
|
138
|
+
deviceBrightness = brightness;
|
|
139
|
+
this.log.info(`[Device] Brightness set to ${Math.round(brightness / 254 * 100)}%`);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
this.api.registerMatterAccessory({
|
|
143
|
+
uuid: 'example-dimmable-light-state',
|
|
144
|
+
displayName: 'Example Dimmable Light',
|
|
145
|
+
deviceType: this.api.matterDeviceTypes.DimmableLight,
|
|
146
|
+
serialNumber: 'LIGHT-STATE-001',
|
|
147
|
+
manufacturer: 'State Management Examples',
|
|
148
|
+
model: 'DimmableLight v1',
|
|
149
|
+
clusters: {
|
|
150
|
+
onOff: {
|
|
151
|
+
onOff: deviceIsOn,
|
|
152
|
+
},
|
|
153
|
+
levelControl: {
|
|
154
|
+
currentLevel: deviceBrightness,
|
|
155
|
+
minLevel: 1,
|
|
156
|
+
maxLevel: 254,
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
handlers: {
|
|
160
|
+
onOff: {
|
|
161
|
+
on: async () => {
|
|
162
|
+
await controlDevice(true);
|
|
163
|
+
},
|
|
164
|
+
off: async () => {
|
|
165
|
+
await controlDevice(false);
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
levelControl: {
|
|
169
|
+
moveToLevel: async (args) => {
|
|
170
|
+
this.log.info(`[HANDLER] User set brightness to ${args.level} via Home app`);
|
|
171
|
+
await controlDevice(undefined, args.level);
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
// Example: Device brightness changed via native app
|
|
177
|
+
const handleBrightnessChange = (newBrightness) => {
|
|
178
|
+
this.log.info(`[EXTERNAL] Brightness changed to ${Math.round(newBrightness / 254 * 100)}% via native app`);
|
|
179
|
+
deviceBrightness = newBrightness;
|
|
180
|
+
// Update only the brightness attribute
|
|
181
|
+
this.api.updateMatterAccessoryState('example-dimmable-light-state', 'levelControl', { currentLevel: newBrightness });
|
|
182
|
+
};
|
|
183
|
+
// Example: Both on/off and brightness changed together
|
|
184
|
+
const handleCompleteStateChange = (on, brightness) => {
|
|
185
|
+
this.log.info(`[EXTERNAL] Complete state change: ${on ? 'ON' : 'OFF'} at ${Math.round(brightness / 254 * 100)}%`);
|
|
186
|
+
deviceIsOn = on;
|
|
187
|
+
deviceBrightness = brightness;
|
|
188
|
+
// Update multiple clusters
|
|
189
|
+
this.api.updateMatterAccessoryState('example-dimmable-light-state', 'onOff', { onOff: on });
|
|
190
|
+
this.api.updateMatterAccessoryState('example-dimmable-light-state', 'levelControl', { currentLevel: brightness });
|
|
191
|
+
};
|
|
192
|
+
// Demo: Brightness change after 15 seconds
|
|
193
|
+
setTimeout(() => handleBrightnessChange(200), 15000);
|
|
194
|
+
// Demo: Complete state change after 25 seconds
|
|
195
|
+
setTimeout(() => handleCompleteStateChange(true, 100), 25000);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Example 3: Temperature Sensor (Read-Only)
|
|
199
|
+
*
|
|
200
|
+
* Sensors don't have handlers (no user commands)
|
|
201
|
+
* Only need state updates when sensor readings change
|
|
202
|
+
*/
|
|
203
|
+
registerTemperatureSensorExample() {
|
|
204
|
+
let currentTemp = 2100; // 21.00°C in hundredths
|
|
205
|
+
this.api.registerMatterAccessory({
|
|
206
|
+
uuid: 'example-temp-sensor-state',
|
|
207
|
+
displayName: 'Example Temperature Sensor',
|
|
208
|
+
deviceType: this.api.matterDeviceTypes.TemperatureSensor,
|
|
209
|
+
serialNumber: 'TEMP-STATE-001',
|
|
210
|
+
manufacturer: 'State Management Examples',
|
|
211
|
+
model: 'TempSensor v1',
|
|
212
|
+
clusters: {
|
|
213
|
+
temperatureMeasurement: {
|
|
214
|
+
measuredValue: currentTemp,
|
|
215
|
+
minMeasuredValue: -5000,
|
|
216
|
+
maxMeasuredValue: 10000,
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
// No handlers needed - sensors are read-only!
|
|
220
|
+
});
|
|
221
|
+
// Poll sensor reading every 60 seconds
|
|
222
|
+
const updateTemperature = () => {
|
|
223
|
+
// In real plugin: const temp = await yourSensorAPI.getTemperature()
|
|
224
|
+
// Simulate temperature change
|
|
225
|
+
currentTemp = 2100 + Math.floor(Math.random() * 500 - 250); // 21°C ± 2.5°C
|
|
226
|
+
this.log.info(`[SENSOR] Temperature updated: ${(currentTemp / 100).toFixed(2)}°C`);
|
|
227
|
+
// Update Matter state
|
|
228
|
+
this.api.updateMatterAccessoryState('example-temp-sensor-state', 'temperatureMeasurement', { measuredValue: currentTemp });
|
|
229
|
+
};
|
|
230
|
+
// Update temperature every minute
|
|
231
|
+
setInterval(updateTemperature, 60000);
|
|
232
|
+
// Initial update after 5 seconds
|
|
233
|
+
setTimeout(updateTemperature, 5000);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=exampleStateManagement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exampleStateManagement.js","sourceRoot":"","sources":["../src/exampleStateManagement.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE1D;;GAEG;AACH,eAAe,CAAC,GAAQ,EAAE,EAAE;IAC1B,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAA;AAC7E,CAAC,CAAA"}
|
package/dist/platform.js
CHANGED
|
@@ -50,7 +50,14 @@ export class ExampleHomebridgePlatform {
|
|
|
50
50
|
* Lighting Devices
|
|
51
51
|
*/
|
|
52
52
|
registerLightingDevices() {
|
|
53
|
-
//
|
|
53
|
+
// Track state for both lights
|
|
54
|
+
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
55
|
+
let onOffLightState = false;
|
|
56
|
+
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
57
|
+
let dimmableLightOn = false;
|
|
58
|
+
let dimmableBrightness = 127; // 50% brightness (1-254 scale)
|
|
59
|
+
// 1. On/Off Light - WITH STATE MANAGEMENT EXAMPLE
|
|
60
|
+
// When this light changes, it will update the dimmable light's state
|
|
54
61
|
this.api.registerMatterAccessory({
|
|
55
62
|
uuid: 'matter-onoff-light',
|
|
56
63
|
displayName: 'On/Off Light',
|
|
@@ -58,23 +65,66 @@ export class ExampleHomebridgePlatform {
|
|
|
58
65
|
serialNumber: 'LIGHT-001',
|
|
59
66
|
manufacturer: 'Matter Examples',
|
|
60
67
|
model: 'OnOffLight v1',
|
|
61
|
-
clusters: {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
},
|
|
68
|
+
clusters: {},
|
|
69
|
+
// clusters: {
|
|
70
|
+
// onOff: {
|
|
71
|
+
// onOff: onOffLightState,
|
|
72
|
+
// },
|
|
73
|
+
// },
|
|
74
|
+
// PATTERN 1: Handlers (Home app → Device)
|
|
75
|
+
// These execute when user controls via Home app
|
|
66
76
|
handlers: {
|
|
67
77
|
onOff: {
|
|
68
78
|
on: async () => {
|
|
69
|
-
this.log.info('[On/Off Light] Turned ON');
|
|
79
|
+
this.log.info('[On/Off Light] ✓ Turned ON via Home app handler');
|
|
80
|
+
// Update local state
|
|
81
|
+
onOffLightState = true;
|
|
82
|
+
// NOTE: This light's state automatically updates after handler completes!
|
|
83
|
+
// ═══════════════════════════════════════════════════════════════
|
|
84
|
+
// PATTERN 3: Reading Current State (api.getAccessoryState)
|
|
85
|
+
// ═══════════════════════════════════════════════════════════════
|
|
86
|
+
// You can read current state using the API (useful after plugin restarts)
|
|
87
|
+
const onOffState = this.api.getAccessoryState('matter-dimmable-light', 'onOff');
|
|
88
|
+
const levelState = this.api.getAccessoryState('matter-dimmable-light', 'levelControl');
|
|
89
|
+
this.log.error(`[On/Off Light] 📖 Reading Dimmable Light on/off via API: ${onOffState?.onOff ? 'ON' : 'OFF'}`);
|
|
90
|
+
this.log.error(`[On/Off Light] 📖 Reading Dimmable Light brightness via API: ${levelState?.currentLevel} (${Math.round((levelState?.currentLevel || 0) / 254 * 100)}%)`);
|
|
91
|
+
// Note: You can also track state in local variables (same as HAP pattern)
|
|
92
|
+
this.log.error(`[On/Off Light] 📖 Reading from local variable: ${dimmableBrightness} (${Math.round(dimmableBrightness / 254 * 100)}%)`);
|
|
93
|
+
// ═══════════════════════════════════════════════════════════════
|
|
94
|
+
// PATTERN 2 DEMONSTRATION: Update Dimmable Light WITHOUT handler
|
|
95
|
+
// ═══════════════════════════════════════════════════════════════
|
|
96
|
+
// Simulating: Dimmable light state changed externally (like via native app)
|
|
97
|
+
// This will update the Home app WITHOUT triggering the dimmable light's handler
|
|
98
|
+
// Note: Homebridge automatically defers the update to avoid transaction conflicts
|
|
99
|
+
this.log.info('[On/Off Light] → Updating Dimmable Light state using updateMatterAccessoryState (no handler!)');
|
|
100
|
+
dimmableLightOn = true;
|
|
101
|
+
this.api.updateMatterAccessoryState('matter-dimmable-light', 'onOff', {
|
|
102
|
+
onOff: true,
|
|
103
|
+
});
|
|
104
|
+
this.log.info('[On/Off Light] ✓ Dimmable Light state updated (handler was NOT called)');
|
|
70
105
|
},
|
|
71
106
|
off: async () => {
|
|
72
|
-
this.log.info('[On/Off Light] Turned OFF');
|
|
107
|
+
this.log.info('[On/Off Light] ✓ Turned OFF via Home app handler');
|
|
108
|
+
// Update local state
|
|
109
|
+
onOffLightState = false;
|
|
110
|
+
// Reading current state using the API
|
|
111
|
+
const onOffState = this.api.getAccessoryState('matter-dimmable-light', 'onOff');
|
|
112
|
+
const levelState = this.api.getAccessoryState('matter-dimmable-light', 'levelControl');
|
|
113
|
+
this.log.error(`[On/Off Light] 📖 Reading Dimmable Light on/off via API: ${onOffState?.onOff ? 'ON' : 'OFF'}`);
|
|
114
|
+
this.log.error(`[On/Off Light] 📖 Reading Dimmable Light brightness via API: ${levelState?.currentLevel} (${Math.round((levelState?.currentLevel || 0) / 254 * 100)}%)`);
|
|
115
|
+
// Update Dimmable Light WITHOUT triggering its handler
|
|
116
|
+
this.log.info('[On/Off Light] → Updating Dimmable Light state using updateMatterAccessoryState (no handler!)');
|
|
117
|
+
dimmableLightOn = false;
|
|
118
|
+
this.api.updateMatterAccessoryState('matter-dimmable-light', 'onOff', {
|
|
119
|
+
onOff: false,
|
|
120
|
+
});
|
|
121
|
+
this.log.info('[On/Off Light] ✓ Dimmable Light state updated (handler was NOT called)');
|
|
73
122
|
},
|
|
74
123
|
},
|
|
75
124
|
},
|
|
76
125
|
});
|
|
77
|
-
// 2. Dimmable Light
|
|
126
|
+
// 2. Dimmable Light - Will be updated by On/Off Light
|
|
127
|
+
// This demonstrates receiving state updates WITHOUT handler execution
|
|
78
128
|
this.api.registerMatterAccessory({
|
|
79
129
|
uuid: 'matter-dimmable-light',
|
|
80
130
|
displayName: 'Dimmable Light',
|
|
@@ -82,28 +132,32 @@ export class ExampleHomebridgePlatform {
|
|
|
82
132
|
serialNumber: 'LIGHT-002',
|
|
83
133
|
manufacturer: 'Matter Examples',
|
|
84
134
|
model: 'DimmableLight v1',
|
|
85
|
-
clusters: {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
},
|
|
135
|
+
clusters: {},
|
|
136
|
+
// onOff: {
|
|
137
|
+
// onOff: dimmableLightOn,
|
|
138
|
+
// },
|
|
139
|
+
// levelControl: {
|
|
140
|
+
// currentLevel: dimmableBrightness,
|
|
141
|
+
// minLevel: 1,
|
|
142
|
+
// maxLevel: 254,
|
|
143
|
+
// },
|
|
144
|
+
// },
|
|
145
|
+
// These handlers will NOT be called when On/Off Light updates this accessory's state
|
|
95
146
|
handlers: {
|
|
96
147
|
onOff: {
|
|
97
148
|
on: async () => {
|
|
98
|
-
this.log.info('[Dimmable Light]
|
|
149
|
+
this.log.info('[Dimmable Light] ✓ Handler ON called (user controlled via Home app)');
|
|
150
|
+
dimmableLightOn = true;
|
|
99
151
|
},
|
|
100
152
|
off: async () => {
|
|
101
|
-
this.log.info('[Dimmable Light]
|
|
153
|
+
this.log.info('[Dimmable Light] ✓ Handler OFF called (user controlled via Home app)');
|
|
154
|
+
dimmableLightOn = false;
|
|
102
155
|
},
|
|
103
156
|
},
|
|
104
157
|
levelControl: {
|
|
105
158
|
moveToLevel: async (args) => {
|
|
106
|
-
this.log.info(`[Dimmable Light]
|
|
159
|
+
this.log.info(`[Dimmable Light] ✓ Handler moveToLevel called with ${args.level} (${Math.round(args.level / 254 * 100)}%)`);
|
|
160
|
+
dimmableBrightness = args.level;
|
|
107
161
|
},
|
|
108
162
|
},
|
|
109
163
|
},
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAA;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,uCAAuC,CAAA"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@homebridge-plugins/homebridge-matter",
|
|
3
3
|
"displayName": "Homebridge Matter",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.2",
|
|
6
6
|
"description": "A short description about what your plugin does.",
|
|
7
7
|
"author": "Your Name",
|
|
8
8
|
"license": "Apache-2.0",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "rimraf ./dist && tsc",
|
|
27
|
-
"lint": "eslint . --
|
|
27
|
+
"lint": "eslint . --fix",
|
|
28
28
|
"prepublishOnly": "npm run lint && npm run build",
|
|
29
29
|
"watch": "npm run build && npm link && nodemon"
|
|
30
30
|
},
|
|
@@ -32,14 +32,12 @@
|
|
|
32
32
|
"homebridge-lib": "^7.1.9"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@eslint
|
|
36
|
-
"@types/node": "^24.7.
|
|
37
|
-
"
|
|
38
|
-
"homebridge": "2.0.0-alpha.43",
|
|
35
|
+
"@antfu/eslint-config": "^5.4.1",
|
|
36
|
+
"@types/node": "^24.7.2",
|
|
37
|
+
"homebridge": "2.0.0-alpha.46",
|
|
39
38
|
"nodemon": "^3.1.10",
|
|
40
39
|
"rimraf": "^6.0.1",
|
|
41
40
|
"ts-node": "^10.9.2",
|
|
42
|
-
"typescript": "^5.9.3"
|
|
43
|
-
"typescript-eslint": "^8.46.0"
|
|
41
|
+
"typescript": "^5.9.3"
|
|
44
42
|
}
|
|
45
43
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="WEB_MODULE" version="4">
|
|
3
|
-
<component name="NewModuleRootManager">
|
|
4
|
-
<content url="file://$MODULE_DIR$" />
|
|
5
|
-
<orderEntry type="inheritedJdk" />
|
|
6
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
7
|
-
</component>
|
|
8
|
-
</module>
|
package/.idea/modules.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/homebridge-matter.iml" filepath="$PROJECT_DIR$/.idea/homebridge-matter.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|