# 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"