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

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 +157 -92
  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 +434 -375
  45. package/build/lib/utils/ServiceUtils2.js +514 -309
  46. package/build/lib/utils/index.js +10 -11
  47. package/build/nodes/bridge.html +184 -166
  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 +1601 -88
  51. package/build/nodes/nrchkb.js +66 -88
  52. package/build/nodes/plugin-instance.html +499 -0
  53. package/build/nodes/plugin-instance.js +46 -0
  54. package/build/nodes/service.html +517 -299
  55. package/build/nodes/service.js +5 -6
  56. package/build/nodes/service2.html +1683 -460
  57. package/build/nodes/service2.js +5 -8
  58. package/build/nodes/standalone.html +187 -174
  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,545 +1,545 @@
1
1
  [
2
- {
3
- "id": "a98abda4.5784d",
4
- "type": "group",
5
- "z": "21f36bce.02d864",
6
- "name": "Television: input from device, output to device",
7
- "style": {
8
- "stroke": "#999999",
9
- "fill": "none",
10
- "label": true,
11
- "label-position": "nw",
12
- "color": "#a4a4a4"
2
+ {
3
+ "id": "a98abda4.5784d",
4
+ "type": "group",
5
+ "z": "21f36bce.02d864",
6
+ "name": "Television: input from device, output to device",
7
+ "style": {
8
+ "stroke": "#999999",
9
+ "fill": "none",
10
+ "label": true,
11
+ "label-position": "nw",
12
+ "color": "#a4a4a4"
13
+ },
14
+ "nodes": [
15
+ "894d3458.2f07d",
16
+ "87183aa8.418ec",
17
+ "519fe2f2.b4870c",
18
+ "5de4624c.b2aeac",
19
+ "d5812842.bebac",
20
+ "ac7b78f3.2b9328",
21
+ "1d662593.e8434a",
22
+ "405055ca.02f2dc",
23
+ "f164c3c9.de75e8",
24
+ "d35fba0b.560e68",
25
+ "da9f0bd6.b2bbf",
26
+ "b4c4b8b.fc331c8",
27
+ "56282414.102184",
28
+ "f83a84cb.08b19"
29
+ ],
30
+ "x": 14,
31
+ "y": 59,
32
+ "w": 932,
33
+ "h": 488,
34
+ "info": "## Example With Speaker and 4 inputs\n\nThis example will show a television service with 4 inputs and a speaker (volume control). There are two functions that should be used to name your specific devices. These functions are `Setup TV` and `Setup Inputs`.\n\n**Setup TV:**\nThis function will be run 5 seconds after startup or whenever the `TV Setup` inject node is triggered. Change the name on line 1 of the function. The output message is sent to the Television Service to initialize the name and set the TV to `{\"Active\":0}` (TV off).\n\n**Setup Inputs:**\nThis function will be run 6 seconds after startup or whenever the `Source Setup` inject node is triggered. The following variables are available:\n* Lines 5 through 8 will name your sources\n* Lines 24 through 27 will set the input type according to the values in lines 11 through 21\n\n## Setting the HomeKit item based on TV state\n\nThere are various `inject` nodes which can be used to send information from your television ([Vizio API](https://github.com/exiva/Vizio_SmartCast_API), [Onkyo device](https://github.com/estbeetoo/node-red-contrib-eiscp), [Samsung TV](https://github.com/Toxblh/node-red-contrib-samsung-tv-control), [LG TV](https://github.com/hobbyquaker/node-red-contrib-lgtv), etc). It is up to you as the user to set this up according to your hardware. Use the provided `inject` nodes as a template to begin understanding the payloads expected by the Television Service.\n\nPlease note that the Television Speaker and Input Source service items **DO NOT** receive any input after initial configuration.\n\n## Setting TV state based on HomeKit output\n\nThere are two debug nodes provided. These can be used as examples of the output coming from HomeKit nodes to set up your system accordingly.\n\nThe `State and source output` debug node will output the following payloads:\n* `{\"Active\":0/1}` for TV state off/on\n* `{\"Input\":0-3}` for changing inputs from HomeKit\n* `{\"RemoteKey\":various}` for various integers when using the control center remote\n\n\nThe `Volume output` debug node will output the following payloads:\n* `{\"VolumeSelector\":0}` when control center remote press is \"Increase Volume\"\n* `{\"VolumeSelector\":1}` when control center remote press is \"Decrease Volume\"\n\nThe Input Source services will output payloads like `{\"ConfiguredName\":\"Name\"}` if the name is changed from HomeKit. If you would like to change your input names from within HomeKit rather than the `Set up inputs` function, it can be done but is beyond the scope of this example.\n"
13
35
  },
14
- "nodes": [
15
- "894d3458.2f07d",
16
- "87183aa8.418ec",
17
- "519fe2f2.b4870c",
18
- "5de4624c.b2aeac",
19
- "d5812842.bebac",
20
- "ac7b78f3.2b9328",
21
- "1d662593.e8434a",
22
- "405055ca.02f2dc",
23
- "f164c3c9.de75e8",
24
- "d35fba0b.560e68",
25
- "da9f0bd6.b2bbf",
26
- "b4c4b8b.fc331c8",
27
- "56282414.102184",
28
- "f83a84cb.08b19"
29
- ],
30
- "x": 14,
31
- "y": 59,
32
- "w": 932,
33
- "h": 488,
34
- "info": "## Example With Speaker and 4 inputs\n\nThis example will show a television service with 4 inputs and a speaker (volume control). There are two functions that should be used to name your specific devices. These functions are `Setup TV` and `Setup Inputs`.\n\n**Setup TV:**\nThis function will be run 5 seconds after startup or whenever the `TV Setup` inject node is triggered. Change the name on line 1 of the function. The output message is sent to the Television Service to initialize the name and set the TV to `{\"Active\":0}` (TV off).\n\n**Setup Inputs:**\nThis function will be run 6 seconds after startup or whenever the `Source Setup` inject node is triggered. The following variables are available:\n* Lines 5 through 8 will name your sources\n* Lines 24 through 27 will set the input type according to the values in lines 11 through 21\n\n## Setting the HomeKit item based on TV state\n\nThere are various `inject` nodes which can be used to send information from your television ([Vizio API](https://github.com/exiva/Vizio_SmartCast_API), [Onkyo device](https://github.com/estbeetoo/node-red-contrib-eiscp), [Samsung TV](https://github.com/Toxblh/node-red-contrib-samsung-tv-control), [LG TV](https://github.com/hobbyquaker/node-red-contrib-lgtv), etc). It is up to you as the user to set this up according to your hardware. Use the provided `inject` nodes as a template to begin understanding the payloads expected by the Television Service.\n\nPlease note that the Television Speaker and Input Source service items **DO NOT** receive any input after initial configuration.\n\n## Setting TV state based on HomeKit output\n\nThere are two debug nodes provided. These can be used as examples of the output coming from HomeKit nodes to set up your system accordingly.\n\nThe `State and source output` debug node will output the following payloads:\n* `{\"Active\":0/1}` for TV state off/on\n* `{\"Input\":0-3}` for changing inputs from HomeKit\n* `{\"RemoteKey\":various}` for various integers when using the control center remote\n\n\nThe `Volume output` debug node will output the following payloads:\n* `{\"VolumeSelector\":0}` when control center remote press is \"Increase Volume\"\n* `{\"VolumeSelector\":1}` when control center remote press is \"Decrease Volume\"\n\nThe Input Source services will output payloads like `{\"ConfiguredName\":\"Name\"}` if the name is changed from HomeKit. If you would like to change your input names from within HomeKit rather than the `Set up inputs` function, it can be done but is beyond the scope of this example.\n"
35
- },
36
- {
37
- "id": "894d3458.2f07d",
38
- "type": "inject",
39
- "z": "21f36bce.02d864",
40
- "g": "a98abda4.5784d",
41
- "name": "TV on",
42
- "repeat": "",
43
- "crontab": "",
44
- "once": false,
45
- "onceDelay": 0.1,
46
- "topic": "",
47
- "payload": "{\"Active\":1}",
48
- "payloadType": "json",
49
- "x": 110,
50
- "y": 160,
51
- "wires": [["56282414.102184"]]
52
- },
53
- {
54
- "id": "87183aa8.418ec",
55
- "type": "inject",
56
- "z": "21f36bce.02d864",
57
- "g": "a98abda4.5784d",
58
- "name": "TV off",
59
- "repeat": "",
60
- "crontab": "",
61
- "once": false,
62
- "onceDelay": 0.1,
63
- "topic": "",
64
- "payload": "{\"Active\":0}",
65
- "payloadType": "json",
66
- "x": 110,
67
- "y": 200,
68
- "wires": [["56282414.102184"]]
69
- },
70
- {
71
- "id": "519fe2f2.b4870c",
72
- "type": "debug",
73
- "z": "21f36bce.02d864",
74
- "g": "a98abda4.5784d",
75
- "name": "State and source output",
76
- "active": true,
77
- "tosidebar": true,
78
- "console": false,
79
- "tostatus": false,
80
- "complete": "payload",
81
- "targetType": "msg",
82
- "x": 790,
83
- "y": 140,
84
- "wires": []
85
- },
86
- {
87
- "id": "5de4624c.b2aeac",
88
- "type": "debug",
89
- "z": "21f36bce.02d864",
90
- "g": "a98abda4.5784d",
91
- "name": "Volume output",
92
- "active": true,
93
- "tosidebar": true,
94
- "console": false,
95
- "tostatus": false,
96
- "complete": "payload",
97
- "targetType": "msg",
98
- "statusVal": "",
99
- "statusType": "auto",
100
- "x": 800,
101
- "y": 220,
102
- "wires": []
103
- },
104
- {
105
- "id": "d5812842.bebac",
106
- "type": "inject",
107
- "z": "21f36bce.02d864",
108
- "g": "a98abda4.5784d",
109
- "name": "TV Setup",
110
- "repeat": "",
111
- "crontab": "",
112
- "once": true,
113
- "onceDelay": "5",
114
- "topic": "",
115
- "payload": "",
116
- "payloadType": "date",
117
- "x": 120,
118
- "y": 100,
119
- "wires": [["1d662593.e8434a"]]
120
- },
121
- {
122
- "id": "ac7b78f3.2b9328",
123
- "type": "inject",
124
- "z": "21f36bce.02d864",
125
- "g": "a98abda4.5784d",
126
- "name": "Source Setup",
127
- "repeat": "",
128
- "crontab": "",
129
- "once": true,
130
- "onceDelay": "6",
131
- "topic": "",
132
- "payload": "",
133
- "payloadType": "date",
134
- "x": 140,
135
- "y": 480,
136
- "wires": [["b4c4b8b.fc331c8"]]
137
- },
138
- {
139
- "id": "1d662593.e8434a",
140
- "type": "function",
141
- "z": "21f36bce.02d864",
142
- "g": "a98abda4.5784d",
143
- "name": "Setup TV",
144
- "func": "var name = \"Television\";\n\nmsg.payload = {\n \"ConfiguredName\": name,\n \"ActiveIdentifier\" : 0,\n \"SleepDiscoveryMode\" : 0,\n \"Active\" : 0\n};\nreturn msg;",
145
- "outputs": 1,
146
- "noerr": 0,
147
- "x": 300,
148
- "y": 100,
149
- "wires": [["56282414.102184"]]
150
- },
151
- {
152
- "id": "405055ca.02f2dc",
153
- "type": "inject",
154
- "z": "21f36bce.02d864",
155
- "g": "a98abda4.5784d",
156
- "name": "Input 1",
157
- "repeat": "",
158
- "crontab": "",
159
- "once": false,
160
- "onceDelay": 0.1,
161
- "topic": "",
162
- "payload": "{\"ActiveIdentifier\":1}",
163
- "payloadType": "json",
164
- "x": 110,
165
- "y": 320,
166
- "wires": [["56282414.102184"]]
167
- },
168
- {
169
- "id": "f164c3c9.de75e8",
170
- "type": "inject",
171
- "z": "21f36bce.02d864",
172
- "g": "a98abda4.5784d",
173
- "name": "Input 0",
174
- "repeat": "",
175
- "crontab": "",
176
- "once": false,
177
- "onceDelay": 0.1,
178
- "topic": "",
179
- "payload": "{\"ActiveIdentifier\":0}",
180
- "payloadType": "json",
181
- "x": 110,
182
- "y": 280,
183
- "wires": [["56282414.102184"]]
184
- },
185
- {
186
- "id": "d35fba0b.560e68",
187
- "type": "inject",
188
- "z": "21f36bce.02d864",
189
- "g": "a98abda4.5784d",
190
- "name": "Input 2",
191
- "repeat": "",
192
- "crontab": "",
193
- "once": false,
194
- "onceDelay": 0.1,
195
- "topic": "",
196
- "payload": "{\"ActiveIdentifier\":2}",
197
- "payloadType": "json",
198
- "x": 110,
199
- "y": 360,
200
- "wires": [["56282414.102184"]]
201
- },
202
- {
203
- "id": "da9f0bd6.b2bbf",
204
- "type": "inject",
205
- "z": "21f36bce.02d864",
206
- "g": "a98abda4.5784d",
207
- "name": "Input 3",
208
- "repeat": "",
209
- "crontab": "",
210
- "once": false,
211
- "onceDelay": 0.1,
212
- "topic": "",
213
- "payload": "{\"ActiveIdentifier\":3}",
214
- "payloadType": "json",
215
- "x": 110,
216
- "y": 400,
217
- "wires": [["56282414.102184"]]
218
- },
219
- {
220
- "id": "b4c4b8b.fc331c8",
221
- "type": "function",
222
- "z": "21f36bce.02d864",
223
- "g": "a98abda4.5784d",
224
- "name": "Set up inputs",
225
- "func": "// This function will initialize and name inputs\n// it is set to work with 4 inputs\n\n// INPUT SOURCE NAMES\nvar input0 = \"HDMI 1\";\nvar input1 = \"HDMI 2\";\nvar input2 = \"Apple TV\";\nvar input3 = \"Wii U\";\n\n// INPUT SOURCE TYPES\nvar OTHER = 0;\nvar HOME_SCREEN = 1;\nvar TUNER = 2;\nvar HDMI = 3;\nvar COMPOSITE_VIDEO = 4;\nvar S_VIDEO = 5;\nvar COMPONENT_VIDEO = 6;\nvar DVI = 7;\nvar AIRPLAY = 8;\nvar USB = 9;\nvar APPLICATION = 10;\n\n// Configure your input types based on options above\nvar input0type = HDMI;\nvar input1type = HDMI;\nvar input2type = HDMI;\nvar input3type = COMPOSITE_VIDEO;\n\n\n// Duplicate or remove sets if you have more or fewer inputs\nvar msg0={};\nvar msg1={};\nvar msg2={};\nvar msg3={};\n\nmsg0.payload = {\n \"Identifier\": 0,\n \"IsConfigured\" : 1,\n \"ConfiguredName\": input0,\n \"InputSourceType\": input0type\n};\nmsg1.payload = {\n \"Identifier\": 1,\n \"IsConfigured\" : 1,\n \"ConfiguredName\": input1,\n \"InputSourceType\": input1type\n};\nmsg2.payload = {\n \"Identifier\": 2,\n \"IsConfigured\" : 1,\n \"ConfiguredName\": input2,\n \"InputSourceType\": input2type\n};\nmsg3.payload = {\n \"Identifier\": 3,\n \"IsConfigured\" : 1,\n \"ConfiguredName\" : input3,\n \"InputSourceType\" : input3type\n};\nreturn [msg0,msg1,msg2,msg3];",
226
- "outputs": 4,
227
- "noerr": 0,
228
- "x": 330,
229
- "y": 460,
230
- "wires": [
231
- ["cb312294.a7f498"],
232
- ["28645f7e.68e9b"],
233
- ["3a8efd21.5d57c2"],
234
- ["4c751d1f.e9a014"]
235
- ]
236
- },
237
- {
238
- "id": "56282414.102184",
239
- "type": "homekit-service",
240
- "z": "21f36bce.02d864",
241
- "g": "a98abda4.5784d",
242
- "isParent": true,
243
- "bridge": "5257174b.4307a8",
244
- "parentService": "",
245
- "name": "Television Example",
246
- "serviceName": "Television",
247
- "topic": "",
248
- "filter": false,
249
- "manufacturer": "Default Manufacturer",
250
- "model": "Default Model",
251
- "serialNo": "Default Serial Number",
252
- "firmwareRev": "",
253
- "hardwareRev": "",
254
- "cameraConfigVideoProcessor": "ffmpeg",
255
- "cameraConfigSource": "",
256
- "cameraConfigStillImageSource": "",
257
- "cameraConfigMaxStreams": 2,
258
- "cameraConfigMaxWidth": 1280,
259
- "cameraConfigMaxHeight": 720,
260
- "cameraConfigMaxFPS": 10,
261
- "cameraConfigMaxBitrate": 300,
262
- "cameraConfigVideoCodec": "libx264",
263
- "cameraConfigAudioCodec": "libfdk_aac",
264
- "cameraConfigAudio": false,
265
- "cameraConfigPacketSize": 1316,
266
- "cameraConfigVerticalFlip": false,
267
- "cameraConfigHorizontalFlip": false,
268
- "cameraConfigMapVideo": "0:0",
269
- "cameraConfigMapAudio": "0:1",
270
- "cameraConfigVideoFilter": "scale=1280:720",
271
- "cameraConfigAdditionalCommandLine": "-tune zerolatency",
272
- "cameraConfigDebug": false,
273
- "cameraConfigSnapshotOutput": "disabled",
274
- "cameraConfigInterfaceName": "",
275
- "characteristicProperties": "{\n \"RemoteKey\":null\n}",
276
- "outputs": 2,
277
- "x": 530,
278
- "y": 140,
279
- "wires": [[], ["519fe2f2.b4870c"]]
280
- },
281
- {
282
- "id": "f83a84cb.08b19",
283
- "type": "group",
284
- "z": "21f36bce.02d864",
285
- "g": "a98abda4.5784d",
286
- "name": "Linked services",
287
- "style": {
288
- "stroke": "#0070c0",
289
- "fill": "#bfdbef",
290
- "label": true
36
+ {
37
+ "id": "894d3458.2f07d",
38
+ "type": "inject",
39
+ "z": "21f36bce.02d864",
40
+ "g": "a98abda4.5784d",
41
+ "name": "TV on",
42
+ "repeat": "",
43
+ "crontab": "",
44
+ "once": false,
45
+ "onceDelay": 0.1,
46
+ "topic": "",
47
+ "payload": "{\"Active\":1}",
48
+ "payloadType": "json",
49
+ "x": 110,
50
+ "y": 160,
51
+ "wires": [["56282414.102184"]]
291
52
  },
292
- "nodes": [
293
- "1b32678b.2eedf",
294
- "cb312294.a7f498",
295
- "28645f7e.68e9b",
296
- "3a8efd21.5d57c2",
297
- "4c751d1f.e9a014"
298
- ],
299
- "x": 434,
300
- "y": 179,
301
- "w": 232,
302
- "h": 342
303
- },
304
- {
305
- "id": "1b32678b.2eedf",
306
- "type": "homekit-service",
307
- "z": "21f36bce.02d864",
308
- "g": "f83a84cb.08b19",
309
- "isParent": false,
310
- "bridge": "5257174b.4307a8",
311
- "parentService": "56282414.102184",
312
- "name": "Television Speaker",
313
- "serviceName": "TelevisionSpeaker",
314
- "topic": "Television Example",
315
- "filter": false,
316
- "manufacturer": "Default Manufacturer",
317
- "model": "Default Model",
318
- "serialNo": "Default Serial Number",
319
- "firmwareRev": "",
320
- "hardwareRev": "",
321
- "cameraConfigVideoProcessor": "ffmpeg",
322
- "cameraConfigSource": "",
323
- "cameraConfigStillImageSource": "",
324
- "cameraConfigMaxStreams": 2,
325
- "cameraConfigMaxWidth": 1280,
326
- "cameraConfigMaxHeight": 720,
327
- "cameraConfigMaxFPS": 10,
328
- "cameraConfigMaxBitrate": 300,
329
- "cameraConfigVideoCodec": "libx264",
330
- "cameraConfigAudioCodec": "libfdk_aac",
331
- "cameraConfigAudio": false,
332
- "cameraConfigPacketSize": 1316,
333
- "cameraConfigVerticalFlip": false,
334
- "cameraConfigHorizontalFlip": false,
335
- "cameraConfigMapVideo": "0:0",
336
- "cameraConfigMapAudio": "0:1",
337
- "cameraConfigVideoFilter": "scale=1280:720",
338
- "cameraConfigAdditionalCommandLine": "-tune zerolatency",
339
- "cameraConfigDebug": false,
340
- "cameraConfigSnapshotOutput": "disabled",
341
- "cameraConfigInterfaceName": "",
342
- "characteristicProperties": "{\n \"VolumeControlType\":1,\n \"VolumeSelector\":true\n}",
343
- "outputs": 2,
344
- "x": 550,
345
- "y": 220,
346
- "wires": [[], ["5de4624c.b2aeac"]]
347
- },
348
- {
349
- "id": "cb312294.a7f498",
350
- "type": "homekit-service",
351
- "z": "21f36bce.02d864",
352
- "g": "f83a84cb.08b19",
353
- "isParent": false,
354
- "bridge": "",
355
- "parentService": "56282414.102184",
356
- "name": "Input 0",
357
- "serviceName": "InputSource",
358
- "topic": "Television Example",
359
- "filter": false,
360
- "manufacturer": "Default Manufacturer",
361
- "model": "Default Model",
362
- "serialNo": "Default Serial Number",
363
- "firmwareRev": "",
364
- "hardwareRev": "",
365
- "cameraConfigVideoProcessor": "ffmpeg",
366
- "cameraConfigSource": "",
367
- "cameraConfigStillImageSource": "",
368
- "cameraConfigMaxStreams": 2,
369
- "cameraConfigMaxWidth": 1280,
370
- "cameraConfigMaxHeight": 720,
371
- "cameraConfigMaxFPS": 10,
372
- "cameraConfigMaxBitrate": 300,
373
- "cameraConfigVideoCodec": "libx264",
374
- "cameraConfigAudioCodec": "libfdk_aac",
375
- "cameraConfigAudio": false,
376
- "cameraConfigPacketSize": 1316,
377
- "cameraConfigVerticalFlip": false,
378
- "cameraConfigHorizontalFlip": false,
379
- "cameraConfigMapVideo": "0:0",
380
- "cameraConfigMapAudio": "0:1",
381
- "cameraConfigVideoFilter": "scale=1280:720",
382
- "cameraConfigAdditionalCommandLine": "-tune zerolatency",
383
- "cameraConfigDebug": false,
384
- "cameraConfigSnapshotOutput": "disabled",
385
- "cameraConfigInterfaceName": "",
386
- "characteristicProperties": "{}",
387
- "outputs": 2,
388
- "x": 580,
389
- "y": 300,
390
- "wires": [[], []]
391
- },
392
- {
393
- "id": "28645f7e.68e9b",
394
- "type": "homekit-service",
395
- "z": "21f36bce.02d864",
396
- "g": "f83a84cb.08b19",
397
- "isParent": false,
398
- "bridge": "",
399
- "parentService": "56282414.102184",
400
- "name": "Input 1",
401
- "serviceName": "InputSource",
402
- "topic": "Television Example",
403
- "filter": false,
404
- "manufacturer": "Default Manufacturer",
405
- "model": "Default Model",
406
- "serialNo": "Default Serial Number",
407
- "firmwareRev": "",
408
- "hardwareRev": "",
409
- "cameraConfigVideoProcessor": "ffmpeg",
410
- "cameraConfigSource": "",
411
- "cameraConfigStillImageSource": "",
412
- "cameraConfigMaxStreams": 2,
413
- "cameraConfigMaxWidth": 1280,
414
- "cameraConfigMaxHeight": 720,
415
- "cameraConfigMaxFPS": 10,
416
- "cameraConfigMaxBitrate": 300,
417
- "cameraConfigVideoCodec": "libx264",
418
- "cameraConfigAudioCodec": "libfdk_aac",
419
- "cameraConfigAudio": false,
420
- "cameraConfigPacketSize": 1316,
421
- "cameraConfigVerticalFlip": false,
422
- "cameraConfigHorizontalFlip": false,
423
- "cameraConfigMapVideo": "0:0",
424
- "cameraConfigMapAudio": "0:1",
425
- "cameraConfigVideoFilter": "scale=1280:720",
426
- "cameraConfigAdditionalCommandLine": "-tune zerolatency",
427
- "cameraConfigDebug": false,
428
- "cameraConfigSnapshotOutput": "disabled",
429
- "cameraConfigInterfaceName": "",
430
- "characteristicProperties": "{}",
431
- "outputs": 2,
432
- "x": 580,
433
- "y": 360,
434
- "wires": [[], []]
435
- },
436
- {
437
- "id": "3a8efd21.5d57c2",
438
- "type": "homekit-service",
439
- "z": "21f36bce.02d864",
440
- "g": "f83a84cb.08b19",
441
- "isParent": false,
442
- "bridge": "",
443
- "parentService": "56282414.102184",
444
- "name": "Input 2",
445
- "serviceName": "InputSource",
446
- "topic": "Television Example",
447
- "filter": false,
448
- "manufacturer": "Default Manufacturer",
449
- "model": "Default Model",
450
- "serialNo": "Default Serial Number",
451
- "firmwareRev": "",
452
- "hardwareRev": "",
453
- "cameraConfigVideoProcessor": "ffmpeg",
454
- "cameraConfigSource": "",
455
- "cameraConfigStillImageSource": "",
456
- "cameraConfigMaxStreams": 2,
457
- "cameraConfigMaxWidth": 1280,
458
- "cameraConfigMaxHeight": 720,
459
- "cameraConfigMaxFPS": 10,
460
- "cameraConfigMaxBitrate": 300,
461
- "cameraConfigVideoCodec": "libx264",
462
- "cameraConfigAudioCodec": "libfdk_aac",
463
- "cameraConfigAudio": false,
464
- "cameraConfigPacketSize": 1316,
465
- "cameraConfigVerticalFlip": false,
466
- "cameraConfigHorizontalFlip": false,
467
- "cameraConfigMapVideo": "0:0",
468
- "cameraConfigMapAudio": "0:1",
469
- "cameraConfigVideoFilter": "scale=1280:720",
470
- "cameraConfigAdditionalCommandLine": "-tune zerolatency",
471
- "cameraConfigDebug": false,
472
- "cameraConfigSnapshotOutput": "disabled",
473
- "cameraConfigInterfaceName": "",
474
- "characteristicProperties": "{}",
475
- "outputs": 2,
476
- "x": 580,
477
- "y": 420,
478
- "wires": [[], []]
479
- },
480
- {
481
- "id": "4c751d1f.e9a014",
482
- "type": "homekit-service",
483
- "z": "21f36bce.02d864",
484
- "g": "f83a84cb.08b19",
485
- "isParent": false,
486
- "bridge": "",
487
- "parentService": "56282414.102184",
488
- "name": "Input 3",
489
- "serviceName": "InputSource",
490
- "topic": "Television Example",
491
- "filter": false,
492
- "manufacturer": "Default Manufacturer",
493
- "model": "Default Model",
494
- "serialNo": "Default Serial Number",
495
- "firmwareRev": "",
496
- "hardwareRev": "",
497
- "cameraConfigVideoProcessor": "ffmpeg",
498
- "cameraConfigSource": "",
499
- "cameraConfigStillImageSource": "",
500
- "cameraConfigMaxStreams": 2,
501
- "cameraConfigMaxWidth": 1280,
502
- "cameraConfigMaxHeight": 720,
503
- "cameraConfigMaxFPS": 10,
504
- "cameraConfigMaxBitrate": 300,
505
- "cameraConfigVideoCodec": "libx264",
506
- "cameraConfigAudioCodec": "libfdk_aac",
507
- "cameraConfigAudio": false,
508
- "cameraConfigPacketSize": 1316,
509
- "cameraConfigVerticalFlip": false,
510
- "cameraConfigHorizontalFlip": false,
511
- "cameraConfigMapVideo": "0:0",
512
- "cameraConfigMapAudio": "0:1",
513
- "cameraConfigVideoFilter": "scale=1280:720",
514
- "cameraConfigAdditionalCommandLine": "-tune zerolatency",
515
- "cameraConfigDebug": false,
516
- "cameraConfigSnapshotOutput": "disabled",
517
- "cameraConfigInterfaceName": "",
518
- "characteristicProperties": "{}",
519
- "outputs": 2,
520
- "x": 580,
521
- "y": 480,
522
- "wires": [[], []]
523
- },
524
- {
525
- "id": "5257174b.4307a8",
526
- "type": "homekit-bridge",
527
- "z": "",
528
- "bridgeName": "Demo TV",
529
- "pinCode": "111-11-111",
530
- "port": "",
531
- "allowInsecureRequest": false,
532
- "manufacturer": "NRCHKB",
533
- "model": "Demo",
534
- "serialNo": "1.1.2",
535
- "customMdnsConfig": false,
536
- "mdnsMulticast": true,
537
- "mdnsInterface": "",
538
- "mdnsPort": "",
539
- "mdnsIp": "",
540
- "mdnsTtl": "",
541
- "mdnsLoopback": true,
542
- "mdnsReuseAddr": true,
543
- "allowMessagePassthrough": false
544
- }
53
+ {
54
+ "id": "87183aa8.418ec",
55
+ "type": "inject",
56
+ "z": "21f36bce.02d864",
57
+ "g": "a98abda4.5784d",
58
+ "name": "TV off",
59
+ "repeat": "",
60
+ "crontab": "",
61
+ "once": false,
62
+ "onceDelay": 0.1,
63
+ "topic": "",
64
+ "payload": "{\"Active\":0}",
65
+ "payloadType": "json",
66
+ "x": 110,
67
+ "y": 200,
68
+ "wires": [["56282414.102184"]]
69
+ },
70
+ {
71
+ "id": "519fe2f2.b4870c",
72
+ "type": "debug",
73
+ "z": "21f36bce.02d864",
74
+ "g": "a98abda4.5784d",
75
+ "name": "State and source output",
76
+ "active": true,
77
+ "tosidebar": true,
78
+ "console": false,
79
+ "tostatus": false,
80
+ "complete": "payload",
81
+ "targetType": "msg",
82
+ "x": 790,
83
+ "y": 140,
84
+ "wires": []
85
+ },
86
+ {
87
+ "id": "5de4624c.b2aeac",
88
+ "type": "debug",
89
+ "z": "21f36bce.02d864",
90
+ "g": "a98abda4.5784d",
91
+ "name": "Volume output",
92
+ "active": true,
93
+ "tosidebar": true,
94
+ "console": false,
95
+ "tostatus": false,
96
+ "complete": "payload",
97
+ "targetType": "msg",
98
+ "statusVal": "",
99
+ "statusType": "auto",
100
+ "x": 800,
101
+ "y": 220,
102
+ "wires": []
103
+ },
104
+ {
105
+ "id": "d5812842.bebac",
106
+ "type": "inject",
107
+ "z": "21f36bce.02d864",
108
+ "g": "a98abda4.5784d",
109
+ "name": "TV Setup",
110
+ "repeat": "",
111
+ "crontab": "",
112
+ "once": true,
113
+ "onceDelay": "5",
114
+ "topic": "",
115
+ "payload": "",
116
+ "payloadType": "date",
117
+ "x": 120,
118
+ "y": 100,
119
+ "wires": [["1d662593.e8434a"]]
120
+ },
121
+ {
122
+ "id": "ac7b78f3.2b9328",
123
+ "type": "inject",
124
+ "z": "21f36bce.02d864",
125
+ "g": "a98abda4.5784d",
126
+ "name": "Source Setup",
127
+ "repeat": "",
128
+ "crontab": "",
129
+ "once": true,
130
+ "onceDelay": "6",
131
+ "topic": "",
132
+ "payload": "",
133
+ "payloadType": "date",
134
+ "x": 140,
135
+ "y": 480,
136
+ "wires": [["b4c4b8b.fc331c8"]]
137
+ },
138
+ {
139
+ "id": "1d662593.e8434a",
140
+ "type": "function",
141
+ "z": "21f36bce.02d864",
142
+ "g": "a98abda4.5784d",
143
+ "name": "Setup TV",
144
+ "func": "var name = \"Television\";\n\nmsg.payload = {\n \"ConfiguredName\": name,\n \"ActiveIdentifier\" : 0,\n \"SleepDiscoveryMode\" : 0,\n \"Active\" : 0\n};\nreturn msg;",
145
+ "outputs": 1,
146
+ "noerr": 0,
147
+ "x": 300,
148
+ "y": 100,
149
+ "wires": [["56282414.102184"]]
150
+ },
151
+ {
152
+ "id": "405055ca.02f2dc",
153
+ "type": "inject",
154
+ "z": "21f36bce.02d864",
155
+ "g": "a98abda4.5784d",
156
+ "name": "Input 1",
157
+ "repeat": "",
158
+ "crontab": "",
159
+ "once": false,
160
+ "onceDelay": 0.1,
161
+ "topic": "",
162
+ "payload": "{\"ActiveIdentifier\":1}",
163
+ "payloadType": "json",
164
+ "x": 110,
165
+ "y": 320,
166
+ "wires": [["56282414.102184"]]
167
+ },
168
+ {
169
+ "id": "f164c3c9.de75e8",
170
+ "type": "inject",
171
+ "z": "21f36bce.02d864",
172
+ "g": "a98abda4.5784d",
173
+ "name": "Input 0",
174
+ "repeat": "",
175
+ "crontab": "",
176
+ "once": false,
177
+ "onceDelay": 0.1,
178
+ "topic": "",
179
+ "payload": "{\"ActiveIdentifier\":0}",
180
+ "payloadType": "json",
181
+ "x": 110,
182
+ "y": 280,
183
+ "wires": [["56282414.102184"]]
184
+ },
185
+ {
186
+ "id": "d35fba0b.560e68",
187
+ "type": "inject",
188
+ "z": "21f36bce.02d864",
189
+ "g": "a98abda4.5784d",
190
+ "name": "Input 2",
191
+ "repeat": "",
192
+ "crontab": "",
193
+ "once": false,
194
+ "onceDelay": 0.1,
195
+ "topic": "",
196
+ "payload": "{\"ActiveIdentifier\":2}",
197
+ "payloadType": "json",
198
+ "x": 110,
199
+ "y": 360,
200
+ "wires": [["56282414.102184"]]
201
+ },
202
+ {
203
+ "id": "da9f0bd6.b2bbf",
204
+ "type": "inject",
205
+ "z": "21f36bce.02d864",
206
+ "g": "a98abda4.5784d",
207
+ "name": "Input 3",
208
+ "repeat": "",
209
+ "crontab": "",
210
+ "once": false,
211
+ "onceDelay": 0.1,
212
+ "topic": "",
213
+ "payload": "{\"ActiveIdentifier\":3}",
214
+ "payloadType": "json",
215
+ "x": 110,
216
+ "y": 400,
217
+ "wires": [["56282414.102184"]]
218
+ },
219
+ {
220
+ "id": "b4c4b8b.fc331c8",
221
+ "type": "function",
222
+ "z": "21f36bce.02d864",
223
+ "g": "a98abda4.5784d",
224
+ "name": "Set up inputs",
225
+ "func": "// This function will initialize and name inputs\n// it is set to work with 4 inputs\n\n// INPUT SOURCE NAMES\nvar input0 = \"HDMI 1\";\nvar input1 = \"HDMI 2\";\nvar input2 = \"Apple TV\";\nvar input3 = \"Wii U\";\n\n// INPUT SOURCE TYPES\nvar OTHER = 0;\nvar HOME_SCREEN = 1;\nvar TUNER = 2;\nvar HDMI = 3;\nvar COMPOSITE_VIDEO = 4;\nvar S_VIDEO = 5;\nvar COMPONENT_VIDEO = 6;\nvar DVI = 7;\nvar AIRPLAY = 8;\nvar USB = 9;\nvar APPLICATION = 10;\n\n// Configure your input types based on options above\nvar input0type = HDMI;\nvar input1type = HDMI;\nvar input2type = HDMI;\nvar input3type = COMPOSITE_VIDEO;\n\n\n// Duplicate or remove sets if you have more or fewer inputs\nvar msg0={};\nvar msg1={};\nvar msg2={};\nvar msg3={};\n\nmsg0.payload = {\n \"Identifier\": 0,\n \"IsConfigured\" : 1,\n \"ConfiguredName\": input0,\n \"InputSourceType\": input0type\n};\nmsg1.payload = {\n \"Identifier\": 1,\n \"IsConfigured\" : 1,\n \"ConfiguredName\": input1,\n \"InputSourceType\": input1type\n};\nmsg2.payload = {\n \"Identifier\": 2,\n \"IsConfigured\" : 1,\n \"ConfiguredName\": input2,\n \"InputSourceType\": input2type\n};\nmsg3.payload = {\n \"Identifier\": 3,\n \"IsConfigured\" : 1,\n \"ConfiguredName\" : input3,\n \"InputSourceType\" : input3type\n};\nreturn [msg0,msg1,msg2,msg3];",
226
+ "outputs": 4,
227
+ "noerr": 0,
228
+ "x": 330,
229
+ "y": 460,
230
+ "wires": [
231
+ ["cb312294.a7f498"],
232
+ ["28645f7e.68e9b"],
233
+ ["3a8efd21.5d57c2"],
234
+ ["4c751d1f.e9a014"]
235
+ ]
236
+ },
237
+ {
238
+ "id": "56282414.102184",
239
+ "type": "homekit-service",
240
+ "z": "21f36bce.02d864",
241
+ "g": "a98abda4.5784d",
242
+ "isParent": true,
243
+ "bridge": "5257174b.4307a8",
244
+ "parentService": "",
245
+ "name": "Television Example",
246
+ "serviceName": "Television",
247
+ "topic": "",
248
+ "filter": false,
249
+ "manufacturer": "Default Manufacturer",
250
+ "model": "Default Model",
251
+ "serialNo": "Default Serial Number",
252
+ "firmwareRev": "",
253
+ "hardwareRev": "",
254
+ "cameraConfigVideoProcessor": "ffmpeg",
255
+ "cameraConfigSource": "",
256
+ "cameraConfigStillImageSource": "",
257
+ "cameraConfigMaxStreams": 2,
258
+ "cameraConfigMaxWidth": 1280,
259
+ "cameraConfigMaxHeight": 720,
260
+ "cameraConfigMaxFPS": 10,
261
+ "cameraConfigMaxBitrate": 300,
262
+ "cameraConfigVideoCodec": "libx264",
263
+ "cameraConfigAudioCodec": "libfdk_aac",
264
+ "cameraConfigAudio": false,
265
+ "cameraConfigPacketSize": 1316,
266
+ "cameraConfigVerticalFlip": false,
267
+ "cameraConfigHorizontalFlip": false,
268
+ "cameraConfigMapVideo": "0:0",
269
+ "cameraConfigMapAudio": "0:1",
270
+ "cameraConfigVideoFilter": "scale=1280:720",
271
+ "cameraConfigAdditionalCommandLine": "-tune zerolatency",
272
+ "cameraConfigDebug": false,
273
+ "cameraConfigSnapshotOutput": "disabled",
274
+ "cameraConfigInterfaceName": "",
275
+ "characteristicProperties": "{\n \"RemoteKey\":null\n}",
276
+ "outputs": 2,
277
+ "x": 530,
278
+ "y": 140,
279
+ "wires": [[], ["519fe2f2.b4870c"]]
280
+ },
281
+ {
282
+ "id": "f83a84cb.08b19",
283
+ "type": "group",
284
+ "z": "21f36bce.02d864",
285
+ "g": "a98abda4.5784d",
286
+ "name": "Linked services",
287
+ "style": {
288
+ "stroke": "#0070c0",
289
+ "fill": "#bfdbef",
290
+ "label": true
291
+ },
292
+ "nodes": [
293
+ "1b32678b.2eedf",
294
+ "cb312294.a7f498",
295
+ "28645f7e.68e9b",
296
+ "3a8efd21.5d57c2",
297
+ "4c751d1f.e9a014"
298
+ ],
299
+ "x": 434,
300
+ "y": 179,
301
+ "w": 232,
302
+ "h": 342
303
+ },
304
+ {
305
+ "id": "1b32678b.2eedf",
306
+ "type": "homekit-service",
307
+ "z": "21f36bce.02d864",
308
+ "g": "f83a84cb.08b19",
309
+ "isParent": false,
310
+ "bridge": "5257174b.4307a8",
311
+ "parentService": "56282414.102184",
312
+ "name": "Television Speaker",
313
+ "serviceName": "TelevisionSpeaker",
314
+ "topic": "Television Example",
315
+ "filter": false,
316
+ "manufacturer": "Default Manufacturer",
317
+ "model": "Default Model",
318
+ "serialNo": "Default Serial Number",
319
+ "firmwareRev": "",
320
+ "hardwareRev": "",
321
+ "cameraConfigVideoProcessor": "ffmpeg",
322
+ "cameraConfigSource": "",
323
+ "cameraConfigStillImageSource": "",
324
+ "cameraConfigMaxStreams": 2,
325
+ "cameraConfigMaxWidth": 1280,
326
+ "cameraConfigMaxHeight": 720,
327
+ "cameraConfigMaxFPS": 10,
328
+ "cameraConfigMaxBitrate": 300,
329
+ "cameraConfigVideoCodec": "libx264",
330
+ "cameraConfigAudioCodec": "libfdk_aac",
331
+ "cameraConfigAudio": false,
332
+ "cameraConfigPacketSize": 1316,
333
+ "cameraConfigVerticalFlip": false,
334
+ "cameraConfigHorizontalFlip": false,
335
+ "cameraConfigMapVideo": "0:0",
336
+ "cameraConfigMapAudio": "0:1",
337
+ "cameraConfigVideoFilter": "scale=1280:720",
338
+ "cameraConfigAdditionalCommandLine": "-tune zerolatency",
339
+ "cameraConfigDebug": false,
340
+ "cameraConfigSnapshotOutput": "disabled",
341
+ "cameraConfigInterfaceName": "",
342
+ "characteristicProperties": "{\n \"VolumeControlType\":1,\n \"VolumeSelector\":true\n}",
343
+ "outputs": 2,
344
+ "x": 550,
345
+ "y": 220,
346
+ "wires": [[], ["5de4624c.b2aeac"]]
347
+ },
348
+ {
349
+ "id": "cb312294.a7f498",
350
+ "type": "homekit-service",
351
+ "z": "21f36bce.02d864",
352
+ "g": "f83a84cb.08b19",
353
+ "isParent": false,
354
+ "bridge": "",
355
+ "parentService": "56282414.102184",
356
+ "name": "Input 0",
357
+ "serviceName": "InputSource",
358
+ "topic": "Television Example",
359
+ "filter": false,
360
+ "manufacturer": "Default Manufacturer",
361
+ "model": "Default Model",
362
+ "serialNo": "Default Serial Number",
363
+ "firmwareRev": "",
364
+ "hardwareRev": "",
365
+ "cameraConfigVideoProcessor": "ffmpeg",
366
+ "cameraConfigSource": "",
367
+ "cameraConfigStillImageSource": "",
368
+ "cameraConfigMaxStreams": 2,
369
+ "cameraConfigMaxWidth": 1280,
370
+ "cameraConfigMaxHeight": 720,
371
+ "cameraConfigMaxFPS": 10,
372
+ "cameraConfigMaxBitrate": 300,
373
+ "cameraConfigVideoCodec": "libx264",
374
+ "cameraConfigAudioCodec": "libfdk_aac",
375
+ "cameraConfigAudio": false,
376
+ "cameraConfigPacketSize": 1316,
377
+ "cameraConfigVerticalFlip": false,
378
+ "cameraConfigHorizontalFlip": false,
379
+ "cameraConfigMapVideo": "0:0",
380
+ "cameraConfigMapAudio": "0:1",
381
+ "cameraConfigVideoFilter": "scale=1280:720",
382
+ "cameraConfigAdditionalCommandLine": "-tune zerolatency",
383
+ "cameraConfigDebug": false,
384
+ "cameraConfigSnapshotOutput": "disabled",
385
+ "cameraConfigInterfaceName": "",
386
+ "characteristicProperties": "{}",
387
+ "outputs": 2,
388
+ "x": 580,
389
+ "y": 300,
390
+ "wires": [[], []]
391
+ },
392
+ {
393
+ "id": "28645f7e.68e9b",
394
+ "type": "homekit-service",
395
+ "z": "21f36bce.02d864",
396
+ "g": "f83a84cb.08b19",
397
+ "isParent": false,
398
+ "bridge": "",
399
+ "parentService": "56282414.102184",
400
+ "name": "Input 1",
401
+ "serviceName": "InputSource",
402
+ "topic": "Television Example",
403
+ "filter": false,
404
+ "manufacturer": "Default Manufacturer",
405
+ "model": "Default Model",
406
+ "serialNo": "Default Serial Number",
407
+ "firmwareRev": "",
408
+ "hardwareRev": "",
409
+ "cameraConfigVideoProcessor": "ffmpeg",
410
+ "cameraConfigSource": "",
411
+ "cameraConfigStillImageSource": "",
412
+ "cameraConfigMaxStreams": 2,
413
+ "cameraConfigMaxWidth": 1280,
414
+ "cameraConfigMaxHeight": 720,
415
+ "cameraConfigMaxFPS": 10,
416
+ "cameraConfigMaxBitrate": 300,
417
+ "cameraConfigVideoCodec": "libx264",
418
+ "cameraConfigAudioCodec": "libfdk_aac",
419
+ "cameraConfigAudio": false,
420
+ "cameraConfigPacketSize": 1316,
421
+ "cameraConfigVerticalFlip": false,
422
+ "cameraConfigHorizontalFlip": false,
423
+ "cameraConfigMapVideo": "0:0",
424
+ "cameraConfigMapAudio": "0:1",
425
+ "cameraConfigVideoFilter": "scale=1280:720",
426
+ "cameraConfigAdditionalCommandLine": "-tune zerolatency",
427
+ "cameraConfigDebug": false,
428
+ "cameraConfigSnapshotOutput": "disabled",
429
+ "cameraConfigInterfaceName": "",
430
+ "characteristicProperties": "{}",
431
+ "outputs": 2,
432
+ "x": 580,
433
+ "y": 360,
434
+ "wires": [[], []]
435
+ },
436
+ {
437
+ "id": "3a8efd21.5d57c2",
438
+ "type": "homekit-service",
439
+ "z": "21f36bce.02d864",
440
+ "g": "f83a84cb.08b19",
441
+ "isParent": false,
442
+ "bridge": "",
443
+ "parentService": "56282414.102184",
444
+ "name": "Input 2",
445
+ "serviceName": "InputSource",
446
+ "topic": "Television Example",
447
+ "filter": false,
448
+ "manufacturer": "Default Manufacturer",
449
+ "model": "Default Model",
450
+ "serialNo": "Default Serial Number",
451
+ "firmwareRev": "",
452
+ "hardwareRev": "",
453
+ "cameraConfigVideoProcessor": "ffmpeg",
454
+ "cameraConfigSource": "",
455
+ "cameraConfigStillImageSource": "",
456
+ "cameraConfigMaxStreams": 2,
457
+ "cameraConfigMaxWidth": 1280,
458
+ "cameraConfigMaxHeight": 720,
459
+ "cameraConfigMaxFPS": 10,
460
+ "cameraConfigMaxBitrate": 300,
461
+ "cameraConfigVideoCodec": "libx264",
462
+ "cameraConfigAudioCodec": "libfdk_aac",
463
+ "cameraConfigAudio": false,
464
+ "cameraConfigPacketSize": 1316,
465
+ "cameraConfigVerticalFlip": false,
466
+ "cameraConfigHorizontalFlip": false,
467
+ "cameraConfigMapVideo": "0:0",
468
+ "cameraConfigMapAudio": "0:1",
469
+ "cameraConfigVideoFilter": "scale=1280:720",
470
+ "cameraConfigAdditionalCommandLine": "-tune zerolatency",
471
+ "cameraConfigDebug": false,
472
+ "cameraConfigSnapshotOutput": "disabled",
473
+ "cameraConfigInterfaceName": "",
474
+ "characteristicProperties": "{}",
475
+ "outputs": 2,
476
+ "x": 580,
477
+ "y": 420,
478
+ "wires": [[], []]
479
+ },
480
+ {
481
+ "id": "4c751d1f.e9a014",
482
+ "type": "homekit-service",
483
+ "z": "21f36bce.02d864",
484
+ "g": "f83a84cb.08b19",
485
+ "isParent": false,
486
+ "bridge": "",
487
+ "parentService": "56282414.102184",
488
+ "name": "Input 3",
489
+ "serviceName": "InputSource",
490
+ "topic": "Television Example",
491
+ "filter": false,
492
+ "manufacturer": "Default Manufacturer",
493
+ "model": "Default Model",
494
+ "serialNo": "Default Serial Number",
495
+ "firmwareRev": "",
496
+ "hardwareRev": "",
497
+ "cameraConfigVideoProcessor": "ffmpeg",
498
+ "cameraConfigSource": "",
499
+ "cameraConfigStillImageSource": "",
500
+ "cameraConfigMaxStreams": 2,
501
+ "cameraConfigMaxWidth": 1280,
502
+ "cameraConfigMaxHeight": 720,
503
+ "cameraConfigMaxFPS": 10,
504
+ "cameraConfigMaxBitrate": 300,
505
+ "cameraConfigVideoCodec": "libx264",
506
+ "cameraConfigAudioCodec": "libfdk_aac",
507
+ "cameraConfigAudio": false,
508
+ "cameraConfigPacketSize": 1316,
509
+ "cameraConfigVerticalFlip": false,
510
+ "cameraConfigHorizontalFlip": false,
511
+ "cameraConfigMapVideo": "0:0",
512
+ "cameraConfigMapAudio": "0:1",
513
+ "cameraConfigVideoFilter": "scale=1280:720",
514
+ "cameraConfigAdditionalCommandLine": "-tune zerolatency",
515
+ "cameraConfigDebug": false,
516
+ "cameraConfigSnapshotOutput": "disabled",
517
+ "cameraConfigInterfaceName": "",
518
+ "characteristicProperties": "{}",
519
+ "outputs": 2,
520
+ "x": 580,
521
+ "y": 480,
522
+ "wires": [[], []]
523
+ },
524
+ {
525
+ "id": "5257174b.4307a8",
526
+ "type": "homekit-bridge",
527
+ "z": "",
528
+ "bridgeName": "Demo TV",
529
+ "pinCode": "111-11-111",
530
+ "port": "",
531
+ "allowInsecureRequest": false,
532
+ "manufacturer": "NRCHKB",
533
+ "model": "Demo",
534
+ "serialNo": "1.1.2",
535
+ "customMdnsConfig": false,
536
+ "mdnsMulticast": true,
537
+ "mdnsInterface": "",
538
+ "mdnsPort": "",
539
+ "mdnsIp": "",
540
+ "mdnsTtl": "",
541
+ "mdnsLoopback": true,
542
+ "mdnsReuseAddr": true,
543
+ "allowMessagePassthrough": false
544
+ }
545
545
  ]