# Missing weather portion from saytime\_weather\_rb

**URL:** <https://community.allstarlink.org/t/missing-weather-portion-from-saytime-weather-rb/25113>\
**Category:** Third-Party Apps\
**Tags:** scripts-and-how-to\
**Created:** [October 22, 2026, 7:25am UTC](https://community.allstarlink.org/t/missing-weather-portion-from-saytime-weather-rb/25113 "2026-10-22T07:25:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![KD3CSR](https://community.allstarlink.org/letter_avatar_proxy/v4/letter/k/e8c25b/32.png) [@KD3CSR](https://community.allstarlink.org/u/KD3CSR)\
**Post date:** [October 22, 2026, 7:25am UTC](https://community.allstarlink.org/t/missing-weather-portion-from-saytime-weather-rb/25113/1 "2026-10-22T07:25:04Z")

</div>

Continuing the discussion from [🌦 [MOD RELEASE] Modernized weather.sh for Time-And-Weather / Skywarn Nodes](https://community.allstarlink.org/t/mod-release-modernized-weather-sh-for-time-and-weather-skywarn-nodes/23823):

Hi @W5GLE !

Thanks for this useful tool. I have two things to ask about. First, is there a way to get humidity announced as well? I tried enabling it but it didn't do anything other than displaying it in the terminal.

Secondly, for some of my nodes time gets announced but it isn't followed by weather announcement. It was working fine previously but then at times weather stops and doesn't resume. There is a gap between time and final tail squelch. I assume that the gap is the length of the weather announcement. If command is manually typed out, weather is announced.

```auto
; ============================================================================
; Weather Configuration for saytime-weather-rb
; ============================================================================
; This file controls how weather data is fetched and announced.
; All settings have sensible defaults - no changes required to get started!
; Command-line options override settings in this file for that run only.
; ============================================================================

[weather]

; ============================================================================
; TEMPERATURE SETTINGS
; ============================================================================

; Temperature display mode: F for Fahrenheit, C for Celsius
; Affects both temperature file output and displayed text.
; Valid values: F, C
; Default: F
Temperature_mode = C

; ============================================================================
; CONDITION ANNOUNCEMENTS
; ============================================================================

; Process and announce weather conditions (cloudy, rain, clear, etc.)
; Set to NO to only announce temperature (no condition sound files).
; Valid values: YES, NO
; Default: YES
process_condition = YES

; ============================================================================
; LOCATION SETTINGS
; ============================================================================

; Default country for ambiguous postal code lookups
; Helps with 5-digit codes that could be multiple countries (US, Germany, etc.)
; Use ISO 3166-1 alpha-2 country codes: us, ca, de, fr, uk, jp, au, etc.
; Leave blank for international search (slower, but more flexible).
; Valid values: ISO country code or blank
; Default: us
default_country = pk

; ============================================================================
; WEATHER DATA SOURCE
; ============================================================================

; Weather data provider (optional — omit to use provider rotation below)
; openmeteo: Free, no API key, worldwide coverage (fallback when unset)
; nws: Free, no API key, US locations only (official government data)
; Automatically falls back to openmeteo for non-US locations
; metno: Free, no API key, worldwide coverage (MET Norway / Yr)
; Note: requires a descriptive User-Agent; this app provides one by def ault
; wttr: Free, no API key, worldwide coverage (wttr.in)
; 7timer: Free, no API key, worldwide coverage (7Timer!)
; Valid values: openmeteo, nws, metno, wttr, 7timer
; When omitted, Open-Meteo is the fallback tried last during rotation.
; weather_provider = openmeteo

; Rotate postal-code weather across eligible providers to spread API load.
; Each run picks a random provider first; Open-Meteo (or weather_provider above)
; is tried last. Falls back through the list on failure.
; Location timezone for saytime always comes from Open-Meteo when the chosen
; provider does not supply one (e.g. metno, wttr, 7timer).
; Set to NO and set weather_provider to use a single provider only.
; Valid values: YES, NO
; Default: YES
weather_provider_random = YES

; ============================================================================
; ADDITIONAL WEATHER DATA
; ============================================================================

; Postal codes: data from weather_provider. Airport IATA/ICAO: METAR for temp/condit ion;
; show_* extras and timezone use Our Airports coordinates + Open-Meteo when availabl e.

; Show precipitation in weather output
; Units are automatically selected based on Temperature_mode:
; F mode: inches (in)
; C mode: millimeters (mm)
; Valid values: YES, NO
; Default: NO
show_precipitation = NO

; Show wind speed and direction in weather output
; Units are automatically selected based on Temperature_mode:
; F mode: miles per hour (mph)
; C mode: kilometers per hour (km/h)
; Valid values: YES, NO
; Default: NO
show_wind = NO

; Show barometric pressure in weather output
; Units are automatically selected based on Temperature_mode:
; F mode: inches of mercury (inHG)
; C mode: hectopascals (hPa)
; Valid values: YES, NO
; Default: NO
show_pressure = NO

; Show relative humidity in weather output
; Displays as percentage (e.g., "65% RH")
; Valid values: YES, NO
; Default: NO
show_humidity = NO

; Show precipitation even when zero
; If NO, precipitation is only shown when there is measurable precipitation
; Valid values: YES, NO
; Default: NO
show_zero_precip = NO

; Minimum precipitation threshold in millimeters
; Precipitation below this value will not be shown unless show_zero_precip = YES
; Valid values: decimal number (e.g., 0.10)
; Default: 0.10
precip_trace_mm = 0.10

; ============================================================================
; GPS LOCATION (optional)
; ============================================================================

; Location source: postal (default) or gps
; When gps, saytime.rb and weather.rb use coordinates from gpsd; -l is optional.
; An explicit -l on the command line overrides location_source = gps.
; location_source = postal

; gpsd connection (default: localhost:2947)
; gpsd_host = 127.0.0.1
; gpsd_port = 2947

; Minimum fix mode: 2=2D, 3=3D (default: 2)
; gps_min_mode = 2

; Reject fixes older than this many seconds (default: 300)
; gps_max_age_seconds = 300

; Decimal places for lat/lon sent to weather APIs (default: 4)
; gps_coordinate_precision = 4

; Use cached fix up to this many seconds when live GPS fails (default: 86400)
; gps_fix_cache_max_age_seconds = 86400

; Postal/airport fallback when GPS has no fix (optional)
; gps_fallback_location = 75001

; Seconds to wait for a GPS fix from gpsd (default: 5)
; gps_timeout_seconds = 5

; gpspipe samples when using gpspipe fallback (default: 10)
; gpspipe_samples = 10

; gpspipe fallback: AUTO (try if gpsd socket fails), YES, or NO
; gps_use_gpspipe = AUTO

; ============================================================================
; PERFORMANCE AND CACHING
; ============================================================================

; Seconds to wait after Asterisk playback before exit (default: 5)
; saytime_play_delay = 5

; HTTP probe timeout for alternate providers in random mode (default: 5)
; http_probe_timeout = 5

; Max provider attempts in random mode including default (default: 3)
; weather_provider_random_max_attempts = 3

; Geocode cache TTL in seconds (default: 2592000 = 30 days)
; geocode_cache_max_age_seconds = 2592000

; Timezone cache TTL in seconds (default: 604800 = 7 days)
; timezone_cache_max_age_seconds = 604800

; Optional network tuning (defaults shown; uncomment to override)
; http_timeout_short = 10
; http_timeout_long = 15
; nominatim_delay = 1
; http_get_retries = 3
; http_get_retry_sleep = 1
; airports_cache_max_age_seconds = 604800
; airports_data_url = https://ourairports.com/data/airports.csv

```

---

<div class="post-metadata">

**Author:** ![W5GLE](https://community.allstarlink.org/user_avatar/community.allstarlink.org/w5gle/32/4480_2.png) [@W5GLE](https://community.allstarlink.org/u/W5GLE)\
**Post date:** [October 22, 2026, 2:11pm UTC](https://community.allstarlink.org/t/missing-weather-portion-from-saytime-weather-rb/25113/2 "2026-10-22T14:11:50Z")

</div>

You need to update your config for the latest options, also without seeing how you are calling the announcements I would be guessing why the weather isn't announcing properly.

```auto
--- weather.ini	2026-10-22 09:05:58.332108671 -0500
+++ /home/repos/saytime_weather_rb/weather.ini.default	2026-09-27 09:41:17.259578648 -0500
@@ -16,7 +16,7 @@
 ; Affects both temperature file output and displayed text.
 ; Valid values: F, C
 ; Default: F
-Temperature_mode = C
+Temperature_mode = F
 
 ; ============================================================================
 ; CONDITION ANNOUNCEMENTS
@@ -38,7 +38,7 @@
 ; Leave blank for international search (slower, but more flexible).
 ; Valid values: ISO country code or blank
 ; Default: us
-default_country = pk
+default_country = us
 
 ; ============================================================================
 ; WEATHER DATA SOURCE
@@ -49,10 +49,11 @@
 ; nws: Free, no API key, US locations only (official government data)
 ; Automatically falls back to openmeteo for non-US locations
 ; metno: Free, no API key, worldwide coverage (MET Norway / Yr)
-; Note: requires a descriptive User-Agent; this app provides one by def ault
+; Note: requires a descriptive User-Agent; this app provides one by default
 ; wttr: Free, no API key, worldwide coverage (wttr.in)
 ; 7timer: Free, no API key, worldwide coverage (7Timer!)
-; Valid values: openmeteo, nws, metno, wttr, 7timer
+; weatherapi: Worldwide coverage (WeatherAPI.com); requires weatherapi_key below
+; Valid values: openmeteo, nws, metno, wttr, 7timer, weatherapi
 ; When omitted, Open-Meteo is the fallback tried last during rotation.
 ; weather_provider = openmeteo
 
@@ -66,12 +67,19 @@
 ; Default: YES
 weather_provider_random = YES
 
+; WeatherAPI.com API key (required when weather_provider = weatherapi).
+; May also be set via WEATHERAPI_KEY environment variable.
+; weatherapi_key = YOUR_KEY_HERE
+
 ; ============================================================================
 ; ADDITIONAL WEATHER DATA
 ; ============================================================================
 
-; Postal codes: data from weather_provider. Airport IATA/ICAO: METAR for temp/condit ion;
-; show_* extras and timezone use Our Airports coordinates + Open-Meteo when availabl e.
+; Postal codes: data from weather_provider. Airport IATA/ICAO: METAR for temp/condition;
+; show_* extras and timezone use Our Airports coordinates + Open-Meteo when available.
+; show_* = text output (weather.rb … v / stdout). announce_* = radio audio after temperature.
+; Weather data is fetched when either show_* or announce_* is YES for a field.
+; announce_* requires matching wx/*.ulaw files (see scripts/generate_wx_extra_sounds.sh).
 
 ; Show precipitation in weather output
 ; Units are automatically selected based on Temperature_mode:
@@ -103,6 +111,44 @@
 ; Default: NO
 show_humidity = NO
 
+; Show apparent / feels-like temperature (heat index or wind chill when available)
+; F mode: degrees Fahrenheit; C mode: degrees Celsius
+; Providers: Open-Meteo, NWS (heatIndex/windChill), WeatherAPI, wttr.in
+; Valid values: YES, NO
+; Default: NO
+show_feels_like = NO
+
+; Show dewpoint temperature
+; F mode: degrees Fahrenheit; C mode: degrees Celsius
+; Providers: Open-Meteo, NWS, WeatherAPI, Met.no
+; Valid values: YES, NO
+; Default: NO
+show_dewpoint = NO
+
+; Show UV index (integer)
+; Providers: Open-Meteo, WeatherAPI
+; Valid values: YES, NO
+; Default: NO
+show_uv = NO
+
+; Show visibility distance
+; F mode: miles (mi); C mode: kilometers (km)
+; Providers: Open-Meteo, NWS, WeatherAPI
+; Valid values: YES, NO
+; Default: NO
+show_visibility = NO
+
+; Announce optional fields on radio (after main temperature); requires wx sound files
+; Valid values: YES, NO — Default: NO for each
+announce_precipitation = NO
+announce_wind = NO
+announce_pressure = NO
+announce_humidity = NO
+announce_feels_like = NO
+announce_dewpoint = NO
+announce_uv = NO
+announce_visibility = NO
+
 ; Show precipitation even when zero
 ; If NO, precipitation is only shown when there is measurable precipitation
 ; Valid values: YES, NO
@@ -178,4 +224,5 @@
 ; http_get_retries = 3
 ; http_get_retry_sleep = 1
 ; airports_cache_max_age_seconds = 604800
-; airports_data_url = https://ourairports.com/data/airports.csv
\ No newline at end of file
+; airports_data_url = https://ourairports.com/data/airports.csv
+

```

This shows your configuration is not up to date, read the page it has instructions for updating the weather.ini file.
