node-red-contrib-homekit-bridged 2.0.0-dev.5 → 2.0.0-dev.8

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 (128) hide show
  1. package/build/lib/HAPHostNode.js +183 -141
  2. package/build/lib/HAPServiceNode.js +199 -172
  3. package/build/lib/HAPServiceNode2.js +207 -172
  4. package/build/lib/NRCHKBError.js +23 -2
  5. package/build/lib/PairingQRCode.js +62 -0
  6. package/build/lib/Storage.js +152 -90
  7. package/build/lib/api.js +654 -288
  8. package/build/lib/camera/CameraControl.js +119 -84
  9. package/build/lib/camera/CameraDelegate.js +481 -404
  10. package/build/lib/camera/MP4StreamingServer.js +148 -139
  11. package/build/lib/hap/HAPCharacteristic.js +25 -4
  12. package/build/lib/hap/HAPService.js +25 -4
  13. package/build/lib/hap/eve-app/EveCharacteristics.js +124 -81
  14. package/build/lib/hap/eve-app/EveServices.js +50 -17
  15. package/build/lib/hap/hap-nodejs.js +32 -0
  16. package/build/lib/migration/HomeKitService2Migration.js +34 -0
  17. package/build/lib/migration/NodeMigration.js +75 -0
  18. package/build/lib/types/AccessoryInformationType.js +15 -1
  19. package/build/lib/types/CameraConfigType.js +15 -1
  20. package/build/lib/types/CustomCharacteristicType.js +15 -1
  21. package/build/lib/types/HAPHostConfigType.js +15 -1
  22. package/build/lib/types/HAPHostNodeType.js +15 -1
  23. package/build/lib/types/HAPService2ConfigType.js +15 -1
  24. package/build/lib/types/HAPService2NodeType.js +15 -1
  25. package/build/lib/types/HAPServiceConfigType.js +15 -1
  26. package/build/lib/types/HAPServiceNodeType.js +15 -1
  27. package/build/lib/types/HAPStatusConfigType.js +15 -1
  28. package/build/lib/types/HAPStatusNodeType.js +15 -1
  29. package/build/lib/types/HostType.js +28 -7
  30. package/build/lib/types/NodeType.js +15 -1
  31. package/build/lib/types/PublishTimersType.js +15 -1
  32. package/build/lib/types/UniFiControllerConfigType.js +16 -0
  33. package/build/lib/types/hap-nodejs/HapAdaptiveLightingControllerMode.js +28 -7
  34. package/build/lib/types/hap-nodejs/HapCategories.js +64 -43
  35. package/build/lib/types/storage/SerializedHostType.js +15 -1
  36. package/build/lib/types/storage/StorageType.js +34 -10
  37. package/build/lib/unifi/ProtectDiscovery.js +80 -0
  38. package/build/lib/utils/AccessoryUtils.js +152 -110
  39. package/build/lib/utils/BridgeUtils.js +82 -39
  40. package/build/lib/utils/CharacteristicUtils.js +5 -49
  41. package/build/lib/utils/CharacteristicUtils2.js +5 -49
  42. package/build/lib/utils/CharacteristicUtilsBase.js +81 -0
  43. package/build/lib/utils/NodeStatusUtils.js +89 -40
  44. package/build/lib/utils/ServiceUtils.js +433 -375
  45. package/build/lib/utils/ServiceUtils2.js +519 -309
  46. package/build/lib/utils/index.js +10 -11
  47. package/build/nodes/bridge.html +206 -168
  48. package/build/nodes/bridge.js +27 -9
  49. package/build/nodes/locales/en-US/node-red-contrib-homekit-bridged.json +22 -0
  50. package/build/nodes/nrchkb.html +1753 -117
  51. package/build/nodes/nrchkb.js +66 -88
  52. package/build/nodes/plugin-instance.html +509 -0
  53. package/build/nodes/plugin-instance.js +46 -0
  54. package/build/nodes/service.html +544 -307
  55. package/build/nodes/service.js +5 -6
  56. package/build/nodes/service2.html +1721 -455
  57. package/build/nodes/service2.js +5 -8
  58. package/build/nodes/standalone.html +208 -176
  59. package/build/nodes/standalone.js +27 -9
  60. package/build/nodes/status.html +51 -18
  61. package/build/nodes/status.js +47 -40
  62. package/build/nodes/unifi-controller.html +92 -0
  63. package/build/nodes/unifi-controller.js +20 -0
  64. package/build/plugins/embedded/homebridge-camera-ffmpeg/index.js +479 -0
  65. package/build/plugins/embedded/homebridge-unifi-protect/index.js +521 -0
  66. package/build/plugins/embedded/index.js +58 -0
  67. package/build/plugins/nrchkb-homekit-plugins.js +17 -0
  68. package/build/plugins/registry/index.js +203 -0
  69. package/build/plugins/registry/types.js +16 -0
  70. package/build/scripts/migrate-homekit-service-flows.js +47 -0
  71. package/examples/demo/01 - ALL Demos single import.json +1885 -1885
  72. package/examples/demo/02 - Air Purifier.json +279 -279
  73. package/examples/demo/03 - Air Quality sensor with Battery.json +254 -254
  74. package/examples/demo/04 - Dimmable Bulb.json +172 -172
  75. package/examples/demo/05 - Color Bulb (HSV).json +195 -195
  76. package/examples/demo/06 - Fan (simple, 3 speeds).json +240 -240
  77. package/examples/demo/07 - Fan (with speed, oscillate, rotation direction).json +175 -175
  78. package/examples/demo/08 - CO2 detector.json +224 -224
  79. package/examples/demo/09 - CO (carbon monoxide) example.json +255 -255
  80. package/examples/demo/10 - Door window contact sensor.json +234 -234
  81. package/examples/demos (advanced)/01 - Television with inputs and speaker.json +541 -541
  82. package/examples/switch/01 - Plain Switch.json +178 -178
  83. package/package.json +95 -84
  84. package/build/lib/HAPHostNode.d.ts +0 -1
  85. package/build/lib/HAPServiceNode.d.ts +0 -1
  86. package/build/lib/HAPServiceNode2.d.ts +0 -1
  87. package/build/lib/NRCHKBError.d.ts +0 -3
  88. package/build/lib/Storage.d.ts +0 -30
  89. package/build/lib/api.d.ts +0 -1
  90. package/build/lib/camera/CameraControl.d.ts +0 -3
  91. package/build/lib/camera/CameraDelegate.d.ts +0 -38
  92. package/build/lib/camera/MP4StreamingServer.d.ts +0 -26
  93. package/build/lib/hap/HAPCharacteristic.d.ts +0 -9
  94. package/build/lib/hap/HAPService.d.ts +0 -6
  95. package/build/lib/hap/eve-app/EveCharacteristics.d.ts +0 -20
  96. package/build/lib/hap/eve-app/EveServices.d.ts +0 -5
  97. package/build/lib/types/AccessoryInformationType.d.ts +0 -11
  98. package/build/lib/types/CameraConfigType.d.ts +0 -24
  99. package/build/lib/types/CustomCharacteristicType.d.ts +0 -6
  100. package/build/lib/types/HAPHostConfigType.d.ts +0 -22
  101. package/build/lib/types/HAPHostNodeType.d.ts +0 -14
  102. package/build/lib/types/HAPService2ConfigType.d.ts +0 -6
  103. package/build/lib/types/HAPService2NodeType.d.ts +0 -7
  104. package/build/lib/types/HAPServiceConfigType.d.ts +0 -26
  105. package/build/lib/types/HAPServiceNodeType.d.ts +0 -38
  106. package/build/lib/types/HAPStatusConfigType.d.ts +0 -5
  107. package/build/lib/types/HAPStatusNodeType.d.ts +0 -12
  108. package/build/lib/types/HostType.d.ts +0 -5
  109. package/build/lib/types/NodeType.d.ts +0 -3
  110. package/build/lib/types/PublishTimersType.d.ts +0 -4
  111. package/build/lib/types/hap-nodejs/HapAdaptiveLightingControllerMode.d.ts +0 -5
  112. package/build/lib/types/hap-nodejs/HapCategories.d.ts +0 -41
  113. package/build/lib/types/storage/SerializedHostType.d.ts +0 -5
  114. package/build/lib/types/storage/StorageType.d.ts +0 -8
  115. package/build/lib/utils/AccessoryUtils.d.ts +0 -1
  116. package/build/lib/utils/BridgeUtils.d.ts +0 -1
  117. package/build/lib/utils/CharacteristicUtils.d.ts +0 -1
  118. package/build/lib/utils/CharacteristicUtils2.d.ts +0 -1
  119. package/build/lib/utils/NodeStatusUtils.d.ts +0 -17
  120. package/build/lib/utils/ServiceUtils.d.ts +0 -1
  121. package/build/lib/utils/ServiceUtils2.d.ts +0 -1
  122. package/build/lib/utils/index.d.ts +0 -1
  123. package/build/nodes/bridge.d.ts +0 -1
  124. package/build/nodes/nrchkb.d.ts +0 -1
  125. package/build/nodes/service.d.ts +0 -1
  126. package/build/nodes/service2.d.ts +0 -1
  127. package/build/nodes/standalone.d.ts +0 -1
  128. package/build/nodes/status.d.ts +0 -1
@@ -1,183 +1,183 @@
1
1
  [
2
- {
3
- "id": "fd58cee.fbdb73",
4
- "type": "tab",
5
- "label": "Switch Example",
6
- "disabled": false,
7
- "info": ""
8
- },
9
- {
10
- "id": "38688705.a04688",
11
- "type": "group",
12
- "z": "fd58cee.fbdb73",
13
- "name": "Output debug",
14
- "style": {
15
- "label": true
2
+ {
3
+ "id": "fd58cee.fbdb73",
4
+ "type": "tab",
5
+ "label": "Switch Example",
6
+ "disabled": false,
7
+ "info": ""
16
8
  },
17
- "nodes": ["d6f9e9ce.b3af8"],
18
- "x": 434,
19
- "y": 79,
20
- "w": 212,
21
- "h": 82
22
- },
23
- {
24
- "id": "d1632249.c45458",
25
- "type": "group",
26
- "z": "fd58cee.fbdb73",
27
- "name": "HomeKit Switch Accessory",
28
- "style": {
29
- "stroke": "#ffC000",
30
- "label": true
9
+ {
10
+ "id": "38688705.a04688",
11
+ "type": "group",
12
+ "z": "fd58cee.fbdb73",
13
+ "name": "Output debug",
14
+ "style": {
15
+ "label": true
16
+ },
17
+ "nodes": ["d6f9e9ce.b3af8"],
18
+ "x": 434,
19
+ "y": 79,
20
+ "w": 212,
21
+ "h": 82
31
22
  },
32
- "nodes": ["4ea13695.19871"],
33
- "x": 234,
34
- "y": 79,
35
- "w": 192,
36
- "h": 82
37
- },
38
- {
39
- "id": "d3163811.ca7aa8",
40
- "type": "group",
41
- "z": "fd58cee.fbdb73",
42
- "name": "Controls",
43
- "style": {
44
- "label": true
23
+ {
24
+ "id": "d1632249.c45458",
25
+ "type": "group",
26
+ "z": "fd58cee.fbdb73",
27
+ "name": "HomeKit Switch Accessory",
28
+ "style": {
29
+ "stroke": "#ffC000",
30
+ "label": true
31
+ },
32
+ "nodes": ["4ea13695.19871"],
33
+ "x": 234,
34
+ "y": 79,
35
+ "w": 192,
36
+ "h": 82
45
37
  },
46
- "nodes": ["e02112b7.b761d", "e9073d2c.84e64"],
47
- "x": 54,
48
- "y": 59,
49
- "w": 172,
50
- "h": 122
51
- },
52
- {
53
- "id": "4ea13695.19871",
54
- "type": "homekit-service",
55
- "z": "fd58cee.fbdb73",
56
- "g": "d1632249.c45458",
57
- "isParent": true,
58
- "bridge": "3dcda60a.e5ff12",
59
- "parentService": "",
60
- "name": "My Switch",
61
- "serviceName": "Switch",
62
- "topic": "",
63
- "filter": false,
64
- "manufacturer": "NRCHKB",
65
- "model": "0.120.5",
66
- "serialNo": "Default Serial Number",
67
- "firmwareRev": "0.120.5",
68
- "hardwareRev": "0.120.5",
69
- "softwareRev": "0.120.5",
70
- "cameraConfigVideoProcessor": "ffmpeg",
71
- "cameraConfigSource": "",
72
- "cameraConfigStillImageSource": "",
73
- "cameraConfigMaxStreams": 2,
74
- "cameraConfigMaxWidth": 1280,
75
- "cameraConfigMaxHeight": 720,
76
- "cameraConfigMaxFPS": 10,
77
- "cameraConfigMaxBitrate": 300,
78
- "cameraConfigVideoCodec": "libx264",
79
- "cameraConfigAudioCodec": "libfdk_aac",
80
- "cameraConfigAudio": false,
81
- "cameraConfigPacketSize": 1316,
82
- "cameraConfigVerticalFlip": false,
83
- "cameraConfigHorizontalFlip": false,
84
- "cameraConfigMapVideo": "0:0",
85
- "cameraConfigMapAudio": "0:1",
86
- "cameraConfigVideoFilter": "scale=1280:720",
87
- "cameraConfigAdditionalCommandLine": "-tune zerolatency",
88
- "cameraConfigDebug": false,
89
- "cameraConfigSnapshotOutput": "disabled",
90
- "cameraConfigInterfaceName": "",
91
- "characteristicProperties": "{}",
92
- "outputs": 2,
93
- "x": 330,
94
- "y": 120,
95
- "wires": [["d6f9e9ce.b3af8"], []]
96
- },
97
- {
98
- "id": "d6f9e9ce.b3af8",
99
- "type": "debug",
100
- "z": "fd58cee.fbdb73",
101
- "g": "38688705.a04688",
102
- "name": "",
103
- "active": true,
104
- "tosidebar": true,
105
- "console": false,
106
- "tostatus": false,
107
- "complete": "payload",
108
- "targetType": "msg",
109
- "statusVal": "",
110
- "statusType": "auto",
111
- "x": 530,
112
- "y": 120,
113
- "wires": []
114
- },
115
- {
116
- "id": "e02112b7.b761d",
117
- "type": "inject",
118
- "z": "fd58cee.fbdb73",
119
- "g": "d3163811.ca7aa8",
120
- "name": "On",
121
- "props": [
122
- {
123
- "p": "payload"
124
- }
125
- ],
126
- "repeat": "",
127
- "crontab": "",
128
- "once": false,
129
- "onceDelay": 0.1,
130
- "topic": "",
131
- "payload": "{\"On\":true}",
132
- "payloadType": "json",
133
- "x": 150,
134
- "y": 100,
135
- "wires": [["4ea13695.19871"]]
136
- },
137
- {
138
- "id": "e9073d2c.84e64",
139
- "type": "inject",
140
- "z": "fd58cee.fbdb73",
141
- "g": "d3163811.ca7aa8",
142
- "name": "Off",
143
- "props": [
144
- {
145
- "p": "payload"
146
- }
147
- ],
148
- "repeat": "",
149
- "crontab": "",
150
- "once": false,
151
- "onceDelay": 0.1,
152
- "topic": "",
153
- "payload": "{\"On\":false}",
154
- "payloadType": "json",
155
- "x": 150,
156
- "y": 140,
157
- "wires": [["4ea13695.19871"]]
158
- },
159
- {
160
- "id": "3dcda60a.e5ff12",
161
- "type": "homekit-bridge",
162
- "z": "",
163
- "bridgeName": "My Bridge",
164
- "pinCode": "111-11-111",
165
- "port": "",
166
- "allowInsecureRequest": false,
167
- "manufacturer": "NRCHKB",
168
- "model": "0.120.5",
169
- "serialNo": "Default Serial Number",
170
- "firmwareRev": "0.120.5",
171
- "hardwareRev": "0.120.5",
172
- "softwareRev": "0.120.5",
173
- "customMdnsConfig": false,
174
- "mdnsMulticast": true,
175
- "mdnsInterface": "",
176
- "mdnsPort": "",
177
- "mdnsIp": "",
178
- "mdnsTtl": "",
179
- "mdnsLoopback": true,
180
- "mdnsReuseAddr": true,
181
- "allowMessagePassthrough": true
182
- }
38
+ {
39
+ "id": "d3163811.ca7aa8",
40
+ "type": "group",
41
+ "z": "fd58cee.fbdb73",
42
+ "name": "Controls",
43
+ "style": {
44
+ "label": true
45
+ },
46
+ "nodes": ["e02112b7.b761d", "e9073d2c.84e64"],
47
+ "x": 54,
48
+ "y": 59,
49
+ "w": 172,
50
+ "h": 122
51
+ },
52
+ {
53
+ "id": "4ea13695.19871",
54
+ "type": "homekit-service",
55
+ "z": "fd58cee.fbdb73",
56
+ "g": "d1632249.c45458",
57
+ "isParent": true,
58
+ "bridge": "3dcda60a.e5ff12",
59
+ "parentService": "",
60
+ "name": "My Switch",
61
+ "serviceName": "Switch",
62
+ "topic": "",
63
+ "filter": false,
64
+ "manufacturer": "NRCHKB",
65
+ "model": "0.120.5",
66
+ "serialNo": "Default Serial Number",
67
+ "firmwareRev": "0.120.5",
68
+ "hardwareRev": "0.120.5",
69
+ "softwareRev": "0.120.5",
70
+ "cameraConfigVideoProcessor": "ffmpeg",
71
+ "cameraConfigSource": "",
72
+ "cameraConfigStillImageSource": "",
73
+ "cameraConfigMaxStreams": 2,
74
+ "cameraConfigMaxWidth": 1280,
75
+ "cameraConfigMaxHeight": 720,
76
+ "cameraConfigMaxFPS": 10,
77
+ "cameraConfigMaxBitrate": 300,
78
+ "cameraConfigVideoCodec": "libx264",
79
+ "cameraConfigAudioCodec": "libfdk_aac",
80
+ "cameraConfigAudio": false,
81
+ "cameraConfigPacketSize": 1316,
82
+ "cameraConfigVerticalFlip": false,
83
+ "cameraConfigHorizontalFlip": false,
84
+ "cameraConfigMapVideo": "0:0",
85
+ "cameraConfigMapAudio": "0:1",
86
+ "cameraConfigVideoFilter": "scale=1280:720",
87
+ "cameraConfigAdditionalCommandLine": "-tune zerolatency",
88
+ "cameraConfigDebug": false,
89
+ "cameraConfigSnapshotOutput": "disabled",
90
+ "cameraConfigInterfaceName": "",
91
+ "characteristicProperties": "{}",
92
+ "outputs": 2,
93
+ "x": 330,
94
+ "y": 120,
95
+ "wires": [["d6f9e9ce.b3af8"], []]
96
+ },
97
+ {
98
+ "id": "d6f9e9ce.b3af8",
99
+ "type": "debug",
100
+ "z": "fd58cee.fbdb73",
101
+ "g": "38688705.a04688",
102
+ "name": "",
103
+ "active": true,
104
+ "tosidebar": true,
105
+ "console": false,
106
+ "tostatus": false,
107
+ "complete": "payload",
108
+ "targetType": "msg",
109
+ "statusVal": "",
110
+ "statusType": "auto",
111
+ "x": 530,
112
+ "y": 120,
113
+ "wires": []
114
+ },
115
+ {
116
+ "id": "e02112b7.b761d",
117
+ "type": "inject",
118
+ "z": "fd58cee.fbdb73",
119
+ "g": "d3163811.ca7aa8",
120
+ "name": "On",
121
+ "props": [
122
+ {
123
+ "p": "payload"
124
+ }
125
+ ],
126
+ "repeat": "",
127
+ "crontab": "",
128
+ "once": false,
129
+ "onceDelay": 0.1,
130
+ "topic": "",
131
+ "payload": "{\"On\":true}",
132
+ "payloadType": "json",
133
+ "x": 150,
134
+ "y": 100,
135
+ "wires": [["4ea13695.19871"]]
136
+ },
137
+ {
138
+ "id": "e9073d2c.84e64",
139
+ "type": "inject",
140
+ "z": "fd58cee.fbdb73",
141
+ "g": "d3163811.ca7aa8",
142
+ "name": "Off",
143
+ "props": [
144
+ {
145
+ "p": "payload"
146
+ }
147
+ ],
148
+ "repeat": "",
149
+ "crontab": "",
150
+ "once": false,
151
+ "onceDelay": 0.1,
152
+ "topic": "",
153
+ "payload": "{\"On\":false}",
154
+ "payloadType": "json",
155
+ "x": 150,
156
+ "y": 140,
157
+ "wires": [["4ea13695.19871"]]
158
+ },
159
+ {
160
+ "id": "3dcda60a.e5ff12",
161
+ "type": "homekit-bridge",
162
+ "z": "",
163
+ "bridgeName": "My Bridge",
164
+ "pinCode": "111-11-111",
165
+ "port": "",
166
+ "allowInsecureRequest": false,
167
+ "manufacturer": "NRCHKB",
168
+ "model": "0.120.5",
169
+ "serialNo": "Default Serial Number",
170
+ "firmwareRev": "0.120.5",
171
+ "hardwareRev": "0.120.5",
172
+ "softwareRev": "0.120.5",
173
+ "customMdnsConfig": false,
174
+ "mdnsMulticast": true,
175
+ "mdnsInterface": "",
176
+ "mdnsPort": "",
177
+ "mdnsIp": "",
178
+ "mdnsTtl": "",
179
+ "mdnsLoopback": true,
180
+ "mdnsReuseAddr": true,
181
+ "allowMessagePassthrough": true
182
+ }
183
183
  ]
package/package.json CHANGED
@@ -1,87 +1,98 @@
1
1
  {
2
- "name": "node-red-contrib-homekit-bridged",
3
- "version": "2.0.0-dev.5",
4
- "description": "Node-RED nodes to simulate Apple HomeKit devices.",
5
- "main": "build/nodes/nrchkb.js",
6
- "scripts": {
7
- "build": "npm run clean && tsc",
8
- "clean": "del-cli \"build/lib\" \"build/**/*.js\"",
9
- "test": "vitest run",
10
- "test:ci": "vitest run --no-file-parallelism",
11
- "test:watch": "vitest",
12
- "format": "npx @biomejs/biome check --write",
13
- "lint": "npx @biomejs/biome check",
14
- "prepare": "husky || true"
15
- },
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/NRCHKB/node-red-contrib-homekit-bridged.git"
19
- },
20
- "keywords": [
21
- "homekit",
22
- "node-red",
23
- "NRCHKB",
24
- "iot",
25
- "home",
26
- "hap-nodejs",
27
- "homebridge"
28
- ],
29
- "node-red": {
30
- "nodes": {
31
- "nrchkb": "build/nodes/nrchkb.js",
32
- "bridge": "build/nodes/bridge.js",
33
- "standalone": "build/nodes/standalone.js",
34
- "service": "build/nodes/service.js",
35
- "service2": "build/nodes/service2.js",
36
- "status": "build/nodes/status.js"
2
+ "name": "node-red-contrib-homekit-bridged",
3
+ "version": "2.0.0-dev.8",
4
+ "description": "Node-RED nodes to simulate Apple HomeKit devices.",
5
+ "main": "build/nodes/nrchkb.js",
6
+ "scripts": {
7
+ "clean": "del-cli \"build/lib\" \"build/**/*.js\"",
8
+ "build": "npm run clean && node esbuild.config.js",
9
+ "watch:ts": "node esbuild.config.js --watch",
10
+ "watch:nodered": "nodemon --watch build -e js,html --exec node-red",
11
+ "dev": "concurrently \"npm run watch:ts\" \"npm run watch:nodered\"",
12
+ "test": "vitest run",
13
+ "test:ci": "vitest run --no-file-parallelism",
14
+ "test:watch": "vitest",
15
+ "migrate:service2": "node build/scripts/migrate-homekit-service-flows.js",
16
+ "format": "biome format --write",
17
+ "lint": "biome check",
18
+ "prepare": "husky || true"
37
19
  },
38
- "version": ">=1.3.7"
39
- },
40
- "author": "Tadeusz Wyrzykowski <shaquu@icloud.com> (https://github.com/Shaquu)",
41
- "license": "Apache-2.0",
42
- "bugs": {
43
- "url": "https://github.com/NRCHKB/node-red-contrib-homekit-bridged/issues"
44
- },
45
- "homepage": "https://github.com/NRCHKB/node-red-contrib-homekit-bridged#readme",
46
- "dependencies": {
47
- "@homebridge/hap-nodejs": "2.0.2",
48
- "@nrchkb/logger": "~3.1.1",
49
- "node-persist": "^3.1.3",
50
- "semver": "~7.7.3",
51
- "uuid": "~13.0.0"
52
- },
53
- "devDependencies": {
54
- "@biomejs/biome": "2.3.7",
55
- "@homebridge/ciao": "~1.3.4",
56
- "@node-red/registry": "^4.1.1",
57
- "@types/node": "^20",
58
- "@types/node-persist": "^3.1.8",
59
- "@types/node-red": "^1.3.5",
60
- "@types/node-red-node-test-helper": "^0.3.5",
61
- "@types/semver": "^7.7.1",
62
- "@types/uuid": "^10.0.0",
63
- "del-cli": "^7.0.0",
64
- "husky": "^9.1.7",
65
- "node-red": "^4.1.1",
66
- "node-red-node-test-helper": "^0.3.5",
67
- "ts-node": "^10.9.2",
68
- "typescript": "^5.9.3",
69
- "vitest": "^4.0.13"
70
- },
71
- "vitest": {
72
- "test": {
73
- "environment": "node",
74
- "testTimeout": 30000,
75
- "include": [
76
- "src/**/*.test.ts"
77
- ]
78
- }
79
- },
80
- "engines": {
81
- "node": "^20 || ^22 || ^24"
82
- },
83
- "files": [
84
- "/build",
85
- "/examples"
86
- ]
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/NRCHKB/node-red-contrib-homekit-bridged.git"
23
+ },
24
+ "keywords": [
25
+ "homekit",
26
+ "node-red",
27
+ "NRCHKB",
28
+ "iot",
29
+ "home",
30
+ "hap-nodejs",
31
+ "homebridge"
32
+ ],
33
+ "node-red": {
34
+ "nodes": {
35
+ "nrchkb": "build/nodes/nrchkb.js",
36
+ "bridge": "build/nodes/bridge.js",
37
+ "standalone": "build/nodes/standalone.js",
38
+ "service": "build/nodes/service.js",
39
+ "service2": "build/nodes/service2.js",
40
+ "status": "build/nodes/status.js",
41
+ "unifi-controller": "build/nodes/unifi-controller.js",
42
+ "plugin-instance": "build/nodes/plugin-instance.js"
43
+ },
44
+ "plugins": {
45
+ "nrchkb-homekit-plugins": "build/plugins/nrchkb-homekit-plugins.js"
46
+ },
47
+ "version": ">=5.0.0"
48
+ },
49
+ "author": "Tadeusz Wyrzykowski <shaquu@icloud.com> (https://github.com/Shaquu)",
50
+ "license": "Apache-2.0",
51
+ "bugs": {
52
+ "url": "https://github.com/NRCHKB/node-red-contrib-homekit-bridged/issues"
53
+ },
54
+ "homepage": "https://github.com/NRCHKB/node-red-contrib-homekit-bridged#readme",
55
+ "dependencies": {
56
+ "@homebridge-plugins/homebridge-camera-ffmpeg": "^4.1.0",
57
+ "@homebridge/hap-nodejs": "2.1.7",
58
+ "@nrchkb/logger": "~3.2.1",
59
+ "homebridge-unifi-protect": "^7.29.0",
60
+ "homekit-code": "^1.2.13",
61
+ "node-persist": "^3.1.3",
62
+ "semver": "~7.8.4",
63
+ "uuid": "~14.0.0"
64
+ },
65
+ "devDependencies": {
66
+ "@biomejs/biome": "2.5.0",
67
+ "@homebridge/ciao": "~1.3.9",
68
+ "@node-red/registry": "^5.0.0",
69
+ "@types/node": "^24.0.0",
70
+ "@types/node-persist": "^3.1.8",
71
+ "@types/node-red": "^1.3.5",
72
+ "@types/node-red-node-test-helper": "^0.3.5",
73
+ "@types/semver": "^7.7.1",
74
+ "@types/uuid": "^10.0.0",
75
+ "concurrently": "^9.2.1",
76
+ "del-cli": "^7.0.0",
77
+ "esbuild": "^0.28.1",
78
+ "glob": "^13.0.6",
79
+ "husky": "^9.1.7",
80
+ "node-red": "^5.0.0",
81
+ "node-red-node-test-helper": "^0.3.6",
82
+ "nodemon": "^3.1.14",
83
+ "ts-node": "^10.9.2",
84
+ "typescript": "^6.0.3",
85
+ "vitest": "^4.1.9"
86
+ },
87
+ "vitest": {
88
+ "test": {
89
+ "environment": "node",
90
+ "testTimeout": 30000,
91
+ "include": ["src/**/*.test.ts"]
92
+ }
93
+ },
94
+ "engines": {
95
+ "node": ">=22.9.0"
96
+ },
97
+ "files": ["/build", "/examples"]
87
98
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- declare class NRCHKBError extends Error {
2
- }
3
- export default NRCHKBError;
@@ -1,30 +0,0 @@
1
- import type { CharacteristicEventTypes, SerializedAccessory, SerializedService } from '@homebridge/hap-nodejs';
2
- import storage, { type InitOptions } from 'node-persist';
3
- import type { SerializedHostType } from './types/storage/SerializedHostType';
4
- import { StorageType } from './types/storage/StorageType';
5
- type EventCallback = {
6
- event: CharacteristicEventTypes;
7
- callback: (value?: any) => void;
8
- };
9
- export declare class Storage {
10
- private static customStoragePath;
11
- private static storageInitialized;
12
- private static memoryStorage;
13
- private static log;
14
- static storagePath(): string;
15
- static init(...storagePathSegments: string[]): Promise<InitOptions>;
16
- static save(type: StorageType, key: string | undefined, value: unknown): Promise<storage.WriteFileResult>;
17
- static saveCallback(eventCallback: EventCallback, ttl?: number): string;
18
- static saveCustomCharacteristics(value: unknown): Promise<storage.WriteFileResult>;
19
- static saveService(key: string, value: unknown): Promise<storage.WriteFileResult>;
20
- static saveAccessory(key: string, value: unknown): Promise<storage.WriteFileResult>;
21
- static saveHost(key: string, serializedHost: SerializedHostType): Promise<storage.WriteFileResult>;
22
- static load(type: StorageType, key?: string): Promise<any>;
23
- static loadCallback(key: string): EventCallback | undefined;
24
- static loadCustomCharacteristics(): Promise<any>;
25
- static loadService(key: string): Promise<SerializedService>;
26
- static loadAccessory(key: string): Promise<SerializedAccessory>;
27
- static loadHost(key: string): Promise<SerializedHostType>;
28
- static uuid4Validate(uuid: string): boolean;
29
- }
30
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import { type Accessory } from '@homebridge/hap-nodejs';
2
- import type CameraConfigType from '../types/CameraConfigType';
3
- export declare const configureCamera: (accessory: Accessory, config?: CameraConfigType) => void;