homebridge 2.0.0-alpha.6 → 2.0.0-alpha.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +1 -1
  2. package/bin/homebridge.js +22 -0
  3. package/dist/api.d.ts +235 -3
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/api.js +91 -0
  6. package/dist/api.js.map +1 -1
  7. package/dist/bridgeService.d.ts +11 -3
  8. package/dist/bridgeService.d.ts.map +1 -1
  9. package/dist/bridgeService.js +9 -5
  10. package/dist/bridgeService.js.map +1 -1
  11. package/dist/childBridgeFork.d.ts +30 -3
  12. package/dist/childBridgeFork.d.ts.map +1 -1
  13. package/dist/childBridgeFork.js +278 -5
  14. package/dist/childBridgeFork.js.map +1 -1
  15. package/dist/childBridgeService.d.ts +22 -0
  16. package/dist/childBridgeService.d.ts.map +1 -1
  17. package/dist/childBridgeService.js +85 -26
  18. package/dist/childBridgeService.js.map +1 -1
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +3 -2
  21. package/dist/cli.js.map +1 -1
  22. package/dist/externalPortService.d.ts +27 -6
  23. package/dist/externalPortService.d.ts.map +1 -1
  24. package/dist/externalPortService.js +73 -7
  25. package/dist/externalPortService.js.map +1 -1
  26. package/dist/index.d.ts +48 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +36 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/ipcService.d.ts +20 -0
  31. package/dist/ipcService.d.ts.map +1 -1
  32. package/dist/ipcService.js.map +1 -1
  33. package/dist/logger.d.ts +6 -0
  34. package/dist/logger.d.ts.map +1 -1
  35. package/dist/logger.js +8 -0
  36. package/dist/logger.js.map +1 -1
  37. package/dist/matter/index.d.ts +59 -0
  38. package/dist/matter/index.d.ts.map +1 -0
  39. package/dist/matter/index.js +19 -0
  40. package/dist/matter/index.js.map +1 -0
  41. package/dist/matter/matterAccessoryCache.d.ts +77 -0
  42. package/dist/matter/matterAccessoryCache.d.ts.map +1 -0
  43. package/dist/matter/matterAccessoryCache.js +176 -0
  44. package/dist/matter/matterAccessoryCache.js.map +1 -0
  45. package/dist/matter/matterBehaviors.d.ts +158 -0
  46. package/dist/matter/matterBehaviors.d.ts.map +1 -0
  47. package/dist/matter/matterBehaviors.js +740 -0
  48. package/dist/matter/matterBehaviors.js.map +1 -0
  49. package/dist/matter/matterConfigValidator.d.ts +81 -0
  50. package/dist/matter/matterConfigValidator.d.ts.map +1 -0
  51. package/dist/matter/matterConfigValidator.js +240 -0
  52. package/dist/matter/matterConfigValidator.js.map +1 -0
  53. package/dist/matter/matterErrorHandler.d.ts +94 -0
  54. package/dist/matter/matterErrorHandler.d.ts.map +1 -0
  55. package/dist/matter/matterErrorHandler.js +485 -0
  56. package/dist/matter/matterErrorHandler.js.map +1 -0
  57. package/dist/matter/matterLogFormatter.d.ts +19 -0
  58. package/dist/matter/matterLogFormatter.d.ts.map +1 -0
  59. package/dist/matter/matterLogFormatter.js +126 -0
  60. package/dist/matter/matterLogFormatter.js.map +1 -0
  61. package/dist/matter/matterNetworkMonitor.d.ts +68 -0
  62. package/dist/matter/matterNetworkMonitor.d.ts.map +1 -0
  63. package/dist/matter/matterNetworkMonitor.js +249 -0
  64. package/dist/matter/matterNetworkMonitor.js.map +1 -0
  65. package/dist/matter/matterServer.d.ts +643 -0
  66. package/dist/matter/matterServer.d.ts.map +1 -0
  67. package/dist/matter/matterServer.js +1623 -0
  68. package/dist/matter/matterServer.js.map +1 -0
  69. package/dist/matter/matterSharedTypes.d.ts +165 -0
  70. package/dist/matter/matterSharedTypes.d.ts.map +1 -0
  71. package/dist/matter/matterSharedTypes.js +51 -0
  72. package/dist/matter/matterSharedTypes.js.map +1 -0
  73. package/dist/matter/matterStorage.d.ts +126 -0
  74. package/dist/matter/matterStorage.d.ts.map +1 -0
  75. package/dist/matter/matterStorage.js +419 -0
  76. package/dist/matter/matterStorage.js.map +1 -0
  77. package/dist/matter/matterTypes.d.ts +612 -0
  78. package/dist/matter/matterTypes.d.ts.map +1 -0
  79. package/dist/matter/matterTypes.js +150 -0
  80. package/dist/matter/matterTypes.js.map +1 -0
  81. package/dist/platformAccessory.d.ts +1 -0
  82. package/dist/platformAccessory.d.ts.map +1 -1
  83. package/dist/platformAccessory.js +8 -1
  84. package/dist/platformAccessory.js.map +1 -1
  85. package/dist/plugin.d.ts +0 -1
  86. package/dist/plugin.d.ts.map +1 -1
  87. package/dist/plugin.js +8 -11
  88. package/dist/plugin.js.map +1 -1
  89. package/dist/pluginManager.d.ts.map +1 -1
  90. package/dist/pluginManager.js +22 -21
  91. package/dist/pluginManager.js.map +1 -1
  92. package/dist/server.d.ts +23 -1
  93. package/dist/server.d.ts.map +1 -1
  94. package/dist/server.js +374 -10
  95. package/dist/server.js.map +1 -1
  96. package/dist/storageService.js +8 -8
  97. package/dist/storageService.js.map +1 -1
  98. package/dist/user.d.ts +1 -0
  99. package/dist/user.d.ts.map +1 -1
  100. package/dist/user.js +10 -7
  101. package/dist/user.js.map +1 -1
  102. package/dist/util/mac.d.ts.map +1 -1
  103. package/dist/util/mac.js +2 -2
  104. package/dist/util/mac.js.map +1 -1
  105. package/dist/version.js +2 -2
  106. package/dist/version.js.map +1 -1
  107. package/package.json +25 -26
  108. package/bin/homebridge +0 -19
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Custom Matter Behavior Classes for Homebridge
3
+ *
4
+ * These custom behaviors extend the base Matter.js behaviors and override
5
+ * command methods to allow plugins to inject custom handlers.
6
+ *
7
+ * Note: Only clusters with user-triggered commands need custom behaviors.
8
+ * Read-only clusters (like sensors) don't need custom behaviors since
9
+ * they only report state, they don't receive commands.
10
+ */
11
+ import type { MatterCommandHandler } from './matterTypes.js';
12
+ import { ColorControlServer, DoorLockServer, IdentifyServer, LevelControlServer, OnOffServer, RvcCleanModeServer, RvcOperationalStateServer, RvcRunModeServer, ServiceAreaServer, ThermostatServer, WindowCoveringServer } from '@matter/main/behaviors';
13
+ /**
14
+ * Set the accessories map reference for cache syncing
15
+ */
16
+ export declare function setAccessoriesMap(map: Map<string, any>): void;
17
+ /**
18
+ * Register a handler for a specific endpoint/cluster/command
19
+ *
20
+ * @param endpointId - Unique endpoint identifier (typically the accessory UUID)
21
+ * @param clusterName - Name of the Matter cluster (e.g., 'onOff', 'levelControl')
22
+ * @param commandName - Name of the command method (e.g., 'on', 'off', 'moveToLevel')
23
+ * @param handler - Callback function to execute when the command is received
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * registerHandler('my-light-uuid', 'onOff', 'on', async () => {
28
+ * console.log('Light turned on!')
29
+ * })
30
+ * ```
31
+ */
32
+ export declare function registerHandler(endpointId: string, clusterName: string, commandName: string, handler: MatterCommandHandler): void;
33
+ /**
34
+ * Custom OnOff Server that calls plugin handlers
35
+ */
36
+ export declare class HomebridgeOnOffServer extends OnOffServer {
37
+ on(): any;
38
+ off(): any;
39
+ toggle(): any;
40
+ }
41
+ /**
42
+ * Custom LevelControl Server that calls plugin handlers
43
+ */
44
+ export declare class HomebridgeLevelControlServer extends LevelControlServer {
45
+ moveToLevel(request: any): any;
46
+ moveToLevelWithOnOff(request: any): any;
47
+ move(request: any): any;
48
+ step(request: any): any;
49
+ stop(request: any): any;
50
+ }
51
+ /**
52
+ * Custom WindowCovering Server that calls plugin handlers
53
+ */
54
+ export declare class HomebridgeWindowCoveringServer extends WindowCoveringServer {
55
+ upOrOpen(): any;
56
+ downOrClose(): any;
57
+ stopMotion(): any;
58
+ }
59
+ /**
60
+ * Custom DoorLock Server that calls plugin handlers
61
+ */
62
+ export declare class HomebridgeDoorLockServer extends DoorLockServer {
63
+ lockDoor(): any;
64
+ unlockDoor(): any;
65
+ }
66
+ /**
67
+ * Custom Thermostat Server that calls plugin handlers
68
+ */
69
+ export declare class HomebridgeThermostatServer extends ThermostatServer {
70
+ setpointRaiseLower(request: any): any;
71
+ }
72
+ /**
73
+ * Custom Identify Server that calls plugin handlers
74
+ */
75
+ export declare class HomebridgeIdentifyServer extends IdentifyServer {
76
+ identify(request: any): any;
77
+ }
78
+ /**
79
+ * Custom ColorControl Server that calls plugin handlers
80
+ *
81
+ * ColorControl handles color changes for lights (hue, saturation, XY color, color temperature).
82
+ * Plugin developers can override these *Logic methods to handle color changes in their hardware.
83
+ *
84
+ * Features (Xy, ColorTemperature, HueSaturation) are added by the device type, not this behavior.
85
+ * This ensures each device only gets the features it needs.
86
+ */
87
+ export declare class HomebridgeColorControlServer extends ColorControlServer {
88
+ /**
89
+ * Called when color temperature is changed
90
+ * @param targetMireds - Target color temperature in mireds (micro reciprocal degrees)
91
+ * @param transitionTime - Transition time in seconds (0 = as fast as possible)
92
+ */
93
+ moveToColorTemperatureLogic(targetMireds: number, transitionTime: number): any;
94
+ /**
95
+ * Called when hue and saturation are changed together
96
+ * @param targetHue - Target hue value (0-254 for normal hue, 0-65535 for enhanced hue)
97
+ * @param targetSaturation - Target saturation value (0-254)
98
+ * @param transitionTime - Transition time in seconds (0 = as fast as possible)
99
+ */
100
+ moveToHueAndSaturationLogic(targetHue: number, targetSaturation: number, transitionTime: number): any;
101
+ /**
102
+ * Called when XY color coordinates are changed
103
+ * @param targetX - Target X value (0-65535 representing 0.0-1.0 in CIE color space)
104
+ * @param targetY - Target Y value (0-65535 representing 0.0-1.0 in CIE color space)
105
+ * @param transitionTime - Transition time in seconds (0 = as fast as possible)
106
+ */
107
+ moveToColorLogic(targetX: number, targetY: number, transitionTime: number): any;
108
+ /**
109
+ * Called when hue is changed individually
110
+ * @param targetHue - Target hue value
111
+ * @param direction - Direction to move (shortest, longest, up, down)
112
+ * @param transitionTime - Transition time in seconds
113
+ * @param isEnhancedHue - Whether this is enhanced hue (16-bit) or normal hue (8-bit)
114
+ */
115
+ moveToHueLogic(targetHue: number, direction: any, transitionTime: number, isEnhancedHue?: boolean): any;
116
+ /**
117
+ * Called when saturation is changed individually
118
+ * @param targetSaturation - Target saturation value (0-254)
119
+ * @param transitionTime - Transition time in seconds
120
+ */
121
+ moveToSaturationLogic(targetSaturation: number, transitionTime: number): any;
122
+ /**
123
+ * Called when all color movement should be stopped
124
+ */
125
+ stopAllColorMovement(): any;
126
+ }
127
+ /**
128
+ * Custom RvcOperationalState Server that calls plugin handlers
129
+ * Handles robotic vacuum cleaner operational state commands
130
+ */
131
+ export declare class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServer {
132
+ pause(): any;
133
+ resume(): any;
134
+ goHome(): any;
135
+ }
136
+ /**
137
+ * Custom RvcRunMode Server that calls plugin handlers
138
+ * Handles robotic vacuum cleaner run mode changes
139
+ */
140
+ export declare class HomebridgeRvcRunModeServer extends RvcRunModeServer {
141
+ changeToMode(request: any): any;
142
+ }
143
+ /**
144
+ * Custom RvcCleanMode Server that calls plugin handlers
145
+ * Handles robotic vacuum cleaner cleaning mode changes
146
+ */
147
+ export declare class HomebridgeRvcCleanModeServer extends RvcCleanModeServer {
148
+ changeToMode(request: any): any;
149
+ }
150
+ /**
151
+ * Custom ServiceArea Server that calls plugin handlers
152
+ * Handles service area selection for robotic vacuum cleaners
153
+ */
154
+ export declare class HomebridgeServiceAreaServer extends ServiceAreaServer {
155
+ selectAreas(request: any): any;
156
+ skipArea(request: any): any;
157
+ }
158
+ //# sourceMappingURL=matterBehaviors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterBehaviors.d.ts","sourceRoot":"","sources":["../../src/matter/matterBehaviors.ts"],"names":[],"mappings":"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"}