# SkywarnPlus v0.4.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. # You can 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]=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 # 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 # 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 # Specify an alternative directory where tone files are located. # Default is SkywarnPlus/SOUNDS/TONES. ToneDir: /usr/local/bin/SkywarnPlus/SOUNDS/TONES # Define the sound files for courtesy tones. Tones: # Audio file to feed Asterisk as ct1 in "normal" mode CT1: Boop.ulaw # Audio file to feed Asterisk as ct2 in "normal" mode CT2: Beep.ulaw # Audio file to feed Asterisk as ct1 AND ct2 in "wx" mode WXCT: Stardust.ulaw # The file rpt.conf is looking for as ct1 RptCT1: CT1.ulaw # The file rpt.conf is looking for as ct2 RptCT2: CT2.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 Mappings: # Define the mapping of alerts to either DTMF commands or bash scripts here. # Examples: # #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. # # - Type: DTMF # Nodes: # - 1999 # Commands: # - "*123*456*789" # 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 # Write alert titles to /tmp/AUTOSKY/warnings.txt for Supermon backwards compatibility. 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. Use a case-sensitive list. One alert per line. INJECTALERTS: - Tornado Warning - Tornado Watch - Severe Thunderstorm Warning