Running wee_extension --list showed that MQTTSubscribe was NOT installed. I really don't know how that happened, but it did solve the error no module named 'user.MQTTsubscribe'. However, when I attempt to start, it now returns a very similar error:
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2021 Tom Keffer <
tke...@gmail.com>
# 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 = /
# 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.5.1
##############################################################################
# This section is for information about the station.
[Station]
# Description of the station location
location = "Private home in rural S Knox County, TN"
# Latitude in decimal degrees. Negative for southern hemisphere
latitude = 35.912331
# Longitude in decimal degrees. Negative for western hemisphere.
longitude = -83.878532
# Altitude of the station, with unit it is in. This is downloaded from
# from the station if the hardware supports it.
altitude = 974, foot
# 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 = SDR
# If you have a website, you may specify an URL
station_url =
https://stonecressweather.ddns.net # 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 = 6
##############################################################################
[SDR]
# This section is for the software-defined radio driver.
# The driver to use
driver = user.sdr
log_unknown_sensors = True
log_unmapped_sensors = True
cmd = sudo rtl_433 -M utc -F json
[[sensor_map]]
outTemp = temperature.0825.Acurite5n1PacketV2
inTemp = temperature.1D14.AcuriteTowerPacketV2
extraTemp2 = temperature.0009.AcuriteLightningPacket
extraTemp3 = temperature.3F14.AcuriteTowerPacketV2
outHumidity = humidity.0825.Acurite5n1PacketV2
inHumidity = humidity.1D14.AcuriteTowerPacketV2
extraHumid1 = humidity.0009.AcuriteLightningPacket
extraHumid2 = humidity.3F14.AcuriteTowerPacketV2
windDir = wind_dir.0825.Acurite5n1PacketV2
windSpeed = wind_speed.0825.Acurite5n1PacketV2
rain_total = rain_total.0825.Acurite5n1PacketV2
lightning_distance = distance.0009.AcuriteLightningPacket
strikes_total = strikes_total.0009.AcuriteLightningPacket
[[deltas]]
rain = rain_total
lightning_strike_count = strikes_total
##############################################################################
[Simulator]
# This section is for the weewx weather station simulator
# The time (in seconds) between LOOP packets.
loop_interval = 2.5
# The simulator mode can be either 'simulator' or 'generator'.
# Real-time simulator. Sleep between each LOOP packet.
mode = simulator
# Generator. Emit LOOP packets as fast as possible (useful for testing).
#mode = generator
# The start time. Format is YYYY-mm-ddTHH:MM. If not specified, the default
# is to use the present time.
#start = 2011-01-01T00:00
# The driver to use:
driver = weewx.drivers.simulator
##############################################################################
# This section is for uploading data to Internet sites
[StdRESTful]
[[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 = false
username = replace_me
password = replace_me
[[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 = FW9927
post_interval = 900
stale = 600
server_list =
cwop.aprs.net:14580,
cwop.aprs.net:23 log_success = true
log_failure = true
# 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 = STONECRESS
password = Funkytown1
[[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 = false
station = replace_me
password = replace_me
[[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 = false
station = replace_me
password = replace_me
# If you plan on using wunderfixer, set the following
# to your API key:
api_key = replace_me
# 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 = False
##############################################################################
# This section specifies what reports, using which skins, to generate.
[StdReport]
# Where the skins reside, relative to WEEWX_ROOT
SKIN_ROOT = /etc/weewx/skins
# Where the generated reports should go, relative to WEEWX_ROOT
HTML_ROOT = /var/www/html/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 = false
[[SmartphoneReport]]
# The SmartphoneReport uses the 'Smartphone' skin, and the images and
# files are placed in a dedicated subdirectory.
skin = Smartphone
enable = false
HTML_ROOT = /var/www/html/weewx/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 = /var/www/html/weewx/mobile
[[StandardReport]]
# This is the old "Standard" skin. By default, it is not enabled.
skin = Standard
enable = false
[[Belchertown]]
HTML_ROOT = /var/www/html/weewx/belchertown
skin = Belchertown
enable = true
[[forecast]]
HTML_ROOT = /var/www/html/weewx/forecast
skin = forecast
enable = true
[[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 = /var/www/html/weewx
# 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 = /var/www/html/weewx
# 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 = Front Room Humidity
inTemp = Front Room Temperature
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 = Center Room Temperature
extraTemp2 = Back Yard Temperature
extraTemp3 = Back Room Temperature
extraTemp4 = Annex Temperature
extraHumid1 = Outside Humidity
extraHumid2 = Back Room Humidity
extraHumid3 = Annex Humidity
lightning_strike_count = Lightning Strikes
pm1_0 = Indoor 1.0 Particulate
pm2_5 = " 2.5"
pm10_0 = " 10.0"
pm1_0A = Outdoor 1.0 Particulate
pm2_5A = 2.5
pm10_0A = 10.0
pressure = Pressure
# 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
batteryStatus1 = 5n1 Battery
batteryStatus2 = Living Room Battery
batteryStatus3 = Backyard Battery
[[[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 lightning_distance = 0
##############################################################################
# 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 = hardware
altimeter = prefer_hardware
appTemp = prefer_hardware
barometer = 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 = software
windrun = prefer_hardware
UV = software
[[deltas]]
[[[lightning_strikes]]]
input = lightning_strike_count
##############################################################################
# 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 = 300
# 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
##############################################################################
# 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_sqlite
# 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 = user.lightning_strikes.schema_with_lightning_strikes
[[forecast_binding]]
database = forecast_sqlite
##############################################################################
# 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
[[forecast_sqlite]]
database_name = forecast.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 = /var/lib/weewx
# Defaults for MySQL databases
[[MySQL]]
driver = weedb.mysql
# The host where the database is located
host = localhost
# The user name for logging in to the host
user = weewx
# The password for the user name (quotes guard against parsing errors)
password = weewx
##############################################################################
# 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 = user.MQTTSubscribe.MQTTSubscribeService,
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
archive_services = weewx.engine.StdArchive, user.forecast.ZambrettiForecast, user.forecast.NWSForecast, user.forecast.WUForecast, user.forecast.OWMForecast, user.forecast.UKMOForecast, user.forecast.AerisForecast, user.forecast.WWOForecast, user.forecast.DSForecast, user.forecast.XTideForecast
restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
report_services = weewx.engine.StdPrint, weewx.engine.StdReport
[Forecast]
data_binding = forecast_binding
[[OWM]]
api_key = INSERT_OWM_API_KEY_HERE
[[WWO]]
api_key = INSERT_WWO_API_KEY_HERE
[[WU]]
api_key = INSERT_WU_API_KEY_HERE
[[NWS]]
lid = "INSERT_LOCATION_ID_HERE (e.g., MAZ014)"
foid = "INSERT_FORECAST_OFFICE_ID_HERE (e.g., BOX)"
[[UKMO]]
api_key = INSERT_UKMO_API_KEY_HERE
location = INSERT_UK_LOCATION_HERE
[[XTide]]
location = "INSERT_LOCATION_HERE (e.g., Boston)"
[[Zambretti]]
hemisphere = NORTH
[[Aeris]]
client_secret =
client_id =
[[DS]]
api_key = INSERT_DS_API_KEY_HERE
##############################################################################
# Options for 'MQTTSubscribeService'
[MQTTSubscribeService]
# This section is for the MQTTSubscribe service.
# Turn the service on and off.
# Default is: true
# Only used by the service.
enable = true
# The MQTT server.
# Default is localhost.
host = localhost
# The port to connect to.
# Default is 1883.
port = 1883
# Maximum period in seconds allowed between communications with the broker.
# Default is 60.
keepalive = 120
# username for broker authentication.
# Default is None.
username = None
# password for broker authentication.
# Default is None.
password = None
# The binding, loop or archive.
# Default is: loop
# Only used by the service.
binding = loop
# The message handler to use
[[message_callback]]
# The format of the MQTT payload.
# Currently support: individual, json, keyword
# Must be specified.
type = individual
# The topics to subscribe to.
[[topics]]
# Units for MQTT payloads without unit value.
# Valid values: US, METRIC, METRICWX
# Default is: US
unit_system = US
msg_id_field = id
[[[weather/barometer]]]
[[[[weather/barometer]]]]
name = barometer
[[[weather/ExtraTemp1]]]
[[[[weather/ExtraTemp1]]]]
name = extraTemp1
[[[weather/ExtraTemp4]]]
[[[[weather/ExtraTemp4]]]]
name = extraTemp4
[[[weather/extraHumid3]]]
[[[[weather/extraHumid3]]]]
name = extraHumid3
[[[weather/pressure]]]
[[[[weather/pressure]]]]
name = pressure
[[[weather/UV]]]
[[[[weather/UV]]]]
name = radiation
conversion type = float
[[[weather/oneOum]]]
[[[[weather/oneOum]]]]
name = pm1_0
[[[weather/twofiveum]]]
[[[[weather/twofiveum]]]]
name = pm2_5
[[[weather/tenum]]]
[[[[weather/tenum]]]]
name = pm10_0
[[[particulate/partone]]]
[[[[particulate/partone]]]]
name = pm1_0A
[[[particulate/parttwofive]]]
[[[[particulate/parttwofive]]]]
name = pm2_5A
[[[particulate/partten]]]
[[[[particulate/partten]]]]
name = pm10_0A
[Accumulator]
[[lightning_strike_count]]
extractor = sum
[[lightning_distance]]
extractor = min
###############################################################################
# SKIN CONFIGURATION FILE #
# Copyright (c) 2010 Tom Keffer <
tke...@gmail.com> #
# Updated for the Belchertown Skin by Pat O'Brien, 2019 #
###############################################################################
[Extras]
# General Site Defaults
belchertown_debug = 0
belchertown_locale = "auto"
theme = auto
theme_toggle_enabled = 1
site_title = "Colonial Village, Knoxville, TN"
logo_image = ""
logo_image_dark = ""
radar_html = ""
almanac_extras = 1
beaufort_category = 1
# Station Observations. Special observation rainWithRainRate combines Daily Rain with Rain Rate in 1 line
station_observations = "barometer","pressure","rainWithRainRate","lightning_strike_count","extraHumid1","dewpoint","extraTemp2","inTemp","extraTemp1","extraTemp3","extraTemp4","inHumidity","extraHumid2","extraHumid3"
##"pm1_0", "pm2_5", "pm10_0", "pm1_0A", "pm2_5A", "pm10_0A"
# 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 = "192.168.1.97"
mqtt_websockets_port = 1883
mqtt_websockets_ssl = 0
mqtt_websockets_topic = "weather/barometer"
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 = 1
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 = 300000
# 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 = 1
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 = 1
forecast_provider = "aeris"
forecast_api_id = "ipVXLoho5gmCo4dn0qUIK"
forecast_api_secret = "NSaLIgCPa4BnbPfNwhawcl3hB9iIbxowVewcgKDB"
forecast_units = "us"
forecast_lang = "en"
forecast_stale = 3000
forecast_aeris_use_metar = 1
forecast_alert_enabled = 1
forecast_alert_limit = 4
forecast_show_daily_forecast_link = 1
forecast_daily_forecast_link = "
https://api.aerisapi.com/forecasts/:auto?&format=json&filter=daynight&limit=7&client_id=ipVXLoho5gmCo4dn0qUIK&client_secret=NSaLIgCPa4BnbPfNwhawcl3hB9iIbxowVewcgKDB"
aqi_enabled = 1
aqi_location_enabled = 1
forecast_interval_hours = 3
# Earthquake defaults
earthquake_enabled = 1
earthquake_maxradiuskm = 1000
earthquake_stale = 10800
earthquake_server = USGS
# Social Share Button Defaults. Define the text below under Labels
facebook_enabled = 0
twitter_enabled = 0
social_share_html = "
http://yourwebsite"
# Google Analytics
#googleAnalyticsId = UA-12345678-1
# 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
# 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 = "Stonecress Weather"
footer_disclaimer_text = "Never make important decisions from this website."
# Twitter Social Share
twitter_text = "Check out my website: My Weather Website Weather Conditions"
twitter_owner = "YourTwitterUsernameHere"
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 = "Stonecress Station Weather Conditions"
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 Acurite5n1 Personal Weather Station"
# 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
# Almanac Popup
close = Close
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 = 7 Day Forecast
daily_forecast = Daily Forecast
alert_in_effect = in effect until
forecast_last_updated = Last Updated on
# 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_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"
# 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
records_pressure_records = Pressure Records
records_high_pressure = Highest Pressure
records_low_pressure = Lowest Pressure
# 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_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
[[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, user.forecast.ForecastVariables
# Possible encodings are 'html_entities', 'utf8', or 'strict_ascii'
encoding = html_entities
[[SummaryByMonth]]
# Reports that summarize "by month"
[[[NOAA_month]]]
encoding = strict_ascii
template = NOAA/NOAA-YYYY-MM.txt.tmpl
[[SummaryByYear]]
# Reports that summarize "by year"
[[[NOAA_year]]]
encoding = strict_ascii
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
Sorry for the length, I really don't know what's relevant and what's not so I included everything.