-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathconfig.yaml
470 lines (391 loc) · 16.9 KB
/
config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
# SkywarnPlus v0.8.0 Configuration File
# Author: Mason Nelson (N5LSN/WRKF394)
# Please edit this file according to your specific requirements.
# This config file is structured YAML. Please be sure to maintain the structure when editing.
# YAML is very picky about indentation. Use spaces, not tabs.
################################################################################################################################
SKYWARNPLUS:
# Toggle SkywarnPlus operation entirely.
Enable: true
################################################################################################################################
Asterisk:
# List of node numbers for broadcasting alerts. Multiple nodes are specified as a list.
# Example:
# Nodes:
# - 1998
# - 1999
Nodes:
- YOUR_NODE_NUMBER
# Optional silence to be added to the beginning of any audio files generated by SkywarnPlus.
# This is useful for radio systems that require additional time to key up, such as RF links.
# Silence is specified in milliseconds.
AudioDelay: 0
################################################################################################################################
Alerting:
# Specify the county codes for which you want to pull weather data.
# Find your county codes at https://alerts.weather.gov/.
# Make sure to use county codes ONLY, NOT zone codes, otherwise you might miss out on alerts.
# Example:
# CountyCodes:
# - ARC125
# - ARC119
#
# SkywarnPlus allows adding county-specific audio indicators to each alert in the message.
# To enable this feature, specify an audio file containing a recording of the county name in the
# ROOT of the SOUNDS/ directory as shown in the below example. You must create these files yourself.
# A helper script is provided in the SkywarnPlus repository to help generate these files.
# You can manually use the same VoiceRSS API used for SkyDescribe (see below) to generate these files with a synthetic voice:
# http://api.voicerss.org/?key=[YOUR_API_KEY_HERE]&hl=en-us&f=8khz_16bit_mono&v=John&src=[YOUR COUNTY NAME HERE]
# http://api.voicerss.org/?key=1234567890QWERTY&hl=en-us&f=8khz_16bit_mono&v=John&src=Saline County
# Example:
# CountyCodes:
# - ARC125: "Saline.wav"
# - ARC119: "Pulaski.wav"
CountyCodes:
- YOUR_COUNTY_CODE
# Enable instant voice announcement when new weather alerts are issued.
SayAlert: true
# Enable SayAlert to "say" any alerts whose list of affected counties has changed, in addition to new alerts.
# Only applies if more than one CountyCode is specified AND County IDs have been setup.
SayAlertsChanged: true
# When a change is detected, make SayAlert say ALL of the currently active alerts, not just newly detected one(s)
SayAlertAll: false
# Specify the WAV file in the SOUNDS/ALERTS directory to use as the alert sound effect
AlertSound: Duncecap.wav
# Specify a WAV file in the root of the SOUNDS directory to be appended to the end of the alert message.
SayAlertSuffix:
# Enable instant voice announcement when weather alerts are cleared.
SayAllClear: true
# Specify the WAV file in the SOUNDS/ALERTS directory to use as the all clear sound effect.
AllClearSound: Triangles.wav
# Specify a WAV file in the root of the SOUNDS directory to be appended to the end of the all clear message.
SayAllClearSuffix:
# Specify the WAV file in the SOUNDS/ALERTS directory to use as the alert seperator sound effect
AlertSeperator: Woodblock.wav
# Enable audio tagging an alert as having "multiples" if there is more than one unique instance of that alert type
# If enabled, and there are 2x different Severe Thunderstorm Warnings in your area, the audio will be: "Severe Thunderstorm Warning, with multiples"
WithMultiples: true
# Limit the maximum number of alerts to process in case of multiple alerts.
# SkywarnPlus fetches all alerts, orders them by severity, and processes only the 'n' most severe alerts, where 'n' is the MaxAlerts value.
MaxAlerts: 99
# Specify an alternative path to the directory where sound files are located.
# Default is SkywarnPlus/SOUNDS.
SoundsPath: /usr/local/bin/SkywarnPlus/SOUNDS
# 'TimeType' Configuration
#
# This setting determines the timing reference for issuing weather alerts.
# You can choose between "onset" and "effective" time.
#
# 'onset': Alerts are issued based on the predicted start time of the event.
# This means the system will only send out alerts when the events are imminent.
# For example, even though a "Heat Advisory" can be forecasted accurately a day or two in advance,
# the alert will only be sent close to the actual occurrence of the event.
#
# 'effective': Alerts are sent as soon as they are received, based on the effective time of the alert message.
# The "effective" time is when the alert message is considered to be in effect,
# which could be significantly earlier than the actual onset of the event.
#
# By using 'onset', you can ensure that alerts are relevant and timely for the recipients.
TimeType: onset
################################################################################################################################
Blocking:
# List of globally blocked events. These alerts are ignored across the entire SkywarnPlus operation.
# Use a case-sensitive list. Wildcards can be used.
# Example:
# GlobalBlockedEvents:
# - Flood Watch
# - '*Statement'
# - '*Advisory'
GlobalBlockedEvents:
# List of events blocked from being announced when received. These alerts will still be added to the tail message.
# Use a case-sensitive list.
SayAlertBlockedEvents:
# List of events blocked from being added to the tail message. These alerts will still be announced when received.
# Use a case-sensitive list.
TailmessageBlockedEvents:
################################################################################################################################
Tailmessage:
# Configuration for the tail message functionality. Requires initial setup in RPT.CONF.
# Enable/disable automatic tail message.
Enable: true
# Specify a WAV file in the root of the SOUNDS directory to be appended to the end of the tail message.
TailmessageSuffix:
# Enable to add county indicators to the tail message
# County indicators must FIRST be configured in the Alerting section where county codes are defined.
# NOTE: This can make your tail message quite long depending on how many counties you have configured.
TailmessageCounties: false
# Specify an alternative path and filename for saving the tail message.
# Default is /tmp/SkywarnPlus/wx-tail.wav.
TailmessagePath: /tmp/SkywarnPlus/wx-tail.wav
################################################################################################################################
CourtesyTones:
# Configuration for automatic CT changing. Requires initial setup in RPT.CONF.
# Enable/disable automatic courtesy tones.
Enable: false
# Directory where tone files will be read from & stored to. Modify this path to match your setup.
# Default location is within the SkywarnPlus installation directory.
ToneDir: /usr/local/bin/SkywarnPlus/SOUNDS/TONES
# Define custom courtesy tones for use in different modes. This allows for dynamic response to weather alerts.
Tones:
# Define each courtesy tone, and which files to use for that tone in Normal and WX mode.
ct1:
Normal: Boop.ulaw
WX: Stardust.ulaw
ct2:
Normal: Beep.ulaw
WX: Stardust.ulaw
# ct3:
# Normal: NBC.ulaw
# WX: SatPass.ulaw
# ct4:
# Normal: BlastOff.ulaw
# WX: Target.ulaw
# ct5:
# Normal: BumbleBee.ulaw
# WX: XPError.ulaw
# ct6:
# Normal: Comet.ulaw
# WX: Waterdrop.ulaw
# Define the alerts that trigger the "WX" courtesy tone.
# Use a case-sensitive list. One alert per line.
CTAlerts:
- Ashfall Warning
- Avalanche Warning
- Blizzard Warning
- Blowing Dust Warning
- Civil Danger Warning
- Civil Emergency Message
- Coastal Flood Warning
- Dust Storm Warning
- Earthquake Warning
- Evacuation - Immediate
- Extreme Wind Warning
- Fire Warning
- Hazardous Materials Warning
- Hurricane Force Wind Warning
- Hurricane Warning
- Ice Storm Warning
- Law Enforcement Warning
- Local Area Emergency
- Nuclear Power Plant Warning
- Radiological Hazard Warning
- Severe Thunderstorm Warning
- Shelter In Place Warning
- Storm Surge Warning
- Tornado Warning
- Tornado Watch
- Tropical Storm Warning
- Tsunami Warning
- Typhoon Warning
- Volcano Warning
- Winter Storm Warning
################################################################################################################################
IDChange:
# Configuration for Automatic ID Changing. Requires initial setup in RPT.CONF and manual creation of audio files.
# Enable/disable automatic ID changing.
Enable: false
# Specify an alternative directory where ID files are located.
# Default is SkywarnPlus/SOUNDS/ID.
IDDir: /usr/local/bin/SkywarnPlus/SOUNDS/ID
# Define the sound files for IDs.
IDs:
# Audio file to feed Asterisk as ID in "normal" mode
NormalID: NORMALID.ulaw
# Audio file to feed Asterisk as ID in "wx" mode
WXID: WXID.ulaw
# Audio file rpt.conf is looking for as ID
RptID: RPTID.ulaw
# Define the alerts that trigger the weather ID.
# Use a case-sensitive list. One alert per line.
IDAlerts:
- Ashfall Warning
- Avalanche Warning
- Blizzard Warning
- Blowing Dust Warning
- Civil Danger Warning
- Civil Emergency Message
- Coastal Flood Warning
- Dust Storm Warning
- Earthquake Warning
- Evacuation - Immediate
- Extreme Wind Warning
- Fire Warning
- Hazardous Materials Warning
- Hurricane Force Wind Warning
- Hurricane Warning
- Ice Storm Warning
- Law Enforcement Warning
- Local Area Emergency
- Nuclear Power Plant Warning
- Radiological Hazard Warning
- Severe Thunderstorm Warning
- Shelter In Place Warning
- Storm Surge Warning
- Tornado Warning
- Tornado Watch
- Tropical Storm Warning
- Tsunami Warning
- Typhoon Warning
- Volcano Warning
- Winter Storm Warning
################################################################################################################################
SkyDescribe:
# SkyDescribe is a feature that allows you to request a detailed description of a weather alert.
# VoiceRSS is a free service that SkyDescribe requires to function. You must obtain an API key from VoiceRSS.org.
# MAKE SURE YOU VERIFY YOUR EMAIL ADDRESS WITH VOICERSS.ORG OR YOUR API KEY WILL NOT WORK.
# API Key for VoiceRSS.org
APIKey: YOUR_API_KEY_HERE
# VoiceRSS language code
Language: en-us
# VoiceRSS speech rate. -10 is slowest, 10 is fastest.
Speed: 1
# VoiceRSS voice profile. See VoiceRSS.org/api/ for more information.
Voice: John
# Maximum number of words to be spoken by SkyDescribe.
# CAUTION: Setting this value too high may cause SkyDescribe to exceed the timeout timer of your node.
# ~130 words is around 60 seconds at Speed: 0.
MaxWords: 150
################################################################################################################################
AlertScript:
# AlertScript allows you to map BASH or DTMF commands to be executed when a weather alert is detected.
# Completely enable/disable AlertScript
Enable: false
# These are BASH or DTMF commands that are executed ONLY when the number of active alerts changes from ZERO to NON-ZERO.
# Use the same format as other AlertScript mappings (see below).
ActiveCommands:
- Type: BASH
Commands:
- 'echo "THE NUMBER OF ACTIVE ALERTS JUST CHANGED FROM ZERO TO NON-ZERO"'
# These are BASH or DTMF commands that are executed ONLY when the number of active alerts changes from NON-ZERO to ZERO.
# Use the same format as other AlertScript mappings (see below).
InactiveCommands:
- Type: BASH
Commands:
- 'echo "THE NUMBER OF ACTIVE ALERTS JUST CHANGED FROM NON-ZERO TO ZERO"'
Mappings:
# Define the mapping of alerts to either DTMF commands or bash scripts here.
#
# Example 1:
# This entry will execute the bash command 'asterisk -rx "rpt fun 1999 *123*456*789"'
# when the alerts "Tornado Warning" AND "Tornado Watch" are detected. It will execute the
# bash command 'asterisk -rx "rpt fun 1999 *987*654*321"' when there are no longer ANY alerts matching
# "Tornado Warning" OR "Tornado Watch".
#
# - Type: DTMF
# Nodes:
# - 1999
# Commands:
# - "*123*456*789"
# ClearCommands:
# - "*987*654*321"
# Triggers:
# - Tornado Warning
# - Tornado Watch
# Match: ALL
#
# Example 2:
# This entry will execute the bash command '/home/repeater/testscript.sh'
# and the bash command '/home/repeater/saytime.sh' when an alert whose
# title ends with "Statement" is detected.
#
# - Type: BASH
# Commands:
# - "/home/repeater/testscript.sh"
# - "/home/repeater/saytime.sh"
# Triggers:
# - "*Statement"
#
# Example 3:
# This entry will execute the bash command 'asterisk -rx "rpt fun 1998 *123*456*789"'
# and the bash command 'asterisk -rx "rpt fun 1999 *123*456*789"' when an alert
# titled "Tornado Warning" OR "Tornado Watch" is detected.
#
# - Type: DTMF
# Nodes:
# - 1998
# - 1999
# Commands:
# - "*123*456*789"
# Triggers:
# - Tornado Warning
# - Tornado Watch
#
# Example 4:
# This entry will execute the bash command 'asterisk -rx "rpt fun 1999 *123*456*789"'
# and the bash command 'asterisk -rx "rpt fun 1999 *987*654*321"'
# when an alert titled "Tornado Warning" OR "Tornado Watch" is detected.
#
# - Type: DTMF
# Nodes:
# - 1999
# Commands:
# - "*123*456*789"
# - "*987*654*321"
# Triggers:
# - Tornado Warning
# - Tornado Watch
# Match: ANY
#
# Example 5:
# This is an example entry that will automatically execute SkyDescribe and
# announce the full details of a Tornado Warning when it is detected.
# The placeholder '{alert_title}' will be replaced with the title of the alert
# when AlertScript executes the command.
- Type: BASH
Commands:
- '/usr/local/bin/SkywarnPlus/SkyDescribe.py "{alert_title}"'
Triggers:
- Tornado Warning
################################################################################################################################
Pushover:
# Configuration for Pushover integration. Pushover is a free notification service. Register at https://pushover.net/.
# Enable/disable Pushover integration.
Enable: false
# Provide your user key obtained from Pushover.
UserKey: YOUR_USER_KEY_HERE
# Provide the API token obtained from Pushover.
APIToken: YOUR_API_KEY_HERE
# Enable verbose messaging
Debug: false
################################################################################################################################
Logging:
# Configuration for logging.
# Enable verbose logging
Debug: false
# Specify an alternative log file path.
LogPath: /tmp/SkywarnPlus/SkywarnPlus.log
################################################################################################################################
DEV:
# Configuration for development and testing.
# Delete cached data on startup
CLEANSLATE: false
# Specify the TMP directory.
TmpDir: /tmp/SkywarnPlus
# ATTEMPT to write alerts to the old AUTOSKY files so that Supermon can display them.
# This might not work due to there being several different versions of Supermon,
# file permissions issues, etc at no fault to SkywarnPlus. This is a best-effort feature.
#
# If you are using Supermon2 on HamVoIP, please add your location and ZIP
# to the file /usr/local/sbin/supermon/node_info.ini
#
# DO NOT ADD ast_var_update.sh TO CRON IF YOU ARE USING THIS FEATURE.
#
# Please encourage Supermon developers to add support for SkywarnPlus so this hack can be removed.
SupermonCompat: true
# Enable test alert injection instead of calling the NWS API by setting 'INJECT' to 'True'.
INJECT: false
# List the test alerts to inject. Alert titles are case sensitive.
# Optionally specify the CountyCodes and/or EndTime for each alert.
# CountyCodes used here must be defined at the top of this configuration file.
# Example:
# INJECTALERTS:
# - Title: "Tornado Warning"
# CountyCodes: ["ARC119", "ARC120"]
# - Title: "Tornado Watch"
# CountyCodes: ["ARC125"]
# EndTime: "2023-08-01T12:00:00Z"
# - Title: "Severe Thunderstorm Warning"
INJECTALERTS:
- Title: "Tornado Warning"
- Title: "Tornado Watch"
- Title: "Severe Thunderstorm Warning"