isy-nodejs 1.0.1-alpha.6 → 1.0.1-alpha.9

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 (158) hide show
  1. package/dist/cjs/Converters.js +66 -30
  2. package/dist/cjs/Converters.js.map +1 -1
  3. package/dist/cjs/Definitions/Global/Drivers.js +10 -3
  4. package/dist/cjs/Definitions/Global/Drivers.js.map +1 -1
  5. package/dist/cjs/Definitions/Global/Events.js +1 -2
  6. package/dist/cjs/Definitions/Global/Events.js.map +1 -1
  7. package/dist/cjs/Devices/Elk/ElkAlarmPanelDevice.js +3 -3
  8. package/dist/cjs/Devices/Elk/ElkAlarmSensorDevice.js +9 -6
  9. package/dist/cjs/Devices/Elk/ElkAlarmSensorDevice.js.map +1 -1
  10. package/dist/cjs/Devices/Insteon/InsteonBaseDevice.js +1 -1
  11. package/dist/cjs/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
  12. package/dist/cjs/Devices/Insteon/InsteonFanDevice.js +4 -2
  13. package/dist/cjs/Devices/Insteon/InsteonFanDevice.js.map +1 -1
  14. package/dist/cjs/Devices/Insteon/InsteonMotionSensorDevice.js +5 -5
  15. package/dist/cjs/ISY.js +29 -20
  16. package/dist/cjs/ISY.js.map +1 -1
  17. package/dist/cjs/ISYNode.js +11 -8
  18. package/dist/cjs/ISYNode.js.map +1 -1
  19. package/dist/cjs/ISYScene.js +2 -2
  20. package/dist/cjs/Matter/Behaviors/ISYBridgedDeviceBehavior.js +11 -4
  21. package/dist/cjs/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
  22. package/dist/cjs/Matter/Behaviors/ISYClusterBehavior.js +26 -7
  23. package/dist/cjs/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  24. package/dist/cjs/Matter/Behaviors/ISYOnOffBehavior.js +9 -7
  25. package/dist/cjs/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
  26. package/dist/cjs/Matter/{Server → Bridge}/Server.js +31 -45
  27. package/dist/cjs/Matter/Bridge/Server.js.map +1 -0
  28. package/dist/cjs/Matter/Mappings/Insteon.js +19 -15
  29. package/dist/cjs/Matter/Mappings/Insteon.js.map +1 -1
  30. package/dist/cjs/Matter/Mappings/register.js +1 -0
  31. package/dist/cjs/Matter/Mappings/register.js.map +1 -0
  32. package/dist/cjs/Model/ClusterMap.js +12 -9
  33. package/dist/cjs/Model/ClusterMap.js.map +1 -1
  34. package/dist/cjs/Utils.js +0 -9
  35. package/dist/cjs/Utils.js.map +1 -1
  36. package/dist/cjs/types/Converters.d.ts +28 -8
  37. package/dist/cjs/types/Converters.d.ts.map +1 -1
  38. package/dist/cjs/types/Definitions/Global/Drivers.d.ts +4 -3
  39. package/dist/cjs/types/Definitions/Global/Drivers.d.ts.map +1 -1
  40. package/dist/cjs/types/Definitions/Global/Events.d.ts.map +1 -1
  41. package/dist/cjs/types/Devices/Elk/ElkAlarmSensorDevice.d.ts.map +1 -1
  42. package/dist/cjs/types/Devices/EndpointFor.d.ts +2 -2
  43. package/dist/cjs/types/Devices/Insteon/InsteonDevice.d.ts +4 -4
  44. package/dist/cjs/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
  45. package/dist/cjs/types/ISY.d.ts +21 -18
  46. package/dist/cjs/types/ISY.d.ts.map +1 -1
  47. package/dist/cjs/types/ISYNode.d.ts +4 -4
  48. package/dist/cjs/types/ISYNode.d.ts.map +1 -1
  49. package/dist/cjs/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +16 -6
  50. package/dist/cjs/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  51. package/dist/cjs/types/Matter/Behaviors/ISYClusterBehavior.d.ts +13 -11
  52. package/dist/cjs/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  53. package/dist/cjs/types/Matter/Behaviors/ISYOnOffBehavior.d.ts +4 -4
  54. package/dist/cjs/types/Matter/Behaviors/ISYOnOffBehavior.d.ts.map +1 -1
  55. package/dist/cjs/types/Matter/Bridge/Server.d.ts +17 -0
  56. package/dist/cjs/types/Matter/Bridge/Server.d.ts.map +1 -0
  57. package/dist/cjs/types/Matter/Mappings/register.d.ts +1 -0
  58. package/dist/cjs/types/Matter/Mappings/register.d.ts.map +1 -0
  59. package/dist/cjs/types/Model/ClusterMap.d.ts +19 -11
  60. package/dist/cjs/types/Model/ClusterMap.d.ts.map +1 -1
  61. package/dist/cjs/types/Utils.d.ts +0 -5
  62. package/dist/cjs/types/Utils.d.ts.map +1 -1
  63. package/dist/esm/Converters.js +63 -28
  64. package/dist/esm/Converters.js.map +1 -1
  65. package/dist/esm/Definitions/Global/Drivers.js +10 -3
  66. package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
  67. package/dist/esm/Definitions/Global/Events.js +1 -2
  68. package/dist/esm/Definitions/Global/Events.js.map +1 -1
  69. package/dist/esm/Devices/Elk/ElkAlarmPanelDevice.js +3 -3
  70. package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js +9 -6
  71. package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js.map +1 -1
  72. package/dist/esm/Devices/Insteon/InsteonBaseDevice.js +2 -2
  73. package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
  74. package/dist/esm/Devices/Insteon/InsteonFanDevice.js +4 -2
  75. package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
  76. package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js +5 -5
  77. package/dist/esm/ISY.js +28 -19
  78. package/dist/esm/ISY.js.map +1 -1
  79. package/dist/esm/ISYNode.js +12 -9
  80. package/dist/esm/ISYNode.js.map +1 -1
  81. package/dist/esm/ISYScene.js +2 -2
  82. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js +11 -4
  83. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
  84. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js +26 -7
  85. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  86. package/dist/esm/Matter/Behaviors/ISYOnOffBehavior.js +10 -8
  87. package/dist/esm/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
  88. package/dist/esm/Matter/{Server → Bridge}/Server.js +29 -44
  89. package/dist/esm/Matter/Bridge/Server.js.map +1 -0
  90. package/dist/esm/Matter/Mappings/Insteon.js +22 -18
  91. package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
  92. package/dist/esm/Matter/Mappings/register.js +2 -0
  93. package/dist/esm/Matter/Mappings/register.js.map +1 -0
  94. package/dist/esm/Model/ClusterMap.js +12 -9
  95. package/dist/esm/Model/ClusterMap.js.map +1 -1
  96. package/dist/esm/Utils.js +0 -8
  97. package/dist/esm/Utils.js.map +1 -1
  98. package/dist/esm/types/Converters.d.ts +28 -8
  99. package/dist/esm/types/Converters.d.ts.map +1 -1
  100. package/dist/esm/types/Definitions/Global/Drivers.d.ts +4 -3
  101. package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
  102. package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
  103. package/dist/esm/types/Devices/Elk/ElkAlarmSensorDevice.d.ts.map +1 -1
  104. package/dist/esm/types/Devices/EndpointFor.d.ts +3 -3
  105. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +6 -6
  106. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
  107. package/dist/esm/types/ISY.d.ts +21 -18
  108. package/dist/esm/types/ISY.d.ts.map +1 -1
  109. package/dist/esm/types/ISYNode.d.ts +5 -5
  110. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  111. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +16 -6
  112. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  113. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +13 -11
  114. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  115. package/dist/esm/types/Matter/Behaviors/ISYOnOffBehavior.d.ts +4 -4
  116. package/dist/esm/types/Matter/Behaviors/ISYOnOffBehavior.d.ts.map +1 -1
  117. package/dist/esm/types/Matter/Bridge/Server.d.ts +17 -0
  118. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -0
  119. package/dist/esm/types/Matter/Mappings/register.d.ts +2 -0
  120. package/dist/esm/types/Matter/Mappings/register.d.ts.map +1 -0
  121. package/dist/esm/types/Model/ClusterMap.d.ts +19 -11
  122. package/dist/esm/types/Model/ClusterMap.d.ts.map +1 -1
  123. package/dist/esm/types/Utils.d.ts +0 -5
  124. package/dist/esm/types/Utils.d.ts.map +1 -1
  125. package/package.json +2 -7
  126. package/src/Converters.ts +137 -69
  127. package/src/Definitions/Global/Drivers.ts +16 -7
  128. package/src/Definitions/Global/Events.ts +4 -3
  129. package/src/Devices/Elk/ElkAlarmPanelDevice.ts +3 -3
  130. package/src/Devices/Elk/ElkAlarmSensorDevice.ts +15 -21
  131. package/src/Devices/Insteon/Generated/RelayLamp.ts +8 -7
  132. package/src/Devices/Insteon/InsteonBaseDevice.ts +2 -2
  133. package/src/Devices/Insteon/InsteonFanDevice.ts +11 -9
  134. package/src/Devices/Insteon/InsteonMotionSensorDevice.ts +5 -5
  135. package/src/ISY.ts +53 -38
  136. package/src/ISYNode.ts +13 -10
  137. package/src/ISYScene.ts +2 -2
  138. package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +28 -10
  139. package/src/Matter/Behaviors/ISYClusterBehavior.ts +46 -28
  140. package/src/Matter/Behaviors/ISYOnOffBehavior.ts +49 -60
  141. package/src/Matter/{Server → Bridge}/Server.ts +49 -53
  142. package/src/Matter/Mappings/Insteon.ts +53 -60
  143. package/src/Matter/Mappings/register.ts +0 -0
  144. package/src/Model/ClusterMap.ts +31 -22
  145. package/src/Utils.ts +1 -19
  146. package/LICENSE +0 -22
  147. package/dist/cjs/Matter/Server/Server.js.map +0 -1
  148. package/dist/cjs/types/Matter/Server/Server.d.ts +0 -4
  149. package/dist/cjs/types/Matter/Server/Server.d.ts.map +0 -1
  150. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +0 -68
  151. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +0 -1
  152. package/dist/esm/Matter/Server/Server.js.map +0 -1
  153. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +0 -93
  154. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +0 -1
  155. package/dist/esm/types/Matter/Server/Server.d.ts +0 -4
  156. package/dist/esm/types/Matter/Server/Server.d.ts.map +0 -1
  157. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  158. package/dist/tsconfig.esm.tsbuildinfo +0 -1
@@ -1,93 +0,0 @@
1
- import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
2
- import type { NodeInfo } from "../../../Model/NodeInfo.js";
3
- import type { ISY } from "../../../ISY.js";
4
- import type { ISYNode } from "../../../ISYNode.js";
5
- import { Base } from "../index.js";
6
- import { ISYDeviceNode } from "../../ISYDeviceNode.js";
7
- import { Insteon } from "../../../Definitions/index.js";
8
- export declare const nodeDefId = "RelayLampSwitch";
9
- type Commands = RelayLampSwitch.Commands;
10
- type Drivers = RelayLampSwitch.Drivers;
11
- export declare class RelayLampSwitchNode extends Base<Drivers, Commands> implements RelayLampSwitch.Interface {
12
- readonly commands: {
13
- DON: (value?: (0 | 100)) => Promise<any>;
14
- DOF: () => Promise<any>;
15
- DFOF: () => Promise<any>;
16
- DFON: () => Promise<any>;
17
- QUERY: () => Promise<any>;
18
- BEEP: (value?: number) => Promise<any>;
19
- BL: (value: number) => Promise<any>;
20
- WDU: () => Promise<any>;
21
- };
22
- static nodeDefId: string;
23
- readonly nodeDefId: "RelayLampSwitch";
24
- constructor(isy: ISY, nodeInfo: NodeInfo);
25
- on(value?: (0 | 100)): Promise<any>;
26
- off(): Promise<any>;
27
- fastOff(): Promise<any>;
28
- fastOn(): Promise<any>;
29
- query(): Promise<any>;
30
- beep(value?: number): Promise<any>;
31
- backlight(value: number): Promise<any>;
32
- writeChanges(): Promise<any>;
33
- get status(): Insteon.OnLevelRelay;
34
- get responding(): Insteon.Error;
35
- }
36
- export declare namespace RelayLampSwitch {
37
- interface Interface extends Omit<InstanceType<typeof RelayLampSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
38
- nodeDefId: "RelayLampSwitch";
39
- }
40
- function is(node: ISYNode<any, any, any, any>): node is RelayLampSwitchNode;
41
- function create(isy: ISY, nodeInfo: NodeInfo): RelayLampSwitchNode;
42
- const Node: typeof RelayLampSwitchNode;
43
- type Commands = {
44
- DON: ((value?: (0 | 100)) => Promise<boolean>) & {
45
- label: "On";
46
- name: "on";
47
- };
48
- DOF: (() => Promise<boolean>) & {
49
- label: "Off";
50
- name: "off";
51
- };
52
- DFOF: (() => Promise<boolean>) & {
53
- label: "Fast Off";
54
- name: "fastOff";
55
- };
56
- DFON: (() => Promise<boolean>) & {
57
- label: "Fast On";
58
- name: "fastOn";
59
- };
60
- QUERY: (() => Promise<boolean>) & {
61
- label: "Query";
62
- name: "query";
63
- };
64
- BEEP: ((value?: number) => Promise<boolean>) & {
65
- label: "Beep";
66
- name: "beep";
67
- };
68
- BL: ((value: number) => Promise<boolean>) & {
69
- label: "Backlight";
70
- name: "backlight";
71
- };
72
- WDU: (() => Promise<boolean>) & {
73
- label: "Write Changes";
74
- name: "writeChanges";
75
- };
76
- };
77
- type Drivers = {
78
- ST: {
79
- uom: UnitOfMeasure.Percent;
80
- value: Insteon.OnLevelRelay;
81
- label: "Status";
82
- name: "status";
83
- };
84
- ERR: {
85
- uom: UnitOfMeasure.Index;
86
- value: Insteon.Error;
87
- label: "Responding";
88
- name: "responding";
89
- };
90
- };
91
- }
92
- export {};
93
- //# sourceMappingURL=RelayLampSwitch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RelayLampSwitch.d.ts","sourceRoot":"","sources":["../../../../../../src/Devices/Insteon/Generated/RelayLampSwitch.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { ServerNode } from '@project-chip/matter.js/node';
2
- import { ISY } from '../../ISY.js';
3
- export declare function createServerNode(isy?: ISY): Promise<ServerNode>;
4
- //# sourceMappingURL=Server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../../../src/Matter/Server/Server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI1D,OAAO,EAAwE,GAAG,EAAE,MAAM,cAAc,CAAC;AA4BzG,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,GAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2LnF"}