nodejs-poolcontroller 7.6.1 → 8.0.0

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 (102) hide show
  1. package/.eslintrc.json +36 -45
  2. package/.github/ISSUE_TEMPLATE/1-bug-report.yml +84 -0
  3. package/.github/ISSUE_TEMPLATE/2-docs.md +12 -0
  4. package/.github/ISSUE_TEMPLATE/3-proposal.md +28 -0
  5. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  6. package/CONTRIBUTING.md +74 -74
  7. package/Changelog +242 -215
  8. package/Dockerfile +17 -17
  9. package/Gruntfile.js +40 -40
  10. package/LICENSE +661 -661
  11. package/README.md +195 -191
  12. package/anslq25/MessagesMock.ts +218 -0
  13. package/anslq25/boards/MockBoardFactory.ts +50 -0
  14. package/anslq25/boards/MockEasyTouchBoard.ts +696 -0
  15. package/anslq25/boards/MockSystemBoard.ts +217 -0
  16. package/anslq25/chemistry/MockChlorinator.ts +75 -0
  17. package/anslq25/pumps/MockPump.ts +84 -0
  18. package/app.ts +10 -14
  19. package/config/Config.ts +26 -8
  20. package/config/VersionCheck.ts +8 -4
  21. package/controller/Constants.ts +59 -25
  22. package/controller/Equipment.ts +2667 -2459
  23. package/controller/Errors.ts +181 -180
  24. package/controller/Lockouts.ts +534 -436
  25. package/controller/State.ts +596 -77
  26. package/controller/boards/AquaLinkBoard.ts +1003 -0
  27. package/controller/boards/BoardFactory.ts +53 -45
  28. package/controller/boards/EasyTouchBoard.ts +3079 -2653
  29. package/controller/boards/IntelliCenterBoard.ts +3821 -4230
  30. package/controller/boards/IntelliComBoard.ts +69 -63
  31. package/controller/boards/IntelliTouchBoard.ts +384 -241
  32. package/controller/boards/NixieBoard.ts +1871 -1675
  33. package/controller/boards/SunTouchBoard.ts +393 -0
  34. package/controller/boards/SystemBoard.ts +5244 -4697
  35. package/controller/comms/Comms.ts +905 -541
  36. package/controller/comms/ScreenLogic.ts +1663 -0
  37. package/controller/comms/messages/Messages.ts +382 -54
  38. package/controller/comms/messages/config/ChlorinatorMessage.ts +8 -4
  39. package/controller/comms/messages/config/CircuitGroupMessage.ts +5 -2
  40. package/controller/comms/messages/config/CircuitMessage.ts +82 -13
  41. package/controller/comms/messages/config/ConfigMessage.ts +3 -1
  42. package/controller/comms/messages/config/CoverMessage.ts +2 -1
  43. package/controller/comms/messages/config/CustomNameMessage.ts +31 -30
  44. package/controller/comms/messages/config/EquipmentMessage.ts +5 -1
  45. package/controller/comms/messages/config/ExternalMessage.ts +33 -3
  46. package/controller/comms/messages/config/FeatureMessage.ts +2 -1
  47. package/controller/comms/messages/config/GeneralMessage.ts +2 -1
  48. package/controller/comms/messages/config/HeaterMessage.ts +145 -11
  49. package/controller/comms/messages/config/IntellichemMessage.ts +2 -1
  50. package/controller/comms/messages/config/OptionsMessage.ts +16 -27
  51. package/controller/comms/messages/config/PumpMessage.ts +62 -47
  52. package/controller/comms/messages/config/RemoteMessage.ts +80 -13
  53. package/controller/comms/messages/config/ScheduleMessage.ts +390 -347
  54. package/controller/comms/messages/config/SecurityMessage.ts +2 -1
  55. package/controller/comms/messages/config/ValveMessage.ts +44 -27
  56. package/controller/comms/messages/status/ChlorinatorStateMessage.ts +44 -91
  57. package/controller/comms/messages/status/EquipmentStateMessage.ts +139 -30
  58. package/controller/comms/messages/status/HeaterStateMessage.ts +135 -86
  59. package/controller/comms/messages/status/IntelliChemStateMessage.ts +448 -445
  60. package/controller/comms/messages/status/IntelliValveStateMessage.ts +36 -35
  61. package/controller/comms/messages/status/PumpStateMessage.ts +92 -2
  62. package/controller/comms/messages/status/VersionMessage.ts +2 -1
  63. package/controller/nixie/Nixie.ts +173 -162
  64. package/controller/nixie/NixieEquipment.ts +104 -103
  65. package/controller/nixie/bodies/Body.ts +120 -120
  66. package/controller/nixie/bodies/Filter.ts +135 -135
  67. package/controller/nixie/chemistry/ChemController.ts +2682 -2498
  68. package/controller/nixie/chemistry/ChemDoser.ts +806 -0
  69. package/controller/nixie/chemistry/Chlorinator.ts +367 -314
  70. package/controller/nixie/circuits/Circuit.ts +402 -248
  71. package/controller/nixie/heaters/Heater.ts +815 -649
  72. package/controller/nixie/pumps/Pump.ts +934 -661
  73. package/controller/nixie/schedules/Schedule.ts +319 -257
  74. package/controller/nixie/valves/Valve.ts +170 -170
  75. package/defaultConfig.json +346 -286
  76. package/logger/DataLogger.ts +448 -448
  77. package/logger/Logger.ts +38 -9
  78. package/package.json +60 -56
  79. package/tsconfig.json +25 -25
  80. package/web/Server.ts +275 -117
  81. package/web/bindings/aqualinkD.json +560 -0
  82. package/web/bindings/homeassistant.json +437 -0
  83. package/web/bindings/influxDB.json +1066 -1021
  84. package/web/bindings/mqtt.json +721 -654
  85. package/web/bindings/mqttAlt.json +746 -684
  86. package/web/bindings/rulesManager.json +54 -54
  87. package/web/bindings/smartThings-Hubitat.json +31 -31
  88. package/web/bindings/valveRelays.json +20 -20
  89. package/web/bindings/vera.json +25 -25
  90. package/web/interfaces/baseInterface.ts +188 -136
  91. package/web/interfaces/httpInterface.ts +148 -124
  92. package/web/interfaces/influxInterface.ts +283 -245
  93. package/web/interfaces/mqttInterface.ts +695 -475
  94. package/web/interfaces/ruleInterface.ts +87 -0
  95. package/web/services/config/Config.ts +177 -49
  96. package/web/services/config/ConfigSocket.ts +2 -1
  97. package/web/services/state/State.ts +154 -3
  98. package/web/services/state/StateSocket.ts +69 -18
  99. package/web/services/utilities/Utilities.ts +232 -42
  100. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -52
  101. package/config copy.json +0 -300
  102. package/issue_template.md +0 -52
@@ -1,286 +1,346 @@
1
- {
2
- "controller": {
3
- "comms": {
4
- "enabled": true,
5
- "rs485Port": "/dev/ttyUSB0",
6
- "mockPort": false,
7
- "netConnect": false,
8
- "netHost": "raspberrypi",
9
- "netPort": 9801,
10
- "inactivityRetry": 10,
11
- "portSettings": {
12
- "baudRate": 9600,
13
- "dataBits": 8,
14
- "parity": "none",
15
- "stopBits": 1,
16
- "flowControl": false,
17
- "autoOpen": false,
18
- "lock": false
19
- }
20
- },
21
- "backups": {
22
- "automatic": false,
23
- "interval": {
24
- "days": 30,
25
- "hours": 0
26
- },
27
- "keepCount": 5,
28
- "njsPC": true,
29
- "servers": []
30
- }
31
-
32
- },
33
- "web": {
34
- "servers": {
35
- "http2": {
36
- "enabled": false
37
- },
38
- "http": {
39
- "enabled": true,
40
- "ip": "0.0.0.0",
41
- "port": 4200,
42
- "httpsRedirect": false,
43
- "authentication": "none",
44
- "authFile": "/users.htpasswd"
45
- },
46
- "https": {
47
- "enabled": false,
48
- "ip": "0.0.0.0",
49
- "port": 4201,
50
- "authentication": "none",
51
- "authFile": "/users.htpasswd",
52
- "sslKeyFile": "",
53
- "sslCertFile": ""
54
- },
55
- "mdns": {
56
- "enabled": false
57
- },
58
- "ssdp": {
59
- "enabled": true
60
- }
61
- },
62
- "services": {},
63
- "interfaces": {
64
- "smartThings": {
65
- "name": "SmartThings",
66
- "type": "rest",
67
- "enabled": false,
68
- "fileName": "smartThings-Hubitat.json",
69
- "globals": {},
70
- "options": {
71
- "host": "0.0.0.0",
72
- "port": 39500
73
- }
74
- },
75
- "hubitat": {
76
- "name": "Hubitat",
77
- "type": "rest",
78
- "enabled": false,
79
- "fileName": "smartThings-Hubitat.json",
80
- "globals": {},
81
- "options": {
82
- "host": "0.0.0.0",
83
- "port": 39501
84
- }
85
- },
86
- "vera": {
87
- "name": "Vera",
88
- "type": "rest",
89
- "enabled": false,
90
- "fileName": "vera.json",
91
- "vars": {
92
- "deviceId": 0
93
- },
94
- "options": {
95
- "host": "",
96
- "port": 3480
97
- }
98
- },
99
- "valveRelay": {
100
- "type": "rest",
101
- "name": "Valve Relays",
102
- "enabled": false,
103
- "fileName": "valveRelays.json",
104
- "vars": {
105
- "valveIds": []
106
- },
107
- "options": {
108
- "host": "0.0.0.0",
109
- "port": 8081
110
- }
111
- },
112
- "influxDB": {
113
- "name": "InfluxDB",
114
- "type": "influx",
115
- "enabled": false,
116
- "fileName": "influxDB.json",
117
- "options": {
118
- "version": 1,
119
- "protocol": "http",
120
- "host": "192.168.0.1",
121
- "port": 9999,
122
- "username": "",
123
- "password": "",
124
- "database": "pool",
125
- "retentionPolicy": "autogen"
126
- }
127
- },
128
- "influxDBv2": {
129
- "name": "InfluxDBv2",
130
- "type": "influx",
131
- "enabled": false,
132
- "fileName": "influxDB.json",
133
- "options": {
134
- "version": 2,
135
- "protocol": "http",
136
- "host": "192.168.0.1",
137
- "port": 9999,
138
- "token": "...LuyM84JJx93Qvc7tfaXPbI_mFFjRBjaA==",
139
- "org": "example-org",
140
- "bucket": "57ec4eed2d90a50b"
141
- }
142
- },
143
- "mqtt": {
144
- "name": "MQTT",
145
- "type": "mqtt",
146
- "enabled": false,
147
- "fileName": "mqtt.json",
148
- "globals": {},
149
- "options": {
150
- "protocol": "mqtt://",
151
- "host": "192.168.0.1",
152
- "port": 1883,
153
- "username": "",
154
- "password": "",
155
- "selfSignedCertificate": false,
156
- "rootTopic": "@bind=(state.equipment.model).replace(' ','-').replace('/','').toLowerCase();",
157
- "retain": true,
158
- "qos": 0,
159
- "changesOnly": true
160
- }
161
- },
162
- "mqttAlt": {
163
- "name": "MQTTAlt",
164
- "type": "mqtt",
165
- "enabled": false,
166
- "fileName": "mqttAlt.json",
167
- "globals": {},
168
- "options": {
169
- "protocol": "mqtt://",
170
- "host": "192.168.0.1",
171
- "port": 1883,
172
- "username": "",
173
- "password": "",
174
- "rootTopic": "@bind=(state.equipment.model).replace(' ','-').replace('/','').toLowerCase();Alt",
175
- "retain": true,
176
- "qos": 0,
177
- "changesOnly": true
178
- }
179
- },
180
- "rem": {
181
- "name": "Relay Equipment Manager",
182
- "type": "rem",
183
- "enabled": false,
184
- "options": {
185
- "protocol": "http://",
186
- "host": "raspberrypi",
187
- "port": 8080,
188
- "headers": {
189
- "content-type": "application/json"
190
- }
191
- },
192
- "socket": {
193
- "transports": [
194
- "websocket"
195
- ],
196
- "upgrade": false,
197
- "reconnectionDelay": 2000,
198
- "reconnection": true,
199
- "reconnectionDelayMax": 20000
200
- }
201
- }
202
- }
203
- },
204
- "log": {
205
- "packet": {
206
- "enabled": false,
207
- "logToConsole": false,
208
- "logToFile": false,
209
- "filename": "packetLog",
210
- "invalid": true,
211
- "broadcast": {
212
- "enabled": true,
213
- "includeActions": [],
214
- "includeSource": [],
215
- "includeDest": [],
216
- "excludeActions": [],
217
- "excludeSource": [],
218
- "excludeDest": []
219
- },
220
- "pump": {
221
- "enabled": true,
222
- "includeActions": [],
223
- "includeSource": [],
224
- "includeDest": [],
225
- "excludeActions": [],
226
- "excludeSource": [],
227
- "excludeDest": []
228
- },
229
- "chlorinator": {
230
- "enabled": true,
231
- "includeSource": [],
232
- "includeDest": [],
233
- "excludeSource": [],
234
- "excludeDest": []
235
- },
236
- "intellichem": {
237
- "enabled": true,
238
- "includeActions": [],
239
- "excludeActions": [],
240
- "includeSource": [],
241
- "includeDest": [],
242
- "excludeSource": [],
243
- "excludeDest": []
244
- },
245
- "intellivalve": {
246
- "enabled": true,
247
- "includeActions": [],
248
- "excludeActions": [],
249
- "includeSource": [],
250
- "includeDest": [],
251
- "excludeSource": [],
252
- "excludeDest": []
253
- },
254
- "heater": {
255
- "enabled": true,
256
- "includeActions": [],
257
- "excludeActions": [],
258
- "includeSource": [],
259
- "includeDest": [],
260
- "excludeSource": [],
261
- "excludeDest": []
262
- },
263
- "unidentified": {
264
- "enabled": true,
265
- "includeSource": [],
266
- "includeDest": [],
267
- "excludeSource": [],
268
- "excludeDest": []
269
- },
270
- "unknown": {
271
- "enabled": true,
272
- "includeSource": [],
273
- "includeDest": [],
274
- "excludeSource": [],
275
- "excludeDest": []
276
- }
277
- },
278
- "app": {
279
- "enabled": true,
280
- "level": "info",
281
- "captureForReplay": false,
282
- "logToFile": false
283
- }
284
- },
285
- "appVersion": "0.0.1"
286
- }
1
+ {
2
+ "controller": {
3
+ "comms": {
4
+ "portId": 0,
5
+ "enabled": true,
6
+ "rs485Port": "/dev/ttyUSB0",
7
+ "mock": false,
8
+ "netConnect": false,
9
+ "netHost": "raspberrypi",
10
+ "netPort": 9801,
11
+ "inactivityRetry": 10,
12
+ "portSettings": {
13
+ "baudRate": 9600,
14
+ "dataBits": 8,
15
+ "parity": "none",
16
+ "stopBits": 1,
17
+ "rtscts": false,
18
+ "autoOpen": false,
19
+ "lock": false
20
+ },
21
+ "netSettings": {
22
+ "allowHalfOpen": false,
23
+ "keepAlive": false,
24
+ "keepAliveInitialDelay": 5
25
+ },
26
+ "screenlogic": {
27
+ "connectionType": "local",
28
+ "systemName": "Pentair: 00-00-00",
29
+ "password": 1234
30
+ }
31
+ },
32
+ "backups": {
33
+ "automatic": false,
34
+ "interval": {
35
+ "days": 30,
36
+ "hours": 0
37
+ },
38
+ "keepCount": 5,
39
+ "njsPC": true,
40
+ "servers": []
41
+ }
42
+ },
43
+ "web": {
44
+ "servers": {
45
+ "http2": {
46
+ "enabled": false
47
+ },
48
+ "http": {
49
+ "enabled": true,
50
+ "ip": "0.0.0.0",
51
+ "port": 4200,
52
+ "httpsRedirect": false,
53
+ "authentication": "none",
54
+ "authFile": "/users.htpasswd"
55
+ },
56
+ "https": {
57
+ "enabled": false,
58
+ "ip": "0.0.0.0",
59
+ "port": 4201,
60
+ "authentication": "none",
61
+ "authFile": "/users.htpasswd",
62
+ "sslKeyFile": "",
63
+ "sslCertFile": ""
64
+ },
65
+ "mdns": {
66
+ "enabled": false
67
+ },
68
+ "ssdp": {
69
+ "enabled": true
70
+ }
71
+ },
72
+ "services": {},
73
+ "interfaces": {
74
+ "smartThings": {
75
+ "name": "SmartThings",
76
+ "type": "rest",
77
+ "enabled": false,
78
+ "fileName": "smartThings-Hubitat.json",
79
+ "globals": {},
80
+ "options": {
81
+ "host": "0.0.0.0",
82
+ "port": 39500
83
+ }
84
+ },
85
+ "hubitat": {
86
+ "name": "Hubitat",
87
+ "type": "rest",
88
+ "enabled": false,
89
+ "fileName": "smartThings-Hubitat.json",
90
+ "globals": {},
91
+ "options": {
92
+ "host": "0.0.0.0",
93
+ "port": 39501
94
+ }
95
+ },
96
+ "vera": {
97
+ "name": "Vera",
98
+ "type": "rest",
99
+ "enabled": false,
100
+ "fileName": "vera.json",
101
+ "vars": {
102
+ "deviceId": 0
103
+ },
104
+ "options": {
105
+ "host": "",
106
+ "port": 3480
107
+ }
108
+ },
109
+ "valveRelay": {
110
+ "type": "rest",
111
+ "name": "Valve Relays",
112
+ "enabled": false,
113
+ "fileName": "valveRelays.json",
114
+ "vars": {
115
+ "valveIds": []
116
+ },
117
+ "options": {
118
+ "host": "0.0.0.0",
119
+ "port": 8081
120
+ }
121
+ },
122
+ "influxDB": {
123
+ "name": "InfluxDB",
124
+ "type": "influx",
125
+ "enabled": false,
126
+ "fileName": "influxDB.json",
127
+ "options": {
128
+ "version": 1,
129
+ "protocol": "http",
130
+ "host": "192.168.0.1",
131
+ "port": 9999,
132
+ "username": "",
133
+ "password": "",
134
+ "database": "pool",
135
+ "retentionPolicy": "autogen"
136
+ }
137
+ },
138
+ "influxDBv2": {
139
+ "name": "InfluxDBv2",
140
+ "type": "influx",
141
+ "enabled": false,
142
+ "fileName": "influxDB.json",
143
+ "options": {
144
+ "version": 2,
145
+ "protocol": "http",
146
+ "host": "192.168.0.1",
147
+ "port": 9999,
148
+ "token": "...LuyM84JJx93Qvc7tfaXPbI_mFFjRBjaA==",
149
+ "org": "example-org",
150
+ "bucket": "57ec4eed2d90a50b"
151
+ }
152
+ },
153
+ "mqtt": {
154
+ "name": "MQTT",
155
+ "type": "mqtt",
156
+ "enabled": false,
157
+ "fileName": "mqtt.json",
158
+ "globals": {},
159
+ "options": {
160
+ "protocol": "mqtt://",
161
+ "host": "192.168.0.1",
162
+ "port": 1883,
163
+ "username": "",
164
+ "password": "",
165
+ "selfSignedCertificate": false,
166
+ "rootTopic": "@bind=(state.equipment.model).replace(' ','-').replace('/','').toLowerCase();",
167
+ "retain": true,
168
+ "qos": 0,
169
+ "changesOnly": true
170
+ }
171
+ },
172
+ "aqualinkD": {
173
+ "name": "AquaLinkD",
174
+ "type": "mqtt",
175
+ "enabled": false,
176
+ "fileName": "aqualinkD.json",
177
+ "globals": {},
178
+ "options": {
179
+ "protocol": "mqtt://",
180
+ "host": "192.168.0.1",
181
+ "port": 1883,
182
+ "username": "",
183
+ "password": "",
184
+ "rootTopic": "aqualinkd",
185
+ "retain": true,
186
+ "qos": 0,
187
+ "changesOnly": true
188
+ },
189
+ "vars": {
190
+ "tempPrecision": 2,
191
+ "tempUnits": "@bind=sys.board.valueMaps.tempUnits.getName(state.temps.units);"
192
+ }
193
+ },
194
+ "mqttAlt": {
195
+ "name": "MQTTAlt",
196
+ "type": "mqtt",
197
+ "enabled": false,
198
+ "fileName": "mqttAlt.json",
199
+ "globals": {},
200
+ "options": {
201
+ "protocol": "mqtt://",
202
+ "host": "192.168.0.1",
203
+ "port": 1883,
204
+ "username": "",
205
+ "password": "",
206
+ "rootTopic": "@bind=(state.equipment.model).replace(' ','-').replace('/','').toLowerCase();Alt",
207
+ "retain": true,
208
+ "qos": 0,
209
+ "changesOnly": true
210
+ }
211
+ },
212
+ "homeAssistant": {
213
+ "name": "Home Assistant",
214
+ "type": "mqtt",
215
+ "enabled": false,
216
+ "fileName": "homeassistant.json",
217
+ "globals": {},
218
+ "options": {
219
+ "protocol": "mqtt://",
220
+ "host": "192.168.0.1",
221
+ "port": 1883,
222
+ "username": "",
223
+ "password": "",
224
+ "selfSignedCertificate": false,
225
+ "retain": true,
226
+ "qos": 0,
227
+ "changesOnly": true
228
+ },
229
+ "vars": {
230
+ "_note": "hassTopic is the topic that HASS reads for configuration and should not be changed. mqttTopic should match the topic in the MQTT binding (do not use MQTTAlt for HASS).",
231
+ "hassTopic": "homeassistant",
232
+ "mqttTopic": "@bind=(state.equipment.model).replace(' ','-').replace('/','').toLowerCase();"
233
+ }
234
+ },
235
+ "rem": {
236
+ "name": "Relay Equipment Manager",
237
+ "type": "rem",
238
+ "enabled": false,
239
+ "options": {
240
+ "protocol": "http://",
241
+ "host": "raspberrypi",
242
+ "port": 8080,
243
+ "headers": {
244
+ "content-type": "application/json"
245
+ }
246
+ },
247
+ "socket": {
248
+ "transports": [
249
+ "websocket"
250
+ ],
251
+ "upgrade": false,
252
+ "reconnectionDelay": 2000,
253
+ "reconnection": true,
254
+ "reconnectionDelayMax": 20000
255
+ }
256
+ }
257
+ }
258
+ },
259
+ "log": {
260
+ "screenlogic": {
261
+ "enabled": false,
262
+ "logToConsole": false,
263
+ "logToFile": false
264
+ },
265
+ "packet": {
266
+ "logToConsole": false,
267
+ "logToFile": false,
268
+ "enabled": false,
269
+ "filename": "packetLog",
270
+ "invalid": true,
271
+ "broadcast": {
272
+ "enabled": true,
273
+ "includeActions": [],
274
+ "includeSource": [],
275
+ "includeDest": [],
276
+ "excludeActions": [],
277
+ "excludeSource": [],
278
+ "excludeDest": []
279
+ },
280
+ "pump": {
281
+ "enabled": true,
282
+ "includeActions": [],
283
+ "includeSource": [],
284
+ "includeDest": [],
285
+ "excludeActions": [],
286
+ "excludeSource": [],
287
+ "excludeDest": []
288
+ },
289
+ "chlorinator": {
290
+ "enabled": true,
291
+ "includeSource": [],
292
+ "includeDest": [],
293
+ "excludeSource": [],
294
+ "excludeDest": []
295
+ },
296
+ "intellichem": {
297
+ "enabled": true,
298
+ "includeActions": [],
299
+ "excludeActions": [],
300
+ "includeSource": [],
301
+ "includeDest": [],
302
+ "excludeSource": [],
303
+ "excludeDest": []
304
+ },
305
+ "intellivalve": {
306
+ "enabled": true,
307
+ "includeActions": [],
308
+ "excludeActions": [],
309
+ "includeSource": [],
310
+ "includeDest": [],
311
+ "excludeSource": [],
312
+ "excludeDest": []
313
+ },
314
+ "heater": {
315
+ "enabled": true,
316
+ "includeActions": [],
317
+ "excludeActions": [],
318
+ "includeSource": [],
319
+ "includeDest": [],
320
+ "excludeSource": [],
321
+ "excludeDest": []
322
+ },
323
+ "unidentified": {
324
+ "enabled": true,
325
+ "includeSource": [],
326
+ "includeDest": [],
327
+ "excludeSource": [],
328
+ "excludeDest": []
329
+ },
330
+ "unknown": {
331
+ "enabled": true,
332
+ "includeSource": [],
333
+ "includeDest": [],
334
+ "excludeSource": [],
335
+ "excludeDest": []
336
+ }
337
+ },
338
+ "app": {
339
+ "enabled": true,
340
+ "level": "info",
341
+ "captureForReplay": false,
342
+ "logToFile": false
343
+ }
344
+ },
345
+ "appVersion": "0.0.1"
346
+ }