Attached are my config files for Weewx and the Skin. Thanks On Tuesday, March 29, 2022 at 7:25:20 PM UTC-6 Mitchell Tuckness wrote:
> Last Sunday i updated Weewx to version 4.7 and I thought all was well, but > I just noticed that while MQTT is updating the temperature when you visit > the page, the graphs and charts are not updating. in the syslog, I see the > following error, can anyone help me figure out what is erroring out to > resolve? > > I also updated the belchertown skin to the latest master version in case > it was something on the skin, nothing changed. I can post another log if > needed, just let me know which one. > > Thanks! > > ~:weewx-pi@userx$sudo tail -f /var/log/syslog > [sudo] password for userx: > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.restx: AWEKAS: wait > interval (120 < 600) has not passed for record 2022-03-29 19:02:00 MDT > (1648602120) > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.restx: WeatherCloud: wait > interval (120 < 600) has not passed for record 2022-03-29 19:02:00 MDT > (1648602120) > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.restx: OWM: wait interval > (120 < 600) has not passed for record 2022-03-29 19:02:00 MDT (1648602120) > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.reportengine: Running > reports for latest time in the database. > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.reportengine: Running > report 'SeasonsReport' > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.restx: Twitter: wait > interval (120 < 3600) has not passed for record 2022-03-29 19:02:00 MDT > (1648602120) > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.reportengine: Found > configuration file /home/weewx/skins/Seasons/skin.conf for report > 'SeasonsReport' > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.cheetahgenerator: Using > search list ['weewx.cheetahgenerator.Almanac', > 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', > 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', > 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', > 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', > 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo'] > Mar 29 19:02:30 weewx-pi weewx[876] INFO weewx.restx: MQTT: Published > record 2022-03-29 19:02:00 MDT (1648602120) > Mar 29 19:02:30 weewx-pi weewx[876] DEBUG weewx.manager: Daily summary > version is 4.0 > Mar 29 19:02:33 weewx-pi weewx[876] INFO weewx.cheetahgenerator: Generated > 8 files for report SeasonsReport in 3.30 seconds > Mar 29 19:02:33 weewx-pi weewx[876] DEBUG weewx.manager: Daily summary > version is 4.0 > Mar 29 19:02:34 weewx-pi weewx[876] INFO weewx.imagegenerator: Generated > 15 images for report SeasonsReport in 0.89 seconds > Mar 29 19:02:34 weewx-pi weewx[876] INFO weewx.reportengine: Copied 0 > files to /var/www/lovingtonweather.com/weewx > Mar 29 19:02:34 weewx-pi weewx[876] DEBUG weewx.reportengine: Report > 'SmartphoneReport' not enabled. Skipping. > Mar 29 19:02:34 weewx-pi weewx[876] DEBUG weewx.reportengine: Report > 'MobileReport' not enabled. Skipping. > Mar 29 19:02:34 weewx-pi weewx[876] DEBUG weewx.reportengine: Report > 'StandardReport' not enabled. Skipping. > Mar 29 19:02:34 weewx-pi weewx[876] DEBUG weewx.reportengine: Running > report 'Highcharts' > Mar 29 19:02:34 weewx-pi weewx[876] DEBUG weewx.reportengine: Found > configuration file /home/weewx/skins/Highcharts/skin.conf for report > 'Highcharts' > Mar 29 19:02:34 weewx-pi weewx[876] DEBUG weewx.cheetahgenerator: Using > search list ['user.highchartssearchlist.HighchartsMinRanges', > 'user.highchartssearchlist.HighchartsWeek', > 'user.highchartssearchlist.HighchartsYear', > 'user.highchartssearchlist.HighchartsWindRose', > 'weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current', > 'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', > 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers', > 'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', > 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', > 'weewx.cheetahgenerator.UnitInfo'] > Mar 29 19:02:34 weewx-pi weewx[876] DEBUG weewx.manager: Daily summary > version is 4.0 > Mar 29 19:02:36 weewx-pi weewx[876] DEBUG weewx.cheetahgenerator: Skip > 'year.json': last_mod=1648601797.563521 age=359.32245445251465 stale=3600 > Mar 29 19:02:36 weewx-pi weewx[876] INFO weewx.cheetahgenerator: Generated > 1 files for report Highcharts in 2.46 seconds > Mar 29 19:02:36 weewx-pi weewx[876] DEBUG weewx.reportengine: Running > report 'Belchertown' > Mar 29 19:02:36 weewx-pi weewx[876] DEBUG weewx.reportengine: Found > configuration file /home/weewx/skins/Belchertown/skin.conf for report > 'Belchertown' > Mar 29 19:02:36 weewx-pi weewx[876] DEBUG weewx.cheetahgenerator: Using > search list ['user.belchertown.getData', 'weewx.cheetahgenerator.Almanac', > 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', > 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', > 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', > 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', > 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo'] > Mar 29 19:02:36 weewx-pi weewx[876] DEBUG weewx.manager: Daily summary > version is 4.0 > Mar 29 19:02:40 weewx-pi weewx[876] INFO weewx.cheetahgenerator: Generated > 11 files for report Belchertown in 3.59 seconds > Mar 29 19:02:40 weewx-pi weewx[876] INFO weewx.reportengine: Copied 2 > files to /var/www/lovingtonweather.com/ > Mar 29 19:02:40 weewx-pi weewx[876] DEBUG weewx.manager: Daily summary > version is 4.0 > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: Caught > unrecoverable exception in generator > 'user.belchertown.HighchartsJsonGenerator' > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > invalid literal for int() with base 10: '%' > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > Traceback (most recent call last): > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > File "/home/weewx/bin/weewx/reportengine.py", line 197, in run > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > obj.start() > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > File "/home/weewx/bin/weewx/reportengine.py", line 378, in start > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > self.run() > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > File "/home/weewx/bin/user/belchertown.py", line 2714, in run > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > series_data = self.get_observation_data( > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > File "/home/weewx/bin/user/belchertown.py", line 3726, in > get_observation_data > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > usage_round = int( > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > ValueError: invalid literal for int() with base 10: '%' > Mar 29 19:02:40 weewx-pi weewx[876] ERROR weewx.reportengine: **** > Generator terminated > Mar 29 19:02:40 weewx-pi weewx[876] DEBUG weewx.reportengine: Report 'FTP' > not enabled. Skipping. > Mar 29 19:02:40 weewx-pi weewx[876] DEBUG weewx.reportengine: Report > 'RSYNC' not enabled. Skipping. > Mar 29 19:02:49 weewx-pi weewx[876] DEBUG user.gw1000: Next update in 20 > seconds > Mar 29 19:02:49 weewx-pi weewx[876] DEBUG weewx.restx: Wunderground-RF: > wait interval (21 < 80) has not passed for record 2022-03-29 19:02:49 MDT > (1648602169) > Mar 29 19:02:49 weewx-pi weewx[876] INFO weewx.restx: MQTT: Published > record 2022-03-29 19:02:49 MDT (1648602169) > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/bb8557d8-2587-4a71-8d3a-4ca29bc8b666n%40googlegroups.com.
# WEEWX CONFIGURATION FILE # # Copyright (c) 2009-2021 Tom Keffer <[email protected]> # See the file LICENSE.txt for your rights. ############################################################################## # This section is for general configuration information. # Set to 1 for extra debug info, otherwise comment it out or set to zero debug = 1 # Root directory of the weewx data file hierarchy for this station WEEWX_ROOT = /home/weewx # Whether to log successful operations log_success = True # Whether to log unsuccessful operations log_failure = True # How long to wait before timing out a socket (FTP, HTTP) connection socket_timeout = 20 # Do not modify this. It is used when installing and updating weewx. version = 4.7.0 # Whether to try indefinitely to load the driver loop_on_init = 1 ############################################################################## # This section is for information about the station. [Station] # Description of the station location location = "Lovington, NM" # Latitude in decimal degrees. Negative for southern hemisphere latitude = 32.935121 # Longitude in decimal degrees. Negative for western hemisphere. longitude = -103.367574 # Altitude of the station, with unit it is in. This is downloaded from # from the station if the hardware supports it. altitude = 3917, foot # Choose 'foot' or 'meter' for unit # Set to type of station hardware. There must be a corresponding stanza # in this file with a 'driver' parameter indicating the driver to be used. station_type = GW1000 # If you have a website, you may specify an URL station_url = https://lovingtonweather.com # The start of the rain year (1=January; 10=October, etc.). This is # downloaded from the station if the hardware supports it. rain_year_start = 1 # Start of week (0=Monday, 6=Sunday) week_start = 0 ############################################################################## [FineOffsetUSB] # This section is for the Fine Offset series of weather stations. # The station model, e.g., WH1080, WS1090, WS2080, WH3081 model = WS2080 # How often to poll the station for data, in seconds polling_interval = 60 # The driver to use: driver = weewx.drivers.fousb ############################################################################## # This section is for uploading data to Internet sites [StdRESTful] [[WeatherCloud]] # Weathercloud Station Data id = Redacted key = Redacted [[StationRegistry]] # To register this weather station with weewx, set this to true register_this_station = true [[AWEKAS]] # This section is for configuring posts to AWEKAS. # If you wish to do this, set the option 'enable' to true, # and specify a username and password. # To guard against parsing errors, put the password in quotes. enable = true post_interval = 600 username = Redacted password = Redacted [[CWOP]] # This section is for configuring posts to CWOP. # If you wish to do this, set the option 'enable' to true, # and specify the station ID (e.g., CW1234). enable = true station = Redacted post_interval = 600 # If this is an APRS (radio amateur) station, uncomment # the following and replace with a passcode (e.g., 12345). #passcode = replace_me (APRS stations only) [[PWSweather]] # This section is for configuring posts to PWSweather.com. # If you wish to do this, set the option 'enable' to true, # and specify a station and password. # To guard against parsing errors, put the password in quotes. enable = true station = Redacted password = Redacted post_interval = 600 [[WOW]] # This section is for configuring posts to WOW. # If you wish to do this, set the option 'enable' to true, # and specify a station and password. # To guard against parsing errors, put the password in quotes. enable = true station = Redacted password = Redacted post_interval = 600 [[Wunderground]] # This section is for configuring posts to the Weather Underground. # If you wish to do this, set the option 'enable' to true, # and specify a station (e.g., 'KORHOODR3') and password. # To guard against parsing errors, put the password in quotes. enable = true station = KNMLOVIN14 password = Redacted post_interval = 80 # If you plan on using wunderfixer, set the following # to your API key: api_key = Redacted # Set the following to True to have weewx use the WU "Rapidfire" # protocol. Not all hardware can support it. See the User's Guide. rapidfire = True [[MQTT]] server_url = Redacted topic = weather unit_system = US binding = archive, loop aggregation = aggregate [[[tls]]] # CA certificates file (mandatory) ca_certs = Redacted # PEM encoded client certificate file (optional) certfile = Redacted # private key file (optional) keyfile = Redacted # Certificate requirements imposed on the broker (optional). # Options are 'none', 'optional' or 'required'. # Default is 'required'. cert_reqs = none # SSL/TLS protocol (optional). # Options include sslv2, sslv23, sslv3, tls, tlsv1, tlsv11, # tlsv12. # Default is 'tlsv12' # Not all options are supported by all systems. # OpenSSL version till 1.0.0.h supports sslv2, sslv3 and tlsv1 # OpenSSL >= 1.0.1 supports tlsv11 and tlsv12 # OpenSSL >= 1.1.1 support TLSv1.3 (use tls_version = tls) # Check your OpenSSL protocol support with: # openssl s_client -help 2>&1 > /dev/null | egrep "\-(ssl|tls)[^a-z]" tls_version = tls # Allowable encryption ciphers (optional). # To specify multiple cyphers, delimit with commas and enclose # in quotes. #ciphers = [[OpenWeatherMap]] appid = Redacted station_id = Redacted post_interval = 600 [[Twitter]] # app_key = Redacted # app_key_secret = Redacted # oauth_token = Redacted # oauth_token_secret = Redacted app_key = Redacted app_key_secret = Redacted oauth_token = Redacted oauth_token_secret = Redacted station = Redacted post_interval = 3600 format = Station: {station}: TEMP: {outTemp:%.1f}; HUM: {outHumidity:%.2f}%; WindSp: {windSpeed:%.1f} MPH; WindDr: {windDir:ORD}; Time: {dateTime:%X} ############################################################################## # Options for 'StdReport' [StdReport] # Where the skins reside, relative to WEEWX_ROOT SKIN_ROOT = skins # Where the generated reports should go, relative to WEEWX_ROOT HTML_ROOT = /var/www/lovingtonweather.com/weewx # The database binding indicates which data should be used in reports. data_binding = wx_binding # Whether to log a successful operation log_success = True # Whether to log an unsuccessful operation log_failure = True # Each of the following subsections defines a report that will be run. # See the customizing guide to change the units, plot types and line # colors, modify the fonts, display additional sensor data, and other # customizations. Many of those changes can be made here by overriding # parameters, or by modifying templates within the skin itself. [[SeasonsReport]] # The SeasonsReport uses the 'Seasons' skin, which contains the # images, templates and plots for the report. skin = Seasons enable = true [[SmartphoneReport]] # The SmartphoneReport uses the 'Smartphone' skin, and the images and # files are placed in a dedicated subdirectory. skin = Smartphone enable = false HTML_ROOT = public_html/smartphone [[MobileReport]] # The MobileReport uses the 'Mobile' skin, and the images and files # are placed in a dedicated subdirectory. skin = Mobile enable = false HTML_ROOT = public_html/mobile [[StandardReport]] # This is the old "Standard" skin. By default, it is not enabled. skin = Standard enable = false [[Highcharts]] skin = Highcharts [[[CheetahGenerator]]] [[[[ToDate]]]] [[[[[YearJSON]]]]] stale_age = 3600 [[[Units]]] [[[[Groups]]]] group_altitude = meter group_degree_day = degree_C_day group_pressure = hPa group_rain = mm group_rainrate = mm_per_hour group_speed = km_per_hour group_speed2 = km_per_hour2 group_temperature = degree_C [[[[StringFormats]]]] centibar = %.0f cm = %.2f cm_per_hour = %.2f degree_C = %.1f degree_F = %.1f degree_compass = %.0f foot = %.0f hPa = %.1f inHg = %.3f inch = %.2f inch_per_hour = %.2f km_per_hour = %.0f km_per_hour2 = %.1f knot = %.0f knot2 = %.1f mbar = %.1f meter = %.0f meter_per_second = %.1f meter_per_second2 = %.1f mile_per_hour = %.0f mile_per_hour2 = %.1f mm = %.1f mmHg = %.1f mm_per_hour = %.1f percent = %.0f uv_index = %.1f volt = %.1f watt_per_meter_squared = %.0f NONE = N/A [[[[Labels]]]] centibar = cb cm = cm cm_per_hour = cm/hr degree_C = ° C degree_F = ° F degree_compass = ° foot = feet hPa = hPa inHg = inHg inch = in inch_per_hour = in/hr km_per_hour = km/hr km_per_hour2 = km/hr knot = knots knot2 = knots mbar = mbar meter = meters meter_per_second = m/s meter_per_second2 = m/s mile_per_hour = mph mile_per_hour2 = mph mm = mm mmHg = mmHg mm_per_hour = mm/hr percent = % uv_index = Index volt = V watt_per_meter_squared = W/m² NONE = "" [[[Extras]]] [[[[MinRange]]]] outTemp = 10, degree_C windchill = 10, degree_C barometer = 20, hPa windSpeed = 10 rain = 5, mm radiation = 500 UV = 16 [[[[WindRose]]]] title = Wind Rose source = windSpeed period = 86400, 604800, month, year aggregate_type = "" aggregate_interval = "" petals = 16 petal_colors = aqua, 0x0099FF, 0x0033FF, 0x009900, 0x00CC00, 0x33FF33, 0xCCFF00 speedfactor = 0.0, 0.1, 0.2, 0.3, 0.5, 0.7, 1.0 show_legend_title = True show_band_percent = True bullseye_percent = True precision = 1 bullseye_size = 20 bullseye_color = 0xFFFACD calm_limit = 0.5 [[Belchertown]] skin = Belchertown HTML_ROOT = /var/www/lovingtonweather.com/ enable = true [[[Extras]]] earthquake_enabled = 1 earthquake_server = USGS forecast_enabled = 1 forecast_api_id = Redacted forecast_api_secret = Redacted googleAnalyticsId = Redacted site_title = "Lovington, NM" footer_copyright_text = "Lovington NM, 88260" footer_disclaimer_text = Observations are intended for personal use. # mqtt_websockets_host = lovingtonweather.com # mqtt_websockets_port = Redacted # mqtt_websockets_enabled = 1 # mqtt_websockets_ssl = 1 # mqtt_websockets_topic = weather/loop # For help refer to the docs at https://github.com/poblabs/weewx-belchertown #--- General Options --- # belchertown_debug = 0 # belchertown_locale = "auto" theme = dark # theme_toggle_enabled = 1 # logo_image = "" # logo_image_dark = "" # site_title = "Lovington NM, 88260" # station_observations = barometer, dewpoint, outHumidity, rainWithRainRate, pm2_5 # beaufort_categoty = 0 # manifest_name = "My Weather Website" # manifest_short_name = "MWW" # aeris_map = 0 # radar_html = '' # (default seems to center on your lat/lon) # radar_html_dark = None # radar_zoom = 8 # radar_marker = 0 # almanac_extras = 1 # highcharts_enabled = 1 # graph_page_show_all_button = 1 # graph_page_default_graphgroup = "day" # highcharts_homepage_graphgroup = "day" # highcharts_decimal = "auto" # highcharts_thousands = "auto" # googleAnalyticsId = "" # pi_kiosk_bold = "false" # pi_theme = "auto" # webpage_autorefresh = 0 # reload_hook_images = 0 # reload_images_radar = 300 # reload_images_hook_asi = -1 # reload_images_hook_af = -1 # reload_images_hook_as = -1 # reload_images_hook_ac = -1 # show_last_updated_alert = 0 # last_updated_alert_threshold = 1800 #--- Common Titles under Labels Section to Change --- # home_page_header = "My Station Weather Conditions" # graphs_page_header = "Weather Observation Graphs" # reports_page_header = "Weather Observation Reports" # records_page_header = "Weather Observation Records" # about_page_header = "About This Site" powered_by = Observations by a <a href="/about" target="_blank">Ambient Weather 2902C</a> # footer_copyright_text = "My Weather Website" # footer_disclaimer_text = "Never make important decisions based on info from this website." #--- MQTT Websockets (for Real Time Streaming) Options --- mqtt_websockets_enabled = 1 mqtt_websockets_host = lovingtonweather.com mqtt_websockets_port = Redacted mqtt_websockets_ssl = 1 mqtt_websockets_topic = weather/loop # disconnect_live_website_visitor = 2800000 #--- Forecast Options --- # forecast_enabled = 0 # forecast_provider = "aeris" # forecast_api_id = "" # forecast_api_secret = "" # forecast_units = "us" # forecast_lang = "en" # forecast_stale = 3540 # forecast_aeris_use_metar = 1 # forecast_interval_hours = 24 # forecast_alert_enabled = 0 # forecast_alert_limit = 1 # forecast_show_daily_forecast_link = 0 # forecast_daily_forecast_link = "" aqi_enabled = 1 aqi_location_enabled = 0 #--- Earthquake Options --- # earthquake_enabled = 0 # earthquake_maxradiuskm = 1000 # earthquake_stale = 10740 # earthquake_server = USGS # geonet_mmi = 4 #--- Social Options --- # facebook_enabled = 0 twitter_enabled = 1 twitter_owner = @lovington_nm twitter_hashtags = "#weewx #weather #Lovington #forecast" social_share_html = https://lovingtonweather.com/ twitter_text = Check out Lovington New Mexico's Weather Conditions! twitter_hashtag = "weewx #weather" #------------------------------------------------------------- #--- #--- python's ConfigObj has a limitation in how it processes #--- comments, so we need to define an 'unused' variable below #--- to ensure that this whole stanza makes it into weewx.conf #--- #--- please ignore the following 'unused' variable #--- #------------------------------------------------------------- work_around_ConfigObj_limitations = true # disconnect_live_website_visitor = 1800000 [[FTP]] # FTP'ing the results to a webserver is treated as just another report, # albeit one with an unusual report generator! skin = Ftp # If you wish to use FTP, set "enable" to "true", then # fill out the next four lines. # Use quotes around passwords to guard against parsing errors. enable = false user = replace_me password = replace_me server = replace_me # The ftp server name, e.g, www.myserver.org path = replace_me # The destination directory, e.g., /weather # Set to True for an FTP over TLS (FTPS) connection. Not all servers # support this. secure_ftp = False # To upload files from something other than what HTML_ROOT is set # to above, specify a different HTML_ROOT here. #HTML_ROOT = public_html # Most FTP servers use port 21 port = 21 # Set to 1 to use passive mode, zero for active mode passive = 1 [[RSYNC]] # rsync'ing to a webserver is treated as just another report skin = Rsync # If you wish to use rsync, you must configure passwordless ssh using # public/private key authentication from the user account that weewx # runs to the user account on the remote machine where the files # will be copied. # # If you wish to use rsync, set "enable" to "true", then # fill out server, user, and path. # The server should appear in your .ssh/config file. # The user is the username used in the identity file. # The path is the destination directory, such as /var/www/html/weather. # Be sure that the user has write permissions on the destination! enable = false server = replace_me user = replace_me path = replace_me # To upload files from something other than what HTML_ROOT is set # to above, specify a different HTML_ROOT here. #HTML_ROOT = public_html # Rsync can be configured to remove files from the remote server if # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you # make a mistake in the remote path, you could could unintentionally # cause unrelated files to be deleted. Set to 1 to enable remote file # deletion, zero to allow files to accumulate remotely. delete = 0 #### # Various options for customizing your reports. [[Defaults]] [[[Units]]] # The following section sets what unit to use for each unit group. # NB: The unit is always in the singular. I.e., 'mile_per_hour', # NOT 'miles_per_hour' [[[[Groups]]]] group_altitude = foot # Options are 'foot' or 'meter' group_degree_day = degree_F_day # Options are 'degree_F_day' or 'degree_C_day' group_distance = mile # Options are 'mile' or 'km' group_pressure = inHg # Options are 'inHg', 'mmHg', 'mbar', 'hPa', or 'kPa' group_rain = inch # Options are 'inch', 'cm', or 'mm' group_rainrate = inch_per_hour # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour' group_speed = mile_per_hour # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second' group_speed2 = mile_per_hour2 # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2' group_temperature = degree_F # Options are 'degree_F' or 'degree_C' # The following section sets the formatting for each type of unit. [[[[StringFormats]]]] centibar = %.0f cm = %.2f cm_per_hour = %.2f degree_C = %.1f degree_F = %.1f degree_compass = %.0f foot = %.0f hPa = %.1f hour = %.1f inHg = %.3f inch = %.2f inch_per_hour = %.2f km = %.1f km_per_hour = %.0f km_per_hour2 = %.1f knot = %.0f knot2 = %.1f kPa = %.2f mbar = %.1f meter = %.0f meter_per_second = %.1f meter_per_second2 = %.1f mile = %.1f mile_per_hour = %.0f mile_per_hour2 = %.1f mm = %.1f mmHg = %.1f mm_per_hour = %.1f percent = %.0f second = %.0f uv_index = %.1f volt = %.1f watt_per_meter_squared = %.0f NONE = " N/A" # The following section overrides the label used for each type of unit [[[[Labels]]]] meter = " meter", " meters" # You may prefer "metre". day = " day", " days" hour = " hour", " hours" minute = " minute", " minutes" second = " second", " seconds" NONE = "" # The following section sets the format for each time scale. # The values below will work in every locale, but they may not look # particularly attractive. [[[[TimeFormats]]]] hour = %H:%M day = %X week = %X (%A) month = %x %X year = %x %X rainyear = %x %X current = %x %X ephem_day = %X ephem_year = %x %X [[[[Ordinates]]]] # Ordinal directions. The last one is for no wind direction directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A # The following section sets the base temperatures used for the # calculation of heating, cooling, and growing degree-days. [[[[DegreeDays]]]] # Base temperature for heating days, with unit: heating_base = 65, degree_F # Base temperature for cooling days, with unit: cooling_base = 65, degree_F # Base temperature for growing days, with unit: growing_base = 50, degree_F # A trend takes a difference across a time period. The following # section sets the time period, and how big an error is allowed to # still be counted as the start or end of a period. [[[[Trend]]]] time_delta = 10800 # 3 hours time_grace = 300 # 5 minutes # The labels to be used for each observation type [[[Labels]]] # Set to hemisphere abbreviations suitable for your location: hemispheres = N, S, E, W # Formats to be used for latitude whole degrees, longitude whole # degrees, and minutes: latlon_formats = %02d, %03d, %05.2f # Generic labels, keyed by an observation type. [[[[Generic]]]] barometer = Barometer dewpoint = Dew Point ET = ET heatindex = Heat Index inHumidity = Inside Humidity inTemp = Inside Temperature outHumidity = Humidity outTemp = Outside Temperature radiation = Radiation rain = Rain rainRate = Rain Rate UV = UV Index windDir = Wind Direction windGust = Gust Speed windGustDir = Gust Direction windSpeed = Wind Speed windchill = Wind Chill windgustvec = Gust Vector windvec = Wind Vector extraTemp1 = Temperature1 extraTemp2 = Temperature2 extraTemp3 = Temperature3 pm2_5 = AQI PM 2.5 # Sensor status indicators rxCheckPercent = Signal Quality txBatteryStatus = Transmitter Battery windBatteryStatus = Wind Battery rainBatteryStatus = Rain Battery outTempBatteryStatus = Outside Temperature Battery inTempBatteryStatus = Inside Temperature Battery consBatteryVoltage = Console Battery heatingVoltage = Heating Battery supplyVoltage = Supply Voltage referenceVoltage = Reference Voltage [[[Almanac]]] # The labels to be used for the phases of the moon: moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent ############################################################################## # This service acts as a filter, converting the unit system coming from # the hardware to a unit system in the database. [StdConvert] # The target_unit affects only the unit system in the database. Once # chosen it cannot be changed without converting the entire database. # Modification of target_unit after starting weewx will result in # corrupt data - the database will contain a mix of US and METRIC data. # # The value of target_unit does not affect the unit system for # reporting - reports can display US, Metric, or any combination of units. # # In most cases, target_unit should be left as the default: US # # In particular, those migrating from a standard wview installation # should use US since that is what the wview database contains. # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING! target_unit = US # Options are 'US', 'METRICWX', or 'METRIC' ############################################################################## # This section can adjust data using calibration expressions. [StdCalibrate] [[Corrections]] # For each type, an arbitrary calibration expression can be given. # It should be in the units defined in the StdConvert section. # Example: foo = foo + 0.2 lightning_distance = lightning_distance if lightning_strike_count > 0 else None ############################################################################## # This section is for quality control checks. If units are not specified, # values must be in the units defined in the StdConvert section. [StdQC] [[MinMax]] barometer = 26, 32.5, inHg pressure = 24, 34.5, inHg outTemp = -40, 120, degree_F inTemp = 10, 120, degree_F outHumidity = 0, 100 inHumidity = 0, 100 windSpeed = 0, 120, mile_per_hour rain = 0, 10, inch ############################################################################## # This section controls the origin of derived values. [StdWXCalculate] [[Calculations]] # How to calculate derived quantities. Possible values are: # hardware - use the value provided by hardware # software - use the value calculated by weewx # prefer_hardware - use value provide by hardware if available, # otherwise use value calculated by weewx pressure = prefer_hardware altimeter = prefer_hardware appTemp = prefer_hardware barometer = prefer_hardware cloudbase = prefer_hardware dewpoint = prefer_hardware ET = prefer_hardware heatindex = prefer_hardware humidex = prefer_hardware inDewpoint = prefer_hardware maxSolarRad = prefer_hardware rainRate = prefer_hardware windchill = prefer_hardware windrun = prefer_hardware aqi_pm2_51_24h_avg = software, archive # aqi_pm2_52_24h_avg = software, archive aqi_pm2_51_instant = software, archive # aqi_pm2_52_instant = software, archive ############################################################################## # For hardware that supports it, this section controls how often the # onboard clock gets updated. [StdTimeSynch] # How often to check the weather station clock for drift (in seconds) clock_check = 14400 # How much it can drift before we will correct it (in seconds) max_drift = 5 ############################################################################## # This section is for configuring the archive service. [StdArchive] # If the station hardware supports data logging then the archive interval # will be downloaded from the station. Otherwise, specify it (in seconds). archive_interval = 60 # If possible, new archive records are downloaded from the station # hardware. If the hardware does not support this, then new archive # records will be generated in software. # Set the following to "software" to force software record generation. record_generation = hardware # Whether to include LOOP data in hi/low statistics loop_hilo = True # The data binding used to save archive records data_binding = wx_binding # Whether to log successful archive operations log_success = True # Whether to log unsuccessful archive operations log_failure = True ############################################################################## # This section binds a data store to a database. [DataBindings] [[wx_binding]] # The database must match one of the sections in [Databases]. # This is likely to be the only option you would want to change. database = archive_mysql # The name of the table within the database table_name = archive # The manager handles aggregation of data for historical summaries manager = weewx.manager.DaySummaryManager # The schema defines the structure of the database. # It is *only* used when the database is created. schema = schemas.wview_extended.schema [[aqi_binding]] database = aqi_sqlite table_name = archive manager = weewx.manager.DaySummaryManager schema = user.aqi.service.schema ############################################################################## # This section defines various databases. [Databases] # A SQLite database is simply a single file [[archive_sqlite]] database_name = weewx.sdb database_type = SQLite # MySQL [[archive_mysql]] database_name = weewx database_type = MySQL [[aqi_sqlite]] database_name = aqi.sdb database_type = SQLite ############################################################################## # This section defines defaults for the different types of databases. [DatabaseTypes] # Defaults for SQLite databases [[SQLite]] driver = weedb.sqlite # Directory in which the database files are located SQLITE_ROOT = %(WEEWX_ROOT)s/archive # Defaults for MySQL databases [[MySQL]] driver = weedb.mysql # The host where the database is located host = Redacted # The user name for logging in to the host user = weewx # The password for the user name (quotes guard against parsing errors) password = Redacted ############################################################################## # This section configures the internal weewx engine. [Engine] # The following section specifies which services should be run and in what order. [[Services]] prep_services = weewx.engine.StdTimeSynch data_services = , process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta, user.aqixtypes.US_EPA archive_services = weewx.engine.StdArchive restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS, user.mqtt.MQTT, user.owm.OpenWeatherMap, user.wcloud.WeatherCloud, user.twitter.Twitter report_services = weewx.engine.StdPrint, weewx.engine.StdReport ############################################################################## # Options for 'GW1000' [GW1000] # This section is for the GW1000 API driver. driver = user.gw1000 ip_address = Redacted port = Redacted poll_interval = 20 ############################################################################## # How often to poll the GW1000 API, default is every 20 seconds: # poll_interval = 20 # The driver to use: # driver = user.gw1000 ############################################################################## [Accumulator] # Start GW1000 driver extractors [[daymaxwind]] extractor = last [[lightning_distance]] extractor = last [[lightning_strike_count]] extractor = sum [[lightningcount]] extractor = last [[lightning_last_det_time]] extractor = last [[stormRain]] extractor = last [[hourRain]] extractor = last [[dayRain]] extractor = last [[weekRain]] extractor = last [[monthRain]] extractor = last [[yearRain]] extractor = last [[totalRain]] extractor = last [[pm2_51_24h_avg]] extractor = last [[pm2_52_24h_avg]] extractor = last [[pm2_53_24h_avg]] extractor = last [[pm2_54_24h_avg]] extractor = last [[pm2_55_24h_avg]] extractor = last [[pm10_24h_avg]] extractor = last [[co2_24h_avg]] extractor = last [[wh40_batt]] extractor = last [[wh26_batt]] extractor = last [[wh25_batt]] extractor = last [[wh65_batt]] extractor = last [[wh31_ch1_batt]] extractor = last [[wh31_ch2_batt]] extractor = last [[wh31_ch3_batt]] extractor = last [[wh31_ch4_batt]] extractor = last [[wh31_ch5_batt]] extractor = last [[wh31_ch6_batt]] extractor = last [[wh31_ch7_batt]] extractor = last [[wh31_ch8_batt]] extractor = last [[wh35_ch1_batt]] extractor = last [[wh35_ch2_batt]] extractor = last [[wh35_ch3_batt]] extractor = last [[wh35_ch4_batt]] extractor = last [[wh35_ch5_batt]] extractor = last [[wh35_ch6_batt]] extractor = last [[wh35_ch7_batt]] extractor = last [[wh35_ch8_batt]] extractor = last [[wh41_ch1_batt]] extractor = last [[wh41_ch2_batt]] extractor = last [[wh41_ch3_batt]] extractor = last [[wh41_ch4_batt]] extractor = last [[wh45_batt]] extractor = last [[wh51_ch1_batt]] extractor = last [[wh51_ch2_batt]] extractor = last [[wh51_ch3_batt]] extractor = last [[wh51_ch4_batt]] extractor = last [[wh51_ch5_batt]] extractor = last [[wh51_ch6_batt]] extractor = last [[wh51_ch7_batt]] extractor = last [[wh51_ch8_batt]] extractor = last [[wh51_ch9_batt]] extractor = last [[wh51_ch10_batt]] extractor = last [[wh51_ch11_batt]] extractor = last [[wh51_ch12_batt]] extractor = last [[wh51_ch13_batt]] extractor = last [[wh51_ch14_batt]] extractor = last [[wh51_ch15_batt]] extractor = last [[wh51_ch16_batt]] extractor = last [[wh55_ch1_batt]] extractor = last [[wh55_ch2_batt]] extractor = last [[wh55_ch3_batt]] extractor = last [[wh55_ch4_batt]] extractor = last [[wh57_batt]] extractor = last [[wh68_batt]] extractor = last [[ws80_batt]] extractor = last [[wh40_sig]] extractor = last [[wh26_sig]] extractor = last [[wh25_sig]] extractor = last [[wh65_sig]] extractor = last [[wh31_ch1_sig]] extractor = last [[wh31_ch2_sig]] extractor = last [[wh31_ch3_sig]] extractor = last [[wh31_ch4_sig]] extractor = last [[wh31_ch5_sig]] extractor = last [[wh31_ch6_sig]] extractor = last [[wh31_ch7_sig]] extractor = last [[wh31_ch8_sig]] extractor = last [[wh35_ch1_sig]] extractor = last [[wh35_ch2_sig]] extractor = last [[wh35_ch3_sig]] extractor = last [[wh35_ch4_sig]] extractor = last [[wh35_ch5_sig]] extractor = last [[wh35_ch6_sig]] extractor = last [[wh35_ch7_sig]] extractor = last [[wh35_ch8_sig]] extractor = last [[wh41_ch1_sig]] extractor = last [[wh41_ch2_sig]] extractor = last [[wh41_ch3_sig]] extractor = last [[wh41_ch4_sig]] extractor = last [[wh45_sig]] extractor = last [[wh51_ch1_sig]] extractor = last [[wh51_ch2_sig]] extractor = last [[wh51_ch3_sig]] extractor = last [[wh51_ch4_sig]] extractor = last [[wh51_ch5_sig]] extractor = last [[wh51_ch6_sig]] extractor = last [[wh51_ch7_sig]] extractor = last [[wh51_ch8_sig]] extractor = last [[wh51_ch9_sig]] extractor = last [[wh51_ch10_sig]] extractor = last [[wh51_ch11_sig]] extractor = last [[wh51_ch12_sig]] extractor = last [[wh51_ch13_sig]] extractor = last [[wh51_ch14_sig]] extractor = last [[wh51_ch15_sig]] extractor = last [[wh51_ch16_sig]] extractor = last [[wh55_ch1_sig]] extractor = last [[wh55_ch2_sig]] extractor = last [[wh55_ch3_sig]] extractor = last [[wh55_ch4_sig]] extractor = last [[wh57_sig]] extractor = last [[wh68_sig]] extractor = last [[ws80_sig]] extractor = last [AQIXTypes] [[map]] aqi_pm2_51_24h_avg = pm2_51_24h_avg # aqi_pm2_52_24h_avg = pm2_52_24h_avg # aqi_pm2_53_24h_avg = pm2_53_24h_avg # aqi_pm2_54_24h_avg = pm2_54_24h_avg aqi_pm2_51_instant = pm2_5 # aqi_pm2_52_instant = pm2_52 # aqi_pm2_53_instant = pm2_53 # aqi_pm2_54_instant = pm2_54 # Options for extension 'aqi' # [AqiService] # [[standard]] # data_binding = aqi_binding # standard = user.aqi.us.NowCast # [[air_sensor]] # data_binding = wx_binding # usUnits = usUnits # dateTime = dateTime # pm2_5 = pm2_5 # temp = purple_temperature # pressure = purple_pressure # pm10_0 = pm10_0_atm # temp = purple_temperature # pressure = purple_pressure # pm10_0 = pm10_0_atm
############################################################################### # SKIN CONFIGURATION FILE # # Copyright (c) 2010 Tom Keffer <[email protected]> # # Updated for the Belchertown Skin by Pat O'Brien, 2019 # ############################################################################### [Extras] # General Site Defaults belchertown_debug = 0 belchertown_locale = "auto" theme = dark theme_toggle_enabled = 0 site_title = "Weather Conditions" logo_image = logo_image_dark = radar_html = "" radar_html_dark = "" radar_width = 650 radar_height = 360 aeris_map = 0 almanac_extras = 1 # Station Observations. Special observation rainWithRainRate combines Daily Rain with Rain Rate in 1 line station_observations = "barometer", "dewpoint", "outHumidity", "rainWithRainRate", "pm2_5" # Manifest Settings for Mobile Phones manifest_name = "My Weather Website" manifest_short_name = "MWW" # Highcharts settings highcharts_enabled = 1 graph_page_show_all_button = 1 graph_page_default_graphgroup = "day" highcharts_homepage_graphgroup = "homepage" highcharts_decimal = "auto" highcharts_thousands = "auto" # MQTT Websockets defaults mqtt_websockets_enabled = 0 mqtt_websockets_host = "" mqtt_websockets_port = Red mqtt_websockets_ssl = 0 mqtt_websockets_topic = "" # disconnect_live_website_visitor = 1800000 # Show an alert if the page updated timestamp is older than expected with this setting. Does not apply to MQTT Websocket enabled websites # The late time threshold is defined in seconds. This should be greater than your archive_interval from weewx.conf. # Typically you would want this 2 or 3 times archive_interval show_last_updated_alert = 0 last_updated_alert_threshold = 1800 # If mqtt_websockets_enabled is set to 0, but want the page to full reload on an interval, specify this below in milliseconds. 300000 = 5 minutes webpage_autorefresh = 0 # Image Reload Section. # Set reload_hook_images to 1 to enable, then set the number of *seconds* for each section to reload. # A value of -1 will disable reloading images in that section. # radar = the radar image if you used radar_html setting # asi = index_hook_after_station_info.inc # af = index_hook_after_forecast.inc # as = index_hook_after_snapshot.inc # ac = index_hook_after_charts.inc reload_hook_images = 0 reload_images_radar = 300 reload_images_hook_asi = -1 reload_images_hook_af = -1 reload_images_hook_as = -1 reload_images_hook_ac = -1 # Forecast defaults forecast_enabled = 0 forecast_provider = "aeris" forecast_api_id = "" forecast_api_secret = "" forecast_units = "us" forecast_interval_hours = 24 # values are 0,1,3 or 24 forecast_lang = "en" forecast_stale = 3540 forecast_aeris_use_metar = 1 forecast_alert_enabled = 0 forecast_alert_limit = 1 forecast_show_daily_forecast_link = 0 forecast_daily_forecast_link = "" # Air Quality Index (AQI) defaults aqi_enabled = 1 aqi_location_enabled = 1 # Show Beaufort wind scale category under wind table beaufort_category = 0 # Earthquake defaults earthquake_enabled = 0 earthquake_maxradiuskm = 1000 earthquake_stale = 10740 earthquake_server = USGS geonet_mmi = 4 # Social Share Button Defaults. Define the text below under Labels facebook_enabled = 0 twitter_enabled = 1 social_share_html = "https://lovingtonweather.com" # Google Analytics #googleAnalyticsId = Redacted # This is the display of the Pi Kiosk which is in the /pi folder pi_kiosk_bold = "false" pi_theme = "auto" ############################################################################### [Labels] # Labels used in this skin [[Generic]] # Generic labels, keyed by an observation type. # To change a label or translate it to your language # change the text after the equal sign. # Extra Observation labels appTemp = Apparent Temperature cloudbase = Cloud Base visibility = Visibility windrun = Wind Run cloud_cover = Cloud Cover aqi = AQI # HTML Header Meta Tags and HTML Title. These labels have a default value # set inside of header.html.tmpl. Leave as "" to use the default value. html_title = "" html_description = "" # Footer Information footer_copyright_text = "Tinkertown Weather" footer_disclaimer_text = "Local, Personal Weather Station Obervations." # Twitter Social Share twitter_text = "Check out my weather website; current weather conditions Lovington NM" twitter_owner = "@lovington_nm" twitter_hashtags = "weewx #weather" # Station Observation Table rainWithRainRate = Rain # Navigation Menu nav_home = Home nav_graphs = Graphs nav_records = Records nav_reports = Reports nav_about = About # Default page headers home_page_header = "Lovington, NM Weather" graphs_page_header = "Weather Observation Graphs" records_page_header = "Weather Observation Records" reports_page_header = "Weather Observation Reports" about_page_header = "About This Weather Station" powered_by = "Observations are powered by an Ambient Weather 2902C" # Earthquake translations earthquake_no_data = No recent earthquake data available! # Home Page Text and Titles second = "second", "seconds" minute = "minute", "minutes" hour = "hour", "hours" sun = Sun moon = Moon sun_and_moon = Sun & Moon moon_visible = visible wind_speed = Speed wind_gust = Gust wind_today_max = Today Max feels_like = Feels like highest_temperature = High lowest_temperature = Low average_temperature = Average header_last_updated_alert = Notice: This page hasn't been updated recently and may contain stale data! header_last_updated = Last Updated mqtt_websockets_connecting = Connecting to weather station real time data. mqtt_websockets_waiting = Connected. Waiting for data. mqtt_websockets_connected = Connected to weather station live. Data received mqtt_websockets_stopped = Live updates have stopped. mqtt_websockets_continue = Continue live updates mqtt_websockets_failed = Failed connecting to the weather station. Please try again later! mqtt_websockets_lost = Lost connection to the weather station. Please try again later! weather_snapshots = Weather Record Snapshots. weather_snapshots_link = View all weather records here. snapshot_high = High snapshot_low = Low snapshot_today_avg_wind = Average Wind snapshot_today_high_wind = Highest Wind snapshot_today_high_uv = Highest UV snapshot_today_rain = Today's Rain snapshot_today_rainrate = Highest Rate snapshot_month_avg_wind = Average Wind snapshot_month_high_wind = Highest Wind snapshot_month_high_uv = Highest UV snapshot_month_rain = Total Rain snapshot_month_rainrate = Highest Rate earthquake_title = Recent Local Earthquake earthquake_magnitude = Magnitude homepage_graphs_link = View more here. copyright = Copyright # Forecast alert and almanac Popup close = Close # Almanac Popup almanac_more_details = More Almanac Information almanac_modal_title = Almanac Information sun_always_down = Always down sun_always_up = Always up more_than_yesterday = more than yesterday less_than_yesterday = less than yesterday start_civil_twilight = Start civil twilight rise = Rise transit = Transit set = Set end_civil_twilight = End Civil Twilight azimuth = Azimuth altitude = Altitude right_ascension = Right ascension declination = Declination equinox = Equinox solstice = Solstice total_daylight = Total daylight full_moon = Full moon new_moon = New moon phase = Phase full = full install_pyephem = Install pyephem for detailed celestial timings. # General Forecast translations forecast_header = Forecast daily_forecast = Daily Forecast alert_in_effect = in effect until forecast_last_updated = Last Updated on forecast_interval_caption = Forecast Interval (hours): # Air Quality Index label defaults aqi_good = good aqi_moderate = moderate aqi_usg = unhealthy for some # Official wording: "unhealthy for sensitive groups" aqi_unhealthy = unhealthy aqi_very_unhealthy = very unhealthy aqi_hazardous = hazardous aqi_unknown = unknown # Aeris Weather Forecast Codes. From https://www.aerisweather.com/support/docs/api/reference/weather-codes/ forecast_cloud_code_CL = "Clear" forecast_cloud_code_FW = "Mostly Clear" forecast_cloud_code_SC = "Partly Cloudy" forecast_cloud_code_BK = "Mostly Cloudy" forecast_cloud_code_OV = "Cloudy" forecast_coverage_code_AR = "Areas of" forecast_coverage_code_BR = "Brief" forecast_coverage_code_C = "Chance of" forecast_coverage_code_D = "Definite" forecast_coverage_code_FQ = "Frequent" forecast_coverage_code_IN = "Intermittent" forecast_coverage_code_IS = "Isolated" forecast_coverage_code_L = "Likely" forecast_coverage_code_NM = "Numerous" forecast_coverage_code_O = "Occasional" forecast_coverage_code_PA = "Patchy" forecast_coverage_code_PD = "Periods of" forecast_coverage_code_S = "Slight Chance of" forecast_coverage_code_SC = "Scattered" forecast_coverage_code_VC = "In the Vicinity" forecast_coverage_code_WD = "Widespread" forecast_intensity_code_VL = "Very Light" forecast_intensity_code_L = "Light" forecast_intensity_code_H = "Heavy" forecast_intensity_code_VH = "Very Heavy" forecast_weather_code_A = "Hail" forecast_weather_code_BD = "Blowing Dust" forecast_weather_code_BN = "Blowing Sand" forecast_weather_code_BR = "Mist" forecast_weather_code_BS = "Blowing Snow" forecast_weather_code_BY = "Blowing Spray" forecast_weather_code_F = "Fog" forecast_weather_code_FR = "Frost" forecast_weather_code_H = "Haze" forecast_weather_code_IC = "Ice Crystals" forecast_weather_code_IF = "Ice Fog" forecast_weather_code_IP = "Sleet" forecast_weather_code_K = "Smoke" forecast_weather_code_L = "Drizzle" forecast_weather_code_R = "Rain" forecast_weather_code_RW = "Rain Showers" forecast_weather_code_RS = "Rain/Snow Mix" forecast_weather_code_SI = "Snow/Sleet Mix" forecast_weather_code_WM = "Wintry Mix" forecast_weather_code_S = "Snow" forecast_weather_code_SW = "Snow Showers" forecast_weather_code_T = "Thunderstorms" forecast_weather_code_UP = "Unknown Precipitation" forecast_weather_code_VA = "Volcanic Ash" forecast_weather_code_WP = "Waterspouts" forecast_weather_code_ZF = "Freezing Fog" forecast_weather_code_ZL = "Freezing Drizzle" forecast_weather_code_ZR = "Freezing Rain" forecast_weather_code_ZY = "Freezing Spray" # Aeris US/Canada Alert Codes. From https://www.aerisweather.com/support/docs/aeris-maps/reference/alert-types/ forecast_alert_code_TOE = "911 Telephone Outage" forecast_alert_code_ADR = "Administrative Message" forecast_alert_code_AQA = "Air Quality Alert" forecast_alert_code_AQ_S = "Air Quality Alert" forecast_alert_code_AS_Y = "Air Stagnation Advisory" forecast_alert_code_AR_W = "Arctic Outflow Warning" forecast_alert_code_AF_Y = "Ashfall Advisory" forecast_alert_code_MH_Y = "Ashfall Advisory" forecast_alert_code_AF_W = "Ashfall Warning" forecast_alert_code_AVW = "Avalanche Warning" forecast_alert_code_AVA = "Avalanche Watch" forecast_alert_code_BH_S = "Beach Hazard Statement" forecast_alert_code_BZ_W = "Blizzard Warning" forecast_alert_code_DU_Y = "Blowing Dust Advisory" forecast_alert_code_BS_Y = "Blowing Snow Advisory" forecast_alert_code_BW_Y = "Brisk Wind Advisory" forecast_alert_code_CAE = "Child Abduction Emergency" forecast_alert_code_CDW = "Civil Danger Warning" forecast_alert_code_CEM = "Civil Emergency Message" forecast_alert_code_CF_Y = "Coastal Flood Advisory" forecast_alert_code_CF_S = "Coastal Flood Statement" forecast_alert_code_CF_W = "Coastal Flood Warning" forecast_alert_code_CF_A = "Coastal Flood Watch" forecast_alert_code_FG_Y = "Dense Fog Advisory" forecast_alert_code_MF_Y = "Dense Fog Advisory" forecast_alert_code_FO_Y = "Fog Advisory" forecast_alert_code_SM_Y = "Dense Smoke Advisory" forecast_alert_code_MS_Y = "Dense Smoke Advisory" forecast_alert_code_DS_W = "Dust Storm Warning" forecast_alert_code_EQW = "Earthquake Warning" forecast_alert_code_EVI = "Evacuation - Immediate" forecast_alert_code_EH_W = "Excessive Heat Warning" forecast_alert_code_EH_A = "Excessive Heat Watch" forecast_alert_code_EC_W = "Extreme Cold Warning" forecast_alert_code_EC_A = "Extreme Cold Watch" forecast_alert_code_RFD = "Extreme Fire Danger" forecast_alert_code_EW_W = "Extreme Wind Warning" forecast_alert_code_FRW = "Fire Warning" forecast_alert_code_FW_A = "Fire Weather Watch" forecast_alert_code_FF_S = "Flash Flood Statement" forecast_alert_code_FF_W = "Flash Flood Warning" forecast_alert_code_FF_A = "Flash Flood Watch" forecast_alert_code_FE_W = "Flash Freeze Warning" forecast_alert_code_FL_Y = "Flood Advisory" forecast_alert_code_FL_S = "Flood Statement" forecast_alert_code_FL_W = "Flood Warning" forecast_alert_code_FA_W = "Flood Warning" forecast_alert_code_FL_A = "Flood Watch" forecast_alert_code_FA_A = "Flood Watch" forecast_alert_code_FZ_W = "Freeze Warning" forecast_alert_code_FZ_A = "Freeze Watch" forecast_alert_code_ZL_Y = "Freezing Drizzle Advisory" forecast_alert_code_ZF_Y = "Freezing Fog Advisory" forecast_alert_code_ZR_W = "Freezing Rain Warning" forecast_alert_code_UP_Y = "Freezing Spray Advisory" forecast_alert_code_FR_Y = "Frost Advisory" forecast_alert_code_GL_W = "Gale Warning" forecast_alert_code_GL_A = "Gale Watch" forecast_alert_code_HZ_W = "Hard Freeze Warning" forecast_alert_code_HZ_A = "Hard Freeze Watch" forecast_alert_code_HMW = "Hazardous Materials Warning" forecast_alert_code_SE_W = "Hazardous Seas Warning" forecast_alert_code_SE_A = "Hazardous Seas Watch" forecast_alert_code_HWO = "Hazardous Weather Outlook" forecast_alert_code_HT_Y = "Heat Advisory" forecast_alert_code_HT_W = "Heat Warning" forecast_alert_code_UP_W = "Heavy Freezing Spray Warning" forecast_alert_code_UP_A = "Heavy Freezing Spray Watch" forecast_alert_code_SU_Y = "High Surf Advisory" forecast_alert_code_SU_W = "High Surf Warning" forecast_alert_code_HW_W = "High Wind Warning" forecast_alert_code_HW_A = "High Wind Watch" forecast_alert_code_HF_W = "Hurricane Force Wind Warning" forecast_alert_code_HF_A = "Hurricane Force Wind Watch" forecast_alert_code_HU_S = "Hurricane Local Statement" forecast_alert_code_HU_W = "Hurricane Warning" forecast_alert_code_HU_A = "Hurricane Watch" forecast_alert_code_FA_Y = "Hydrologic Advisory" forecast_alert_code_IS_W = "Ice Storm Warning" forecast_alert_code_LE_W = "Lake Effect Snow Warning" forecast_alert_code_LW_Y = "Lake Wind Advisory" forecast_alert_code_LS_Y = "Lakeshore Flood Advisory" forecast_alert_code_LS_S = "Lakeshore Flood Statement" forecast_alert_code_LS_W = "Lakeshore Flood Warning" forecast_alert_code_LS_A = "Lakeshore Flood Watch" forecast_alert_code_LEW = "Law Enforcement Warning" forecast_alert_code_LAE = "Local Area Emergency" forecast_alert_code_LO_Y = "Low Water Advisory" forecast_alert_code_MA_S = "Marine Weather Statement" forecast_alert_code_NUW = "Nuclear Power Plant Warning" forecast_alert_code_RHW = "Radiological Hazard Warning" forecast_alert_code_RA_W = "Rainfall Warning" forecast_alert_code_FW_W = "Red Flag Warning" forecast_alert_code_RFW = "Red Flag Warning" forecast_alert_code_RP_S = "Rip Current Statement" forecast_alert_code_SV_W = "Severe Thunderstorm Warning" forecast_alert_code_SV_A = "Severe Thunderstorm Watch" forecast_alert_code_SV_S = "Severe Weather Statement" forecast_alert_code_TO_S = "Severe Weather Statement" forecast_alert_code_SPW = "Shelter In Place Warning" forecast_alert_code_NOW = "Short Term Forecast" forecast_alert_code_SC_Y = "Small Craft Advisory" forecast_alert_code_SW_Y = "Small Craft Advisory For Hazadous Seas" forecast_alert_code_RB_Y = "Small Craft Advisory for Rough Bar" forecast_alert_code_SI_Y = "Small Craft Advisory for Winds" forecast_alert_code_SO_W = "Smog Warning" forecast_alert_code_SQ_W = "Snow Squall Warning" forecast_alert_code_SQ_A = "Snow Squall Watch" forecast_alert_code_SB_Y = "Snow and Blowing Snow Advisory" forecast_alert_code_SN_W = "Snowfall Warning" forecast_alert_code_MA_W = "Special Marine Warning" forecast_alert_code_SPS = "Special Weather Statement" forecast_alert_code_SG_W = "Storm Surge Warning" forecast_alert_code_SS_W = "Storm Surge Warning" forecast_alert_code_SS_A = "Storm Surge Watch" forecast_alert_code_SR_W = "Storm Warning" forecast_alert_code_SR_A = "Storm Watch" forecast_alert_code_TO_W = "Tornado Warning" forecast_alert_code_TO_A = "Tornado Watch" forecast_alert_code_TC_S = "Tropical Cyclone Statement" forecast_alert_code_TR_S = "Tropical Storm Local Statement" forecast_alert_code_TR_W = "Tropical Storm Warning" forecast_alert_code_TR_A = "Tropical Storm Watch" forecast_alert_code_TS_Y = "Tsunami Advisory" forecast_alert_code_TS_W = "Tsunami Warning" forecast_alert_code_TS_A = "Tsunami Watch" forecast_alert_code_TY_S = "Typhoon Local Statement" forecast_alert_code_TY_W = "Typhoon Warning" forecast_alert_code_TY_A = "Typhoon Watch" forecast_alert_code_VOW = "Volcano Warning" forecast_alert_code_WX_Y = "Weather Advisory" forecast_alert_code_WX_W = "Weather Warning" forecast_alert_code_WI_Y = "Wind Advisory" forecast_alert_code_WC_Y = "Wind Chill Advisory" forecast_alert_code_WC_W = "Wind Chill Warning" forecast_alert_code_WC_A = "Wind Chill Watch" forecast_alert_code_WI_W = "Wind Warning" forecast_alert_code_WS_W = "Winter Storm Warning" forecast_alert_code_WS_A = "Winter Storm Watch" forecast_alert_code_LE_A = "Winter Storm Watch" forecast_alert_code_BZ_A = "Winter Storm Watch" forecast_alert_code_WW_Y = "Winter Weather Advisory" forecast_alert_code_LE_Y = "Winter Weather Advisory" forecast_alert_code_ZR_Y = "Winter Weather Advisory" # Aeris European Alert Codes. From https://www.aerisweather.com/support/docs/aeris-maps/reference/alert-types/ forecast_alert_code_AW_WI_MN = "Minor Wind" forecast_alert_code_AW_WI_MD = "Moderate Wind" forecast_alert_code_AW_WI_SV = "Servere Wind" forecast_alert_code_AW_WI_EX = "Extreme Wind" forecast_alert_code_AW_SI_MN = "Minor Snow/Ice" forecast_alert_code_AW_SI_MD = "Moderate Snow/Ice" forecast_alert_code_AW_SI_SV = "Servere Snow/Ice" forecast_alert_code_AW_SI_EX = "Extreme Snow/Ice" forecast_alert_code_AW_TS_MN = "Minor Thunderstorm" forecast_alert_code_AW_TS_MD = "Moderate Thunderstorm" forecast_alert_code_AW_TS_SV = "Servere Thunderstorm" forecast_alert_code_AW_TS_EX = "Extreme Thunderstorm" forecast_alert_code_AW_LI_MN = "Minor Lightning" forecast_alert_code_AW_LI_MD = "Moderate Lightning" forecast_alert_code_AW_LI_SV = "Servere Lightning" forecast_alert_code_AW_LI_EX = "Extreme Lightning" forecast_alert_code_AW_FG_MN = "Minor Fog" forecast_alert_code_AW_FG_MD = "Moderate Fog" forecast_alert_code_AW_FG_SV = "Servere Fog" forecast_alert_code_AW_FG_EX = "Extreme Fog" forecast_alert_code_AW_HT_MN = "Minor High Temperature" forecast_alert_code_AW_HT_MD = "Moderate High Temperature" forecast_alert_code_AW_HT_SV = "Servere High Temperature" forecast_alert_code_AW_HT_EX = "Extreme High Temperature" forecast_alert_code_AW_LT_MN = "Minor Low Temperature" forecast_alert_code_AW_LT_MD = "Moderate Low Temperature" forecast_alert_code_AW_LT_SV = "Servere Low Temperature" forecast_alert_code_AW_LT_EX = "Extreme Low Temperature" forecast_alert_code_AW_CE_MN = "Minor Coastal Event" forecast_alert_code_AW_CE_MD = "Moderate Coastal Event" forecast_alert_code_AW_CE_SV = "Servere Coastal Event" forecast_alert_code_AW_CE_EX = "Extreme Coastal Event" forecast_alert_code_AW_FR_MN = "Minor Forest Fire" forecast_alert_code_AW_FR_MD = "Moderate Forest Fire" forecast_alert_code_AW_FR_SV = "Servere Forest Fire" forecast_alert_code_AW_FR_EX = "Extreme Forest Fire" forecast_alert_code_AW_AV_MN = "Minor Avalanche" forecast_alert_code_AW_AV_MD = "Moderate Avalanche" forecast_alert_code_AW_AV_SV = "Servere Avalanche" forecast_alert_code_AW_AV_EX = "Extreme Avalanche" forecast_alert_code_AW_RA_MN = "Minor Rainfall" forecast_alert_code_AW_RA_MD = "Moderate Rainfall" forecast_alert_code_AW_RA_SV = "Servere Rainfall" forecast_alert_code_AW_RA_EX = "Extreme Rainfall" forecast_alert_code_AW_FL_MN = "Minor Flooding" forecast_alert_code_AW_FL_MD = "Moderate Flooding" forecast_alert_code_AW_FL_SV = "Servere Flooding" forecast_alert_code_AW_FL_EX = "Extreme Flooding" forecast_alert_code_AW_RF_MN = "Minor Rain Flooding" forecast_alert_code_AW_RF_MD = "Moderate Rain Flooding" forecast_alert_code_AW_RF_SV = "Servere Rain Flooding" forecast_alert_code_AW_RF_EX = "Extreme Rain Flooding" forecast_alert_code_AW_UK_MN = "Minor Unknown" forecast_alert_code_AW_UK_MD = "Moderate Unknown" forecast_alert_code_AW_UK_SV = "Servere Unknown" forecast_alert_code_AW_UK_EX = "Extreme Unknown" # Beaufort Scale Default Labels beaufort0 = "calm" beaufort1 = "light air" beaufort2 = "light breeze" beaufort3 = "gentle breeze" beaufort4 = "moderate breeze" beaufort5 = "fresh breeze" beaufort6 = "strong breeze" beaufort7 = "near gale" beaufort8 = "gale" beaufort9 = "strong gale" beaufort10 = "storm" beaufort11 = "violent storm" beaufort12 = "hurricane force" # DarkSky Specific Codes forecast_weather_code_W = "Windy" forecast_weather_code_TO = "Tornado" # Graphs Page Text and Titles graphs_page_all_button = All graphs_windrose_frequency = Frequency graphs_windDir_ordinals = '{ 0: "N", 90: "E", 180: "S", 270: "W", 360: "N" }' # Records Page Text and Titles records_ending = ending records_days_text = days records_all_time = All Time records_temperature_records = Temperature Records records_high_temp = Highest Temperature records_low_temp = Lowest Temperature records_high_apptemp = Highest Apparent Temperature records_low_apptemp = Lowest Apparent Temperature records_high_heatindex = Highest Heat Index records_low_windchill = Lowest Wind Chill records_largest_temp_range = Largest Daily Temperature Range records_smallest_temp_range = Smallest Daily Temperature Range records_wind_records = Wind Records records_strongest_wind = Strongest Wind Gust records_daily_windrun = Highest Daily Wind Run records_rain_records = Rain Records records_highest_daily_rainfall = Highest Daily Rainfall records_highest_daily_rainrate = Highest Daily Rain Rate records_month_high_rainfall = Month with Highest Total Rainfall records_total_rainfall = Total Rainfall for records_consec_days_with_rain = Consecutive Days With Rain records_consec_days_without_rain = Consecutive Days Without Rain records_humidity_records = Humidity Records records_high_humidity = Highest Humidity records_lowest_humidity = Lowest Humidity records_highest_dewpoint = Highest Dewpoint records_lowest_dewpoint = Lowest Dewpoint records_barometer_records = Barometer Records records_high_barometer = Highest Barometer records_low_barometer = Lowest Barometer records_sun_records = Sun Records records_high_solar_rad = Highest Solar Radiation records_high_uv = Highest UV records_inTemp_records = Inside Temp Records records_high_inTemp = Highest inside Temp records_low_inTemp = Lowest inside Temp # NOAA Reports Page Text and Titles reports_title = NOAA Reports reports_click_here_link = Click here reports_view_more = to view this report directly or click on a month or year to change the NOAA report. # Pi Page Text and Titles mqtt_websockets_waiting_pi = Connecting. mqtt_websockets_connected_pi = Connected. Received # moment.js default labels formats time_earthquake = "LLL" time_last_updated = "LL, LTS" time_snapshot_records_today_header = "dddd, LL" time_snapshot_records_month_header = "MMMM YYYY" time_sunrise = "LT" time_sunset = "LT" time_forecast_alert_expires = "LLL" time_forecast_date = "ddd M/DD" time_forecast_time = "ddd LT" # must be {day} {time} format time_forecast_last_updated = "LLL" time_records_page_full_date = "LLL" time_records_page_month_day_year = "LL" time_records_page_rainfall_range_begin = "MMMM DD" time_records_page_rainfall_range_end = "LL" ############################################################################### [Almanac] # The labels to be used for the phases of the moon: moon_phases = New Moon, Waxing Crescent, First Quarter, Waxing Gibbous, Full Moon, Waning Gibbous, Last Quarter, Waning Crescent ############################################################################### [Units] # This section is for managing the selection and formatting of units. [[Groups]] # For each group of measurements, this section sets what units to # use for it. # NB: The unit is always in the singular. I.e., 'mile_per_hour', # NOT 'miles_per_hour' group_altitude = foot # Options are 'foot' or 'meter' group_degree_day = degree_F_day # Options are 'degree_F_day' or 'degree_C_day' group_direction = degree_compass group_distance = mile # Options are 'mile' or 'km' group_moisture = centibar group_percent = percent group_pressure = inHg # Options are 'inHg', 'mmHg', 'mbar', or 'hPa' group_radiation = watt_per_meter_squared group_rain = inch # Options are 'inch', 'cm', or 'mm' group_rainrate = inch_per_hour # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour' group_speed = mile_per_hour # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second' group_speed2 = mile_per_hour2 # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2' group_temperature = degree_F # Options are 'degree_F' or 'degree_C' group_uv = uv_index group_volt = volt # The following are used internally and should not be changed: group_count = count group_interval = minute group_time = unix_epoch group_elapsed = second [[StringFormats]] # This section sets the string formatting for each type of unit. centibar = %.0f cm = %.2f cm_per_hour = %.2f degree_C = %.1f degree_F = %.1f degree_compass = %.0f foot = %.0f hPa = %.1f hour = %.1f inHg = %.3f inch = %.2f inch_per_hour = %.2f km = %.2f km_per_hour = %.0f km_per_hour2 = %.1f knot = %.0f knot2 = %.1f mbar = %.1f meter = %.0f meter_per_second = %.1f meter_per_second2 = %.1f mile = %.2f mile_per_hour = %.0f mile_per_hour2 = %.1f mm = %.1f mmHg = %.1f mm_per_hour = %.1f percent = %.0f second = %.0f uv_index = %.1f volt = %.1f watt_per_meter_squared = %.0f NONE = "N/A" [[Labels]] # This section sets a label to be used for each type of unit. centibar = " cb" cm = " cm" cm_per_hour = " cm/hr" degree_C = " °C" degree_F = " °F" degree_compass = ° foot = " feet" hPa = " hPa" inHg = " inHg" inch = " in" inch_per_hour = " in/hr" km = " km" km_per_hour = " km/h" km_per_hour2 = " km/h" knot = " knots" knot2 = " knots" mbar = " mbar" meter = " meters" meter_per_second = " m/s" meter_per_second2 = " m/s" mile = " miles" mile_per_hour = " mph" mile_per_hour2 = " mph" mm = " mm" mmHg = " mmHg" mm_per_hour = " mm/hr" percent = % volt = " V" watt_per_meter_squared = " W/m²" day = " day", " days" hour = " hour", " hours" minute = " minute", " minutes" second = " second", " seconds" NONE = "" [[TimeFormats]] # This section sets the string format to be used for each time scale. # The values below will work in every locale, but may not look # particularly attractive. See the Customization Guide for alternatives. day = %X week = %X (%A) month = %x %X year = %x %X rainyear = %x %X current = %x %X ephem_day = %X ephem_year = %x %X [[TimeZone]] # The time zone in 'Area/Location' format. e. g. America/New_York time_zone = "" [[Ordinates]] # The ordinal directions. The last one should be for no wind direction directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A [[DegreeDays]] # This section sets the base temperatures used for the calculation # of heating and cooling degree-days. # Base temperature for heating days, with unit: heating_base = 65, degree_F # Base temperature for cooling days, with unit: cooling_base = 65, degree_F [[Trend]] time_delta = 10800 # 3 hours time_grace = 300 # 5 minutes ############################################################################### [CheetahGenerator] # This section is used by the generator CheetahGenerator, and specifies # which files are to be generated from which template. search_list_extensions = user.belchertown.getData # Possible encodings are 'html_entities', 'utf8', or 'strict_ascii' encoding = html_entities [[SummaryByMonth]] # Reports that summarize "by month" [[[NOAA_month]]] encoding = utf8 template = NOAA/NOAA-YYYY-MM.txt.tmpl [[SummaryByYear]] # Reports that summarize "by year" [[[NOAA_year]]] encoding = utf8 template = NOAA/NOAA-YYYY.txt.tmpl [[ToDate]] # Reports that show statistics "to date", such as day-to-date, # week-to-date, month-to-date, etc. [[[weewx_data]]] template = json/weewx_data.json.tmpl [[[Belchertown]]] template = js/belchertown.js.tmpl [[[home]]] template = index.html.tmpl [[[about]]] template = about/index.html.tmpl [[[graphs]]] template = graphs/index.html.tmpl [[[records]]] template = records/index.html.tmpl [[[reports]]] template = reports/index.html.tmpl [[[pi]]] template = pi/index.html.tmpl [[[manifest]]] encoding = utf8 template = manifest.json.tmpl ############################################################################### [CopyGenerator] # This section is used by the generator CopyGenerator # List of files to be copied only the first time the generator runs copy_once = favicon.ico, images/*, json/index.html, js/index.html, js/responsive-menu.js, robots.txt # List of files to be copied each time the generator runs copy_always = *.css ############################################################################### # # The list of generators that are to be run: # [Generators] generator_list = weewx.cheetahgenerator.CheetahGenerator, weewx.reportengine.CopyGenerator, user.belchertown.HighchartsJsonGenerator
