I am running weewx 3.6.1, exfoliation .40 and forecast 3.2.9.
The forecast page displays: "forecast_table: forecast search list extension
is not installed".
I have searched this group and tried everything. Nothing is getting the
forecast to appear. This morning I installed and re-installed
weewx-forecast-3.2.9.tgz.
Here is my log:
Jan 16 10:07:36 raspberrypi weewx[13362]: forecast: MainThread: XTide:
forecast will not be run
Jan 16 10:07:36 raspberrypi weewx[13362]: restx: StationRegistry:
Registration not requested.
Jan 16 10:07:36 raspberrypi weewx[13362]: restx: Wunderground-RF: Data for
station KCOLITTL149 will be posted
Jan 16 10:07:36 raspberrypi weewx[13362]: restx: PWSweather: Posting not
enabled.
Jan 16 10:07:36 raspberrypi weewx[13362]: restx: CWOP: Posting not enabled.
Jan 16 10:07:36 raspberrypi weewx[13362]: restx: WOW: Posting not enabled.
Jan 16 10:07:36 raspberrypi weewx[13362]: restx: AWEKAS: Posting not
enabled.
Jan 16 10:07:36 raspberrypi weewx[13362]: engine: Starting up weewx version
3.6.1
Jan 16 10:07:36 raspberrypi weewx[13362]: engine: Clock error is 1.12
seconds (positive is fast)
Jan 16 10:07:36 raspberrypi weewx[13362]: engine: Starting main packet loop.
Jan 16 10:10:15 raspberrypi weewx[13362]: manager: added record 2017-01-16
10:10:00 MST (1484586600) to database 'weewx.sdb'
Jan 16 10:10:15 raspberrypi weewx[13362]: manager: added record 2017-01-16
10:10:00 MST (1484586600) to daily summary in 'weewx.sdb'
Jan 16 10:10:16 raspberrypi weewx[13362]: forecast: ZambrettiThread:
Zambretti: generated 1 forecast record
Jan 16 10:10:16 raspberrypi weewx[13362]: forecast: ZambrettiThread:
Zambretti: saved 1 forecast records
Jan 16 10:10:16 raspberrypi weewx[13362]: forecast: ZambrettiThread:
Zambretti: deleted forecasts prior to 1483981816
Jan 16 10:10:18 raspberrypi weewx[13362]: cheetahgenerator: Generate failed
with exception '<class 'Cheetah.Parser.ParseError'>'
Jan 16 10:10:18 raspberrypi weewx[13362]: cheetahgenerator: **** Ignoring
template /etc/weewx/skins/exfoliation/forecast.html.tmpl
Jan 16 10:10:18 raspberrypi weewx[13362]: cheetahgenerator: **** Reason:
#012#012#end found, but nothing to end#012Line 29, column 1 in file
/etc/weewx/skins/exfoliation/forecast.html.tmpl#012#012Line|Cheetah
Code#012----|-------------------------------------------------------------#01226
| for $k in $Extras.forecast_page_forecast_settings#01227 | set global
$forecast_table_settings[$k] =
$Extras.forecast_page_forecast_settings[$k]#01228 |#end for#01229 |#end
if#012 ^#01230 |#01231 | include "forecast_table.inc"#01232 |
Jan 16 10:10:18 raspberrypi weewx[13362]: **** Traceback (most recent call
last):
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/share/weewx/weewx/cheetahgenerator.py", line 313, in generate
Jan 16 10:10:18 raspberrypi weewx[13362]: ****
filtersLib=weewx.cheetahgenerator)
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1259, in
__init__
Jan 16 10:10:18 raspberrypi weewx[13362]: **** self._compile(source,
file, compilerSettings=compilerSettings)
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1553, in
_compile
Jan 16 10:10:18 raspberrypi weewx[13362]: ****
keepRefToGeneratedCode=True)
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 743, in compile
Jan 16 10:10:18 raspberrypi weewx[13362]: **** compiler.compile()
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Compiler.py", line 1664, in
compile
Jan 16 10:10:18 raspberrypi weewx[13362]: **** self._parser.parse()
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1489, in parse
Jan 16 10:10:18 raspberrypi weewx[13362]: **** self.eatDirective()
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1613, in
eatDirective
Jan 16 10:10:18 raspberrypi weewx[13362]: **** directiveParser()
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1764, in
eatEndDirective
Jan 16 10:10:18 raspberrypi weewx[13362]: ****
self.popFromOpenDirectivesStack(directiveName)
Jan 16 10:10:18 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 2644, in
popFromOpenDirectivesStack
Jan 16 10:10:18 raspberrypi weewx[13362]: **** raise ParseError(self,
msg="#end found, but nothing to end")
Jan 16 10:10:18 raspberrypi weewx[13362]: **** ParseError:
Jan 16 10:10:18 raspberrypi weewx[13362]: ****
Jan 16 10:10:18 raspberrypi weewx[13362]: **** #end found, but nothing to
end
Jan 16 10:10:18 raspberrypi weewx[13362]: **** Line 29, column 1 in file
/etc/weewx/skins/exfoliation/forecast.html.tmpl
Jan 16 10:10:18 raspberrypi weewx[13362]: ****
Jan 16 10:10:18 raspberrypi weewx[13362]: **** Line|Cheetah Code
Jan 16 10:10:18 raspberrypi weewx[13362]: ****
----|-------------------------------------------------------------
Jan 16 10:10:18 raspberrypi weewx[13362]: **** 26 | for $k in
$Extras.forecast_page_forecast_settings
Jan 16 10:10:18 raspberrypi weewx[13362]: **** 27 | set global
$forecast_table_settings[$k] = $Extras.forecast_page_forecast_settings[$k]
Jan 16 10:10:18 raspberrypi weewx[13362]: **** 28 |#end for
Jan 16 10:10:18 raspberrypi weewx[13362]: **** 29 |#end if
Jan 16 10:10:18 raspberrypi weewx[13362]: **** ^
Jan 16 10:10:18 raspberrypi weewx[13362]: **** 30 |
Jan 16 10:10:18 raspberrypi weewx[13362]: **** 31 | include
"forecast_table.inc"
Jan 16 10:10:18 raspberrypi weewx[13362]: **** 32 |
Jan 16 10:10:18 raspberrypi weewx[13362]: ****
Jan 16 10:10:24 raspberrypi weewx[13362]: cheetahgenerator: Generated 8
files for report StandardReport in 7.99 seconds
Jan 16 10:10:26 raspberrypi weewx[13362]: genimages: Generated 18 images
for StandardReport in 2.49 seconds
Jan 16 10:10:26 raspberrypi weewx[13362]: reportengine: copied 65 files to
/var/www/weewx
Jan 16 10:10:28 raspberrypi weewx[13362]: cheetahgenerator: Generate failed
with exception '<class 'Cheetah.Parser.ParseError'>'
Jan 16 10:10:28 raspberrypi weewx[13362]: cheetahgenerator: **** Ignoring
template /etc/weewx/skins/exfoliation/forecast.html.tmpl
Jan 16 10:10:28 raspberrypi weewx[13362]: cheetahgenerator: **** Reason:
#012#012#end found, but nothing to end#012Line 29, column 1 in file
/etc/weewx/skins/exfoliation/forecast.html.tmpl#012#012Line|Cheetah
Code#012----|-------------------------------------------------------------#01226
| for $k in $Extras.forecast_page_forecast_settings#01227 | set global
$forecast_table_settings[$k] =
$Extras.forecast_page_forecast_settings[$k]#01228 |#end for#01229 |#end
if#012 ^#01230 |#01231 | include "forecast_table.inc"#01232 |
Jan 16 10:10:28 raspberrypi weewx[13362]: **** Traceback (most recent call
last):
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/share/weewx/weewx/cheetahgenerator.py", line 313, in generate
Jan 16 10:10:28 raspberrypi weewx[13362]: ****
filtersLib=weewx.cheetahgenerator)
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1259, in
__init__
Jan 16 10:10:28 raspberrypi weewx[13362]: **** self._compile(source,
file, compilerSettings=compilerSettings)
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1553, in
_compile
Jan 16 10:10:28 raspberrypi weewx[13362]: ****
keepRefToGeneratedCode=True)
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 743, in compile
Jan 16 10:10:28 raspberrypi weewx[13362]: **** compiler.compile()
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Compiler.py", line 1664, in
compile
Jan 16 10:10:28 raspberrypi weewx[13362]: **** self._parser.parse()
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1489, in parse
Jan 16 10:10:28 raspberrypi weewx[13362]: **** self.eatDirective()
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1613, in
eatDirective
Jan 16 10:10:28 raspberrypi weewx[13362]: **** directiveParser()
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1764, in
eatEndDirective
Jan 16 10:10:28 raspberrypi weewx[13362]: ****
self.popFromOpenDirectivesStack(directiveName)
Jan 16 10:10:28 raspberrypi weewx[13362]: **** File
"/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 2644, in
popFromOpenDirectivesStack
Jan 16 10:10:28 raspberrypi weewx[13362]: **** raise ParseError(self,
msg="#end found, but nothing to end")
Jan 16 10:10:28 raspberrypi weewx[13362]: **** ParseError:
Jan 16 10:10:28 raspberrypi weewx[13362]: ****
Jan 16 10:10:28 raspberrypi weewx[13362]: **** #end found, but nothing to
end
Jan 16 10:10:28 raspberrypi weewx[13362]: **** Line 29, column 1 in file
/etc/weewx/skins/exfoliation/forecast.html.tmpl
Jan 16 10:10:28 raspberrypi weewx[13362]: ****
Jan 16 10:10:28 raspberrypi weewx[13362]: **** Line|Cheetah Code
Jan 16 10:10:28 raspberrypi weewx[13362]: ****
----|-------------------------------------------------------------
Jan 16 10:10:28 raspberrypi weewx[13362]: **** 26 | for $k in
$Extras.forecast_page_forecast_settings
Jan 16 10:10:28 raspberrypi weewx[13362]: **** 27 | set global
$forecast_table_settings[$k] = $Extras.forecast_page_forecast_settings[$k]
Jan 16 10:10:28 raspberrypi weewx[13362]: **** 28 |#end for
Jan 16 10:10:28 raspberrypi weewx[13362]: **** 29 |#end if
Jan 16 10:10:28 raspberrypi weewx[13362]: **** ^
Jan 16 10:10:28 raspberrypi weewx[13362]: **** 30 |
Jan 16 10:10:28 raspberrypi weewx[13362]: **** 31 | include
"forecast_table.inc"
Jan 16 10:10:28 raspberrypi weewx[13362]: **** 32 |
Jan 16 10:10:28 raspberrypi weewx[13362]: ****
Jan 16 10:10:31 raspberrypi weewx[13362]: cheetahgenerator: Generated 8
files for report exfoliation in 4.94 seconds
Jan 16 10:10:34 raspberrypi weewx[13362]: genimages: Generated 18 images
for exfoliation in 2.48 seconds
Jan 16 10:10:34 raspberrypi weewx[13362]: reportengine: copied 65 files to
/var/www/weewx/exfoliation
Jan 16 10:10:53 raspberrypi weewx[13362]: cheetahgenerator: Generated 10
files for report forecast in 19.06 seconds
Jan 16 10:10:53 raspberrypi weewx[13362]: reportengine: copied 87 files to
/var/www/weewx/forecast
Would anyone be able to give a starting place to trouble shoot this?
This is the most information I have seen that relates to the forecast. I
did edit out several of the # in the forecast.html.tmpl. It appeared that
all the lines in the forecast.html.tmpl were commented out.
GNU nano 2.2.6 File:
forecast.html.tmpl
## exfoliation for weewx - Copyright 2012-2013 Matthew Wall
## $Id: forecast.html.tmpl 1639 2016-12-27 02:33:45Z mwall $
#errorCatcher Echo
#encoding UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head profile='http://www.w3.org/2005/10/profile'>
<!-- exfoliation for weewx - Copyright Matthew Wall -->
#if $encoding == 'utf8'
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
#end if
<meta name='viewport' content='width=device-width' />
<title>$station.location Forecast</title>
<link rel='stylesheet' type='text/css' href='exfoliation.css'/>
<link rel='stylesheet' type='text/css' href='forecast_table.css'/>
<link rel='icon' type='image/png' href='favicon.ico' />
</head>
<body>
include "header.inc"
<div id='content'>
if $varExists('Extras') and
$Extras.has_key('forecast_page_forecast_settings')
set global $forecast_table_settings = dict()
for $k in $Extras.forecast_page_forecast_settings
set global $forecast_table_settings[$k] =
$Extras.forecast_page_forecast_settings[$k]
#end for
#end if
include "forecast_table.inc"
</div>
include "footer.inc"
</body>
</html>
Help!
--
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].
For more options, visit https://groups.google.com/d/optout.
# configuration file for the exfoliation skin
# $Id: skin.conf 1639 2016-12-27 02:33:45Z mwall $
# The exfoliation-for-weewx skin was created by Matthew Wall.
#
# This skin can be copied, modified, and distributed as long as this notice
# is included in any derivative work.
#
# This skin uses the dejavu sans mono font:
# apt-get install ttf-dejavu-core
# apt-get install ttf-dejavu-extra
[Extras]
version = 0.40
# If you have a Google Analytics ID, specify it here:
#googleAnalyticsId = UA-12345678-1
# which blocks should be displayed on the 'current' page?
current_show_inside = true
current_show_celestial = true
# current_show_tides = false
current_show_forecast_summary = true
current_show_forecast_table = true
# which forecast data should be displayed inline on the 'current' page?
current_forecast_source = WU
# should the forecast page be displayed?
show_forecast_page = true
# should the history page be displayed?
show_history_page = true
# should the almanac page be displayed?
show_almanac_page = true
# should the station health page be displayed?
show_station_page = true
# which time periods should be options on the station page?
station_periods = day, week, month
# which station health indicators should be displayed on the station page?
station_metrics = rx, battery
# the cmon extension provides additional indicators
#station_metrics = rx, battery, cpu, load, disk, mem, net, ups
# should the links page be displayed?
show_links_page = true
# should the RSS link be displayed on the 'links' page?
# links_show_rss = true
# the following are optional - they control what is displayed in the
# 'links' page. replace with a URL for your location, or comment to
# remove any one from display.
# radar
links_radar_local_img = http://radar.weather.gov/ridge/lite/N0R/FTG_loop.gif
links_radar_regional_img =
http://radar.weather.gov/ridge/Conus/Loop/northrockies_loop.gif
links_radar_national_img =
http://radar.weather.gov/Conus/RadarImg/latest.gif
# forecasts
links_local_forecast_url =
http://forecast.weather.gov/MapClick.php?lon=-105.08326097869865&lat=39.626724130927215#.WHKDf7YrKV4
# links_marine_forecast_url =
http://forecast.weather.gov/shmrn.php?mz=anz230
# table of tides
# links_tide_table_url =
'http://ma.usharbors.com/monthly-tides/Massachusetts-Boston%20Harbor%2CSouth%20Shore/Boston%20Harbor'
# infrared
links_satellite_ir_img = http://www.goes.noaa.gov/GIFS/WCIR.JPG
# visible spectrum
links_satellite_vs_img = http://www.goes.noaa.gov/GIFS/WCVS.JPG
# water vapor
links_satellite_wv_img = http://www.goes.noaa.gov/GIFS/WCWV.JPG
# thermal
links_satellite_i8_img = http://www.goes.noaa.gov/GIFS/WCI8.JPG
# forecast images
links_forecast_48hour_img =
http://forecast.weather.gov/meteograms/Plotter.php?lat=39.62672&lon=-105.08326&wfo=BOU&zcode=COZ040&gset=20&gdiff=10&unit=0&tinfo=EY5&ahour=0&pcmd=110111111110000000000000000000000000000000000000000000000
links_forecast_surface_img =
http://www.aviationweather.gov/adds/data/winds/ruc00hr_sfc_wind.gif
links_forecast_fourpanel_img =
http://weather.unisys.com/gfs/4panel/gfs_pres_4panel1.gif
# nws marine zones - offshore and coastal are available, see:
# http://www.nws.noaa.gov/os/marine/zone/wrdoffmz.htm
# http://www.nws.noaa.gov/om/marine/zone/usamz.htm
# anz081 - gulf of maine
# anz150 - port clyde to stonington
# anz151 - penobscot bay
# anz230 - boston harbor
# links_nws_marine_forecast_url =
http://forecast.weather.gov/shmrn.php?mz=anz230
links_nws_48hour_forecast_url =
http://forecast.weather.gov/MapClick.php?w0=t&w1=td&w2=hi&w3=sfcwind&w4=sky&w5=pop&w6=rh&w7=thunder&w8=rain&w9=snow&AheadHour=0&Submit=Submit&FcstType=graphical&textField1=39.62672&textField2=-105.08326&site=all
links_nws_forecast_url =
http://forecast.weather.gov/MapClick.php?lon=-105.08326097869865&lat=39.626724130927215#.WHKDf7YrKV4
links_weather_underground_url =
http://www.wunderground.com/cgi-bin/findweather/getForecast?query=pws:KCOLITTL149
links_intellicast_forecast_url =
http://www.intellicast.com/Local/Weather.aspx?location=USCO0239
links_intellicast_satellite_url =
http://www.intellicast.com/Global/Satellite/Infrared.aspx?animate=true&location=USCO0239
# intellicast images
links_intellicast_satellite_img =
http://images.intellicast.com/WxImages/SatelliteLoop/hiatlsat_None_anim.gif
links_intellicast_radar_img =
http://images.intellicast.com/WxImages/Radar/usa.gif
# open weathermap
# links_owm_url = http://openweathermap.org/
# aurora forecasts
links_aurora_forecast_n_img =
http://services.swpc.noaa.gov/images/animations/ovation-north/latest.png
links_aurora_forecast_s_img =
http://services.swpc.noaa.gov/images/animations/ovation-south/latest.png
# set parameters in the forecast table on the current page
[[current_page_forecast_settings]]
source = WU
num_periods = 60
# set parameters in the forecast table on the forecast page
[[forecast_page_forecast_settings]]
source = WU
num_periods = 240
show_hourly = 1
show_sun = 1
show_moon = 1
[Units]
[[Groups]]
group_altitude = foot
group_degree_day = degree_F_day
group_direction = degree_compass
group_moisture = centibar
group_percent = percent
group_pressure = mbar
group_radiation = watt_per_meter_squared
group_rain = inch
group_rainrate = inch_per_hour
group_speed = mile_per_hour
group_speed2 = knot2
group_temperature = degree_F
group_uv = uv_index
group_volt = volt
[[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 = " -"
[[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 = " kph"
km_per_hour2 = " kph"
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 = %
volt = " V"
watt_per_meter_squared = " W/m²"
NONE = ""
[[TimeFormats]]
day = %X
week = %X %A
month = %x
year = %x
rainyear = %x
current = %x %X
ephem_day = %X
ephem_year = %x %X
alltime = %x
seven_day = %X %A
thirty_day = %x
[[Ordinates]]
directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW,
NW, NNW, -
[[DegreeDays]]
heating_base = 65, degree_F
cooling_base = 65, degree_F
[Labels]
hemispheres = N, S, E, W
[[Generic]]
barometer = Barometer
dewpoint = Dew Point
heatindex = Heat Index
inHumidity = Inside Humidity
inTemp = Inside Temperature
outHumidity = Outside Humidity
outTemp = Outside Temperature
radiation = Radiation
rain = Rain
rainRate = Rain Rate
windDir = Wind Direction
windGust = Gust Speed
windGustDir = Gust Direction
windSpeed = Wind Speed
windchill = Wind Chill
windgustvec = Gust Vector
windvec = Wind Vector
maxSolarRad = Theoretical Maximum
# the mappings for these vary depending on station hardware
rxCheckPercent = Signal Quality
windBatteryStatus = Wind Battery
rainBatteryStatus = Rain Battery
outTempBatteryStatus = Remote Battery
inTempBatteryStatus = Console Battery
txBatteryStatus = UV Battery
# mappings for the station health indicators
cpu_user = User
cpu_idle = Idle
cpu_nice = Nice
cpu_system = System
cpu_iowait = IO
cpu_irq = IRQ
cpu_softirq = sIRQ
load1 = 1 Minute
load5 = 5 Minute
load15 = 15 Minute
disk_root_total = Root_Total
disk_root_used = Root_Used
mem_total = Memory Total
mem_used = Used
net_eth0_rbytes = eth0_r
net_eth0_tbytes = eth0_t
net_tun0_rbytes = tun0_r
net_tun0_tbytes = tun0_t
net_wlan0_rbytes = wlan0_r
net_wlan0_tbytes = wlan0_t
ups_load = UPS Load
ups_charge = UPS Charge
ups_voltage = UPS Voltage
ups_time = UPS Time Remaining
[Almanac]
moon_phases = New, Waxing Crescent, First Quarter, Waxing Gibbous, Full,
Waning Gibbous, Last Quarter, Waning Crescent
[CheetahGenerator]
encoding = html_entities
[[SummaryByMonth]]
[[[NOAA_month]]]
encoding = strict_ascii
template = NOAA/NOAA-YYYY-MM.txt.tmpl
[[SummaryByYear]]
[[[NOAA_year]]]
encoding = strict_ascii
template = NOAA/NOAA-YYYY.txt.tmpl
[[ToDate]]
[[[current]]]
template = index.html.tmpl
[[[history]]]
template = history.html.tmpl
[[[almanac]]]
template = almanac.html.tmpl
[[[links]]]
template = links.html.tmpl
[[[forecast]]]
template = forecast.html.tmpl
stale_age = 3570 # generate the forecast page only once per hour
[[[RSS]]]
template = weewx_rss.xml.tmpl
[[[station]]]
template = station.html.tmpl
[CopyGenerator]
copy_once = favicon.ico, exfoliation.css, exfoliation.js,
forecast_table.css, icons/*.png
[ImageGenerator]
image_width = 720
image_height = 196
image_background_color = 0xffffff
chart_background_color = 0xffffff
chart_gridline_color = 0xeaeaea
top_label_font_path =
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Bold.ttf
top_label_font_size = 10
unit_label_font_path =
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
unit_label_font_size = 10
unit_label_font_color = 0xaaaaaa
bottom_label_font_path =
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
bottom_label_font_size = 10
bottom_label_font_color = 0xaaaaaa
axis_label_font_path =
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
axis_label_font_size = 10
axis_label_font_color = 0xaaaaaa
rose_label = N
rose_label_font_path =
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
rose_label_font_size = 8
rose_label_font_color = 0x888888
rose_color = 0xaaaaaa
chart_line_colors = 0x30a030, 0x90d080, 0x111a11, 0x3030a0, 0x8090d0,
0x11111a, 0xa03030
chart_fill_colors = 0x90d090, 0xe0dfd0, 0x515a51
line_type = 'solid'
marker_size = 2
marker_type ='none'
plot_type = line
aggregate_type = none
width = 1
time_length = 86400 # 24 hours
yscale = None, None, None
vector_rotate = 90
line_gap_fraction = 0.01
daynight_day_color = 0xffffff
daynight_night_color = 0xf6f6f8
daynight_edge_color = 0xafefef
bottom_label_format = %x %X
[[day_images]]
x_label_format = %H:%M
time_length = 97200 # 27 hours
show_daynight = true
[[[daybarometer]]]
[[[[barometer]]]]
[[[dayrain]]]
yscale = None, None, 0.02
plot_type = bar
[[[[rain]]]]
aggregate_type = sum
aggregate_interval = 3600
label = Rain (hourly total)
[[[daywind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
[[[daywinddir]]]
line_type = None
marker_type = 'box'
marker_size = 2
yscale = 0.0, 360.0, 45.0
[[[[windDir]]]]
[[[daywindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[[windgustvec]]]]
plot_type = vector
aggregate_type = max
aggregate_interval = 3600
[[[daytempchill]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[dayinouttemp]]]
[[[[outTemp]]]]
[[[[inTemp]]]]
[[[dayinouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[[inHumidity]]]]
[[[dayinouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[[inTemp]]]]
[[[dayouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[dayouttemp]]]
[[[[outTemp]]]]
[[[dayouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[dayintemp]]]
[[[[inTemp]]]]
[[[dayinhum]]]
yscale = 0, 100, 10
[[[[inHumidity]]]]
[[[dayradiation]]]
[[[[radiation]]]]
# [[[[maxSolarRad]]]]
[[[dayuv]]]
[[[[UV]]]]
[[[dayrx]]]
yscale = 0, 100, 10
[[[[rxCheckPercent]]]]
[[[daybattery]]]
[[[[windBatteryStatus]]]]
[[[[rainBatteryStatus]]]]
[[[[outTempBatteryStatus]]]]
[[[[inTempBatteryStatus]]]]
[[[[txBatteryStatus]]]]
[[[dayouttemphilo]]]
line_gap_fraction = 0.06 # 0.04 over 24 hours is 1 hour
aggregate_interval = 1800
[[[[outTemp]]]]
color = 0x90d080
aggregate_type = avg
[[[[outTempLo]]]]
label = ' '
color = 0x30a030
data_type = outTemp
aggregate_type = min
[[[[outTempHi]]]]
label = ' '
color = 0x30a030
data_type = outTemp
aggregate_type = max
[[[dayintemphilo]]]
line_gap_fraction = 0.08 # 0.04 over 24 hours is 1 hour
aggregate_interval = 1800
[[[[inTemp]]]]
color = 0x90d080
aggregate_type = avg
[[[[inTempLo]]]]
label = ' '
color = 0x30a030
data_type = inTemp
aggregate_type = min
[[[[inTempHi]]]]
label = ' '
color = 0x30a030
data_type = inTemp
aggregate_type = max
# [[[daylightning]]]
# yscale = None, None, 0.02
# plot_type = bar
# [[[[lightning]]]]
# aggregate_type = sum
# aggregate_interval = 3600
# label = Lightning (hourly total)
# [[[daycloudbase]]]
# [[[[cloudbase]]]]
[[week_images]]
image_width = 700
x_label_format = %d
time_length = 604800 # == 7 days
aggregate_type = avg
aggregate_interval = 3600
show_daynight = true
[[[weekbarometer]]]
[[[[barometer]]]]
[[[weekrain]]]
yscale = None, None, 0.02
plot_type = bar
[[[[rain]]]]
aggregate_type = sum
aggregate_interval = 14400
label = Rain (4-hour total)
[[[weekwind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
aggregate_type = max
[[[weekwinddir]]]
line_type = None
marker_type = 'box'
marker_size = 2
yscale = 0.0, 360.0, 45.0
[[[[windDir]]]]
[[[weekwindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[[windgustvec]]]]
plot_type = vector
aggregate_type = max
[[[weektempchill]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[weekinouttemp]]]
[[[[outTemp]]]]
[[[[inTemp]]]]
[[[weekinouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[[inHumidity]]]]
[[[weekinouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[[inTemp]]]]
[[[weekouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[weekouttemp]]]
[[[[outTemp]]]]
[[[weekouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[weekradiation]]]
[[[[radiation]]]]
# [[[[maxSolarRad]]]]
[[[weekuv]]]
[[[[UV]]]]
[[[weekrx]]]
yscale = 0, 100, 10
[[[[rxCheckPercent]]]]
[[[weekbattery]]]
[[[[windBatteryStatus]]]]
[[[[rainBatteryStatus]]]]
[[[[outTempBatteryStatus]]]]
[[[[inTempBatteryStatus]]]]
[[[[txBatteryStatus]]]]
# [[[weeklightning]]]
# yscale = None, None, 0.02
# plot_type = bar
# [[[[lightning]]]]
# aggregate_type = sum
# aggregate_interval = 3600
# label = Lightning (hourly total)
# [[[weekcloudbase]]]
# [[[[cloudbase]]]]
[[month_images]]
image_width = 700
x_label_format = %d
time_length = 2592000 # == 30 days
aggregate_type = avg
aggregate_interval = 10800 # == 3 hours
[[[monthbarometer]]]
[[[[barometer]]]]
[[[monthrain]]]
yscale = None, None, 0.02
plot_type = bar
[[[[rain]]]]
aggregate_type = sum
aggregate_interval = 86400
label = Rain (daily total)
[[[monthwind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
aggregate_type = max
[[[monthwinddir]]]
line_type = None
marker_type = 'box'
marker_size = 2
yscale = 0.0, 360.0, 45.0
[[[[windDir]]]]
[[[monthwindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[[windgustvec]]]]
plot_type = vector
aggregate_type = max
[[[monthtempchill]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[monthinouttemp]]]
[[[[outTemp]]]]
[[[[inTemp]]]]
[[[monthinouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[[inHumidity]]]]
[[[monthinouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[[inTemp]]]]
[[[monthouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[monthouttemp]]]
[[[[outTemp]]]]
[[[monthouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[monthradiation]]]
[[[[radiation]]]]
# [[[[maxSolarRad]]]]
[[[monthuv]]]
[[[[UV]]]]
[[[monthrx]]]
yscale = 0, 100, 10
[[[[rxCheckPercent]]]]
[[[monthbattery]]]
[[[[windBatteryStatus]]]]
[[[[rainBatteryStatus]]]]
[[[[outTempBatteryStatus]]]]
[[[[inTempBatteryStatus]]]]
[[[[txBatteryStatus]]]]
# [[[monthlightning]]]
# plot_type = bar
# [[[[lightning]]]]
# aggregate_type = sum
# aggregate_interval = 86400
# label = Lightning (daily total)
# [[[monthcloudbase]]]
# [[[[cloudbase]]]]
[[year_images]]
image_width = 700
x_label_format = %b
time_length = 31536000 # == 365 days
aggregate_type = avg
aggregate_interval = 86400
[[[yearbarometer]]]
[[[[barometer]]]]
[[[yearrain]]]
yscale = None, None, 0.02
plot_type = bar
[[[[rain]]]]
aggregate_type = sum
aggregate_interval = 604800 # == 1 week
label = Rain (weekly total)
[[[yearwind]]]
[[[[windSpeed]]]]
[[[[windGust]]]]
aggregate_type = max
[[[yearwinddir]]]
line_type = None
marker_type = 'box'
marker_size = 2
yscale = 0.0, 360.0, 45.0
[[[[windDir]]]]
[[[yearwindvec]]]
[[[[windvec]]]]
plot_type = vector
[[[[windgustvec]]]]
plot_type = vector
aggregate_type = max
[[[yeartempchill]]]
[[[[windchill]]]]
[[[[heatindex]]]]
[[[yearinouttemp]]]
[[[[outTemp]]]]
[[[[inTemp]]]]
[[[yearinouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[[inHumidity]]]]
[[[yearinouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[[inTemp]]]]
[[[yearouttempdew]]]
[[[[outTemp]]]]
[[[[dewpoint]]]]
[[[yearouttemp]]]
[[[[outTemp]]]]
[[[yearouthum]]]
yscale = 0, 100, 10
[[[[outHumidity]]]]
[[[yearradiation]]]
[[[[radiation]]]]
# [[[[maxSolarRad]]]]
[[[yearuv]]]
[[[[UV]]]]
[[[yearrx]]]
yscale = 0, 100, 10
[[[[rxCheckPercent]]]]
[[[yearbattery]]]
[[[[windBatteryStatus]]]]
[[[[rainBatteryStatus]]]]
[[[[outTempBatteryStatus]]]]
[[[[inTempBatteryStatus]]]]
[[[[txBatteryStatus]]]]
# [[[yearlightning]]]
# plot_type = bar
# [[[[lightning]]]]
# aggregate_type = sum
# aggregate_interval = 604800 # == 1 week
# label = Lightning (weekly total)
# [[[yearcloudbase]]]
# [[[[cloudbase]]]]
# these are used by the station health page. they generate plots using data
# from the computer monitor extension (cmon).
#
# [[cmon_day_images]]
# data_binding = cmon_binding
# x_label_format = %H:%M
# time_length = 97200 # 27 hours
# show_daynight = true
# [[[daycpu]]]
# [[[[cpu_user]]]]
# [[[[cpu_idle]]]]
# [[[[cpu_nice]]]]
# [[[[cpu_system]]]]
# [[[[cpu_iowait]]]]
# [[[[cpu_irq]]]]
# [[[[cpu_softirq]]]]
# [[[dayload]]]
# yscale = 0, 1, 0.25
# [[[[load1]]]]
# [[[[load5]]]]
# [[[[load15]]]]
# [[[daydisk]]]
# yscale = 0, None, None
# [[[[disk_root_total]]]]
# [[[[disk_root_used]]]]
# [[[daymem]]]
# [[[[mem_total]]]]
# [[[[mem_used]]]]
# [[[daynet]]]
# [[[[net_eth0_rbytes]]]]
# [[[[net_eth0_tbytes]]]]
# [[[dayups]]]
# yscale = 0, 100, 25
# [[[[ups_load]]]]
# [[[[ups_charge]]]]
# [[[dayupsvoltage]]]
# yscale = 0, 30, 5
# [[[[ups_voltage]]]]
# [[[dayupstime]]]
# yscale = 0, 180, 30
# [[[[ups_time]]]]
# [[cmon_week_images]]
# data_binding = cmon_binding
# image_width = 700
# x_label_format = %d
# time_length = 604800 # == 7 days
# aggregate_type = avg
# aggregate_interval = 3600
# show_daynight = true
# [[[weekcpu]]]
# [[[[cpu_user]]]]
# [[[[cpu_idle]]]]
# [[[[cpu_nice]]]]
# [[[[cpu_system]]]]
# [[[[cpu_iowait]]]]
# [[[[cpu_irq]]]]
# [[[[cpu_softirq]]]]
# [[[weekload]]]
# yscale = 0, 1, 0.25
# [[[[load1]]]]
# [[[[load5]]]]
# [[[[load15]]]]
# [[[weekdisk]]]
# yscale = 0, None, None
# [[[[disk_root_total]]]]
# [[[[disk_root_used]]]]
# [[[weekmem]]]
# [[[[mem_total]]]]
# [[[[mem_used]]]]
# [[[weeknet]]]
# [[[[net_eth0_rbytes]]]]
# [[[[net_eth0_tbytes]]]]
# [[[weekups]]]
# yscale = 0, 100, 25
# [[[[ups_load]]]]
# [[[[ups_charge]]]]
# [[[weekupsvoltage]]]
# yscale = 0, 30, 5
# [[[[ups_voltage]]]]
# [[[weekupstime]]]
# yscale = 0, 180, 30
# [[[[ups_time]]]]
# [[cmon_month_images]]
# data_binding = cmon_binding
# image_width = 700
# x_label_format = %d
# time_length = 2592000 # == 30 days
# aggregate_type = avg
# aggregate_interval = 10800 # == 3 hours
# [[[monthcpu]]]
# [[[[cpu_user]]]]
# [[[[cpu_idle]]]]
# [[[[cpu_nice]]]]
# [[[[cpu_system]]]]
# [[[[cpu_iowait]]]]
# [[[[cpu_irq]]]]
# [[[[cpu_softirq]]]]
# [[[monthload]]]
# yscale = 0, 1, 0.25
# [[[[load1]]]]
# [[[[load5]]]]
# [[[[load15]]]]
# [[[monthdisk]]]
# yscale = 0, None, None
# [[[[disk_root_total]]]]
# [[[[disk_root_used]]]]
# [[[monthmem]]]
# [[[[mem_total]]]]
# [[[[mem_used]]]]
# [[[monthnet]]]
# [[[[net_eth0_rbytes]]]]
# [[[[net_eth0_tbytes]]]]
# [[[monthups]]]
# yscale = 0, 100, 25
# [[[[ups_load]]]]
# [[[[ups_charge]]]]
# [[[monthupsvoltage]]]
# yscale = 0, 30, 5
# [[[[ups_voltage]]]]
# [[[monthupstime]]]
# yscale = 0, 180, 30
# [[[[ups_time]]]]
# [[cmon_year_images]]
# data_binding = cmon_binding
# image_width = 700
# x_label_format = %b
# time_length = 31536000 # == 365 days
# aggregate_type = avg
# aggregate_interval = 86400
# [[[yearcpu]]]
# [[[[cpu_user]]]]
# [[[[cpu_idle]]]]
# [[[[cpu_nice]]]]
# [[[[cpu_system]]]]
# [[[[cpu_iowait]]]]
# [[[[cpu_irq]]]]
# [[[[cpu_softirq]]]]
# [[[yearload]]]
# yscale = 0, 1, 0.25
# [[[[load1]]]]
# [[[[load5]]]]
# [[[[load15]]]]
# [[[yeardisk]]]
# yscale = 0, None, None
# [[[[disk_root_total]]]]
# [[[[disk_root_used]]]]
# [[[yearmem]]]
# [[[[mem_total]]]]
# [[[[mem_used]]]]
# [[[yearnet]]]
# [[[[net_eth0_rbytes]]]]
# [[[[net_eth0_tbytes]]]]
# [[[yearups]]]
# yscale = 0, 100, 25
# [[[[ups_load]]]]
# [[[[ups_charge]]]]
# [[[yearupsvoltage]]]
# yscale = 0, 30, 5
# [[[[ups_voltage]]]]
# [[[yearupstime]]]
# yscale = 0, 180, 30
# [[[[ups_time]]]]
[Generators]
generator_list = weewx.cheetahgenerator.CheetahGenerator,
weewx.imagegenerator.ImageGenerator, weewx.reportengine.CopyGenerator
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2015 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 = 0
# Root directory of the weewx data file hierarchy for this station
WEEWX_ROOT = /
# 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 = 3.6.1
##############################################################################
# This section is for information about the station.
[Station]
# Description of the station location
location = "Littleton, CO"
# Latitude and longitude in decimal degrees
latitude = 39.62689
longitude = -105.08258
# Altitude of the station, with unit it is in. This is downloaded from
# from the station if the hardware supports it.
altitude = 5562, 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 = Vantage
# If you have a website, you may specify an URL
#station_url = http://www.example.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 = 6
##############################################################################
[AcuRite]
# This section is for AcuRite weather stations.
# The station model, e.g., 'AcuRite 01025' or 'AcuRite 02032C'
model = AcuRite 02032C
use_constants = False
# The driver to use:
driver = weewx.drivers.acurite
##############################################################################
[CC3000]
# This section is for RainWise MarkIII weather stations and CC3000 logger.
# Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0
port = /dev/ttyUSB0
# The station model, e.g., CC3000 or CC3000R
model = RainWise
# The driver to use:
driver = weewx.drivers.cc3000
##############################################################################
[Vantage]
# This section is for the Davis Vantage series of weather stations.
# Connection type: serial or ethernet
# serial (the classic VantagePro)
# ethernet (the WeatherLinkIP)
type = serial
# If the connection type is serial, a port must be specified:
# Debian, Ubuntu, Redhat, Fedora, and SuSE:
# /dev/ttyUSB0 is a common USB port name
# /dev/ttyS0 is a common serial port name
# BSD:
# /dev/cuaU0 is a common serial port name
port = /dev/ttyUSB0
# If the connection type is ethernet, an IP Address/hostname is required:
host = 1.2.3.4
######################################################
# The rest of this section rarely needs any attention.
# You can safely leave it "as is."
######################################################
# Serial baud rate (usually 19200)
baudrate = 19200
# TCP port (when using the WeatherLinkIP)
tcp_port = 22222
# TCP send delay (when using the WeatherLinkIP):
tcp_send_delay = 0.5
# The id of your ISS station (usually 1). If you use a wind meter connected
# to a anemometer transmitter kit, use its id
iss_id = 1
# How long to wait for a response from the station before giving up (in
# seconds; must be greater than 2)
timeout = 4
# How long to wait before trying again (in seconds)
wait_before_retry = 1.2
# How many times to try before giving up:
max_tries = 4
# The driver to use:
driver = weewx.drivers.vantage
##############################################################################
# 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 = false
[[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.
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 = false
station = replace_me
# 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.
enable = false
station = replace_me
password = replace_me
[[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.
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.
enable = true
station = KCOLITTL149
password = cr339mYcund
# 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
##############################################################################
# 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/weewx
# The database binding indicates which data should be used in reports.
data_binding = wx_binding
# Each of the following subsections defines a report that will be run.
[[StandardReport]]
# 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.
# The StandardReport uses the 'Standard' skin, which contains the
# images, templates and plots for the report.
skin = exfoliation
[[[Units]]]
[[[[Groups]]]]
group_altitude = foot
group_speed2 = mile_per_hour2
group_pressure = inHg
group_rain = inch
group_rainrate = inch_per_hour
group_temperature = degree_F
group_degree_day = degree_F_day
group_speed = mile_per_hour
[[exfoliation]]
HTML_ROOT = /var/www/weewx/exfoliation
skin = exfoliation
[[[CheetahGenerator]]]
search_list_extensions = user.forecast.ForecastVariables
[[forecast]]
HTML_ROOT = /var/www/weewx/forecast
skin = forecast
[[[Extras]]]
forecast_table = /var/www/weewx/forecast/forecast_table.inc
[[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, uncomment and fill out the next four lines.
#user = replace with the ftp username
#password = replace with the ftp password
#server = replace with the ftp server name, e.g, www.threefools.org
#path = replace with the ftp destination directory (e.g., /weather)
# Set to True for a secure FTP (SFTP) 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/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 as to the user account on the remote machine where the files
# will be copied.
#
# The following three lines determine where files will be sent.
#server = replace with the rsync server name, e.g, www.threefools.org
#path = replace with the rsync destination directory (e.g., /weather)
#user = replace with the rsync username
# 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
##############################################################################
# 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
##############################################################################
# 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 = 23, 32.5, inHg
outTemp = -40, 120, degree_F
inTemp = 10, 120, degree_F
outHumidity = 0, 100
inHumidity = 0, 100
windSpeed = 0, 120, mile_per_hour
pressure = 23, 34.5, inHg
##############################################################################
# This section controls the origin of derived values.
[StdWXCalculate]
[[Calculations]]
# Derived quantities are calculated by this service. 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
barometer = prefer_hardware
altimeter = prefer_hardware
windchill = prefer_hardware
heatindex = prefer_hardware
dewpoint = prefer_hardware
inDewpoint = prefer_hardware
rainRate = prefer_hardware
##############################################################################
# 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
# How long to wait (in seconds) before processing new archive data. Must
# be greater than zero.
archive_delay = 15
# 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.wxmanager.WXDaySummaryManager
# The schema defines the structure of the database.
# It is *only* used when the database is created.
schema = schemas.wview.schema
[[forecast_binding]]
database = forecast_sqlite
##############################################################################
# This section defines various databases.
[Databases]
# A SQLite database is simply a single file
[[archive_sqlite]]
database_type = SQLite
database_name = weewx.sdb
# MySQL
[[archive_mysql]]
database_type = MySQL
database_name = weewx
[[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
password = weewx
##############################################################################
# This section configures the internal weewx engine.
[Engine]
[[Services]]
# This section specifies the services that should be run. They are
# grouped by type, and the order of services within each group
# determines the order in which the services will be run.
prep_services = weewx.engine.StdTimeSynch
data_services = ,
process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate,
weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
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.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
##############################################################################
# Options for extension 'forecast'
[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 = INSERT_AERIS_CLIENT_SECRET_HERE
client_id = INSERT_AERIS_CLIENT_ID_HERE