############################################################################### # NEOWX SKIN V1.2 CONFIGURATION FILE # # Copyright (c) 2018-2021 Sven Reifschneider # # Original: Copyright (c) 2010 Tom Keffer # ############################################################################### [Extras] # Extra tags for NeoWX # Description of your weather site. # This is used in the meta tag. description = "Current weather" # Your name for the footer copyright you = "My Weather Station" # Maps # Please comment out every map you don't use. # Otherwise you may see some white, empty boxes. map_1_image_url = "https://www.dwd.de/DWD/wetter/radar/rad_brd_akt.jpg" map_1_link_url = "https://www.dwd.de/DE/wetter/warnungen_gemeinden/warnWetter_node.html" map_2_image_url = "http://images.blitzortung.org/Images/image_b_de.png" map_2_link_url = "https://www.lightningmaps.org/?lang=de#m=sat;r=0;t=3;s=0;o=0;b=;n=0;y=49.6812;x=10.6921;z=6;d=2;dl=2;dc=0;" # Here you have even more maps if you need them. #map_3_image_url = "" #map_3_link_url = "" #map_4_image_url = "" #map_4_link_url = "" [[Translation]] # Here you find all text strings from the template. # You just need to adjust these, not the template files language = "en" # Page titles title_suffix = "Weather" title_current = "Current" title_week = "Week" title_month = "Month" title_year = "Year" title_archive = "Archive" title_maps = "Maps" # Weather data temperatures = "Temperatures" out_temp = "Outside Temperature" out_humidity = "Outside Humidity" barometer = "Barometer" baro_trend = "Trend" wind = "Wind" wind_rms = "RMS" wind_avg = "Avg" wind_dir = "Wind Direction" wind_vector = "Wind Vector" vector_avg = "Vector Avg" rain = "Rain" rain_rate = "Rain Rate" rain_total = "Total Rain" inside_temp = "Inside Temperature" inside_humid = "Inside Humidity" wind_chill = "Wind Chill" dewpoint = "Dewpoint" heat_index = "Heat Index" uv = "UV Index" radiation = "Radiation" rxcheck = "Signal Quality" extratemp = "Pond Temperature" # High / Low labels (short) high = "Hi" low = "Lo" # Almanac more_button = "more" moon_full = "full" sun = "Sun" moon = "Moon" start_civil_twilight = "Start civil twilight" sunrise = "Sunrise" transit = "Transit" sunset = "Sunset" end_civil_twilight = "End civil twilight" azimuth = "Azimuth" altitude = "Altitude" right_ascension = "Right ascension" declination = "Declination" equinox = "Equinox" solstice = "Solstice" rise = "Rise" set = "Set" full_moon = "Full moon" new_moon = "New moon" phase = "Phase" # Archive archive_title = "Archive" archive_month = "Monthly archive" archive_year = "Yearly Archive" # Maps maps_title = "Maps" ############################################################################### [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 = meter # Options are 'foot' or 'meter' group_degree_day = degree_C_day # Options are 'degree_F_day' or 'degree_C_day' group_direction = degree_compass group_moisture = centibar group_percent = percent group_pressure = hPa # Options are 'inHg', 'mmHg', 'mbar', or 'hPa' group_radiation = watt_per_meter_squared group_rain = mm # Options are 'inch', 'cm', or 'mm' group_rainrate = mm_per_hour # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour' group_speed = km_per_hour # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second' group_speed2 = km_per_hour2 # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2' group_temperature = degree_C # 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_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 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_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_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 ############################################################################### [Labels] # Labels used in this skin # 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]] # Generic labels, keyed by an observation type. 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 rxCheckPercent = ISS Signal Quality UV = UV Index windDir = Wind Direction windGust = Gust Speed windGustDir = Gust Direction windSpeed = Wind Speed windchill = Wind Chill windgustvec = Gust Vector windvec = Wind Vector ############################################################################### [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 ############################################################################### [CheetahGenerator] # This section is used by the generator CheetahGenerator, and specifies # which files are to be generated from which template. # Possible encodings are 'html_entities', 'utf8', or 'strict_ascii' encoding = utf8 [[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. [[[day]]] template = index.html.tmpl [[[week]]] template = week.html.tmpl [[[month]]] template = month.html.tmpl [[[year]]] template = year.html.tmpl [[[RSS]]] template = rss.xml.tmpl [[[archive_overview]]] template = archive.html.tmpl [[[maps]]] template = maps.html.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 = img/**/*, weather-icons/**/*, *.js, *.css # List of files to be copied each time the generator runs # For debugging only! copy_always = img/**/*, weather-icons/**/*, *.js, *.css ############################################################################### [ImageGenerator] # This section lists all the images to be generated, what SQL types are to # be included in them, along with many plotting options, such as color or # font. There's a default for almost everything, if not specified below. # Nevertheless, I have explicitly put in values, to make it easy to see # and understand the options. # # Fonts can be anything accepted by the Python Imaging Library (PIL), which # is currently truetype (.ttf), or PIL's own font format (.pil). See # http://www.pythonware.com/library/pil/handbook/imagefont.htm for more # details. Note that "font size" is only used with truetype (.ttf) # fonts. For others, font size is determined by the bit-mapped size, # usually encoded in the file name (e.g., courB010.pil). If a font cannot # be found, then a default font will be used. # # Colors can be specified any of three ways: # 1. Notation 0xBBGGRR; # 2. Notation #RRGGBB; or # 3. Using an English name, such as 'yellow', or 'blue'. # So, 0xff0000, #0000ff, or 'blue' would all specify a pure blue color. image_width = 1200 image_height = 600 image_background_color = 0xFFFFFF chart_background_color = 0xFFFFFF chart_gridline_color = 0xE6E6E6 # Setting to 2 or more might give a sharper image with fewer jagged edges. anti_alias = 4 top_label_font_path = /usr/share/fonts/truetype/roboto/unhinted/Roboto-Bold.ttf top_label_font_size = 16 unit_label_font_path = /usr/share/fonts/truetype/roboto/unhinted/Roboto-Regular.ttf unit_label_font_size = 14 unit_label_font_color = 0x000000 bottom_label_font_path = /usr/share/fonts/truetype/roboto/unhinted/Roboto-Medium.ttf bottom_label_font_size = 16 bottom_label_font_color = 0x000000 bottom_label_offset = 3 axis_label_font_path = /usr/share/fonts/truetype/roboto/unhinted/Roboto-Regular.ttf axis_label_font_size = 14 axis_label_font_color = 0x000000 # Options for the compass rose, used for progressive vector plots rose_label = N rose_label_font_path = /usr/share/fonts/truetype/roboto/unhinted/Roboto-Medium.ttf rose_label_font_size = 64 rose_label_font_color = 0x000000 # Default colors for the plot lines. These can be overridden for # individual lines using option 'color' chart_line_colors = 0xb48242, 0x4242b4, 0x42b442 # Type of line. Only 'solid' or 'none' is offered now line_type = 'solid' # Size of marker in pixels marker_size = 8 # Type of marker. Pick one of 'cross', 'x', 'circle', 'box', or 'none' marker_type ='none' # Default fill colors for bar charts. These can be overridden for # individual bar plots using option 'fill_color' chart_fill_colors = 0xc4b272, 0x7272c4, 0x72c472 # The following option merits an explanation. The y-axis scale used for # plotting can be controlled using option 'yscale'. It is a 3-way tuple, # with values (ylow, yhigh, min_interval). If set to "None", a parameter is # set automatically, otherwise the value is used. However, in the case of # min_interval, what is set is the *minimum* y-axis tick interval. yscale = None, None, None # For progressive vector plots, you can choose to rotate the vectors. # Positive is clockwise. # For my area, westerlies overwhelmingly predominate, so by rotating # positive 90 degrees, the average vector will point straight up. vector_rotate = 90 # This defines what fraction of the difference between maximum and minimum # horizontal chart bounds is considered a gap in the samples and should not # be plotted. line_gap_fraction = 0.01 bar_gap_fraction = 0.20 # This controls whether day/night bands will be shown. They only look good # on the day and week plots. show_daynight = true # These control the appearance of the bands if they are shown. # Here's a monochrome scheme: daynight_day_color = 0xf0fdff daynight_night_color = 0xfffdf0 daynight_edge_color = 0xf0f0ff ## What follows is a list of subsections, each specifying a time span, such ## as a day, week, month, or year. There's nothing special about them or ## their names: it's just a convenient way to group plots with a time span ## in common. You could add a time span [[biweek_images]] and add the ## appropriate time length, aggregation strategy, etc., without changing ## any code. ## ## Within each time span, each sub-subsection is the name of a plot to be ## generated for that time span. The generated plot will be stored using ## that name, in whatever directory was specified by option 'HTML_ROOT' ## in weewx.conf. ## ## With one final nesting (four brackets!) is the sql type of each line to ## be included within that plot. ## ## Unless overridden, leaf nodes inherit options from their parent # Default plot and aggregation. Can get overridden at any level. plot_type = line aggregate_type = none width = 1 time_length = 86400 # == 24 hours [[day_images]] x_label_format = %H:%M bottom_label_format = %x %X time_length = 97200 # == 27 hours [[[daybarometer]]] [[[[barometer]]]] [[[daytempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[daytempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[dayhumidity]]] [[[[outHumidity]]]] [[[dayrain]]] # Make sure the y-axis increment is at least 0.02 for the rain plot yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum aggregate_interval = 3600 label = Rain (hourly total) [[[dayrx]]] [[[[rxCheckPercent]]]] [[[daywind]]] [[[[windSpeed]]]] [[[[windGust]]]] [[[dayinside]]] [[[[inTemp]]]] [[[daywinddir]]] # Hardwire in the y-axis scale for wind direction yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[daywindvec]]] [[[[windvec]]]] plot_type = vector [[[dayradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max aggregate_interval = 3600 [[[dayuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max aggregate_interval = 3600 [[[dayhumidity]]] [[[[outHumidity]]]] [[week_images]] x_label_format = %d bottom_label_format = %x %X time_length = 604800 # == 7 days aggregate_type = avg aggregate_interval = 3600 [[[weekbarometer]]] [[[[barometer]]]] [[[weektempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[weektempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[weekhumidity]]] [[[[outHumidity]]]] [[[weekrain]]] yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum aggregate_interval = 86400 label = Rain (daily total) [[[weekrx]]] [[[[rxCheckPercent]]]] [[[weekwind]]] [[[[windSpeed]]]] [[[[windGust]]]] aggregate_type = max [[[weekinside]]] [[[[inTemp]]]] [[[weekwinddir]]] yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[weekwindvec]]] [[[[windvec]]]] plot_type = vector [[[weekradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max [[[weekuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max [[month_images]] x_label_format = %d bottom_label_format = %x %X time_length = 2592000 # == 30 days aggregate_type = avg aggregate_interval = 10800 # == 3 hours show_daynight = false [[[monthbarometer]]] [[[[barometer]]]] [[[monthtempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[monthtempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[monthhumidity]]] [[[[outHumidity]]]] [[[monthrain]]] yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum aggregate_interval = 86400 label = Rain (daily total) [[[monthrx]]] [[[[rxCheckPercent]]]] [[[monthwind]]] [[[[windSpeed]]]] [[[[windGust]]]] aggregate_type = max [[[monthinside]]] [[[[inTemp]]]] [[[monthwinddir]]] yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[monthwindvec]]] [[[[windvec]]]] plot_type = vector [[[monthradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max [[[monthuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max [[year_images]] x_label_format = %m/%d bottom_label_format = %x %X time_length = 31536000 # == 365 days aggregate_type = avg aggregate_interval = 86400 show_daynight = false [[[yearbarometer]]] [[[[barometer]]]] [[[yeartempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[yearhumidity]]] [[[[outHumidity]]]] # Daily high/lows: [[[yearhilow]]] [[[[hi]]]] data_type = outTemp aggregate_type = max label = High [[[[low]]]] data_type = outTemp aggregate_type = min label = Low Temperature [[[yearwind]]] [[[[windSpeed]]]] [[[[windGust]]]] aggregate_type = max [[[yeartempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[yearrain]]] yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum # aggregate_interval = 2629800 # Magic number: the length of a nominal month aggregate_interval = 604800 # == 1 week label = Rain (weekly total) [[[yearrx]]] [[[[rxCheckPercent]]]] [[[yearinside]]] [[[[inTemp]]]] [[[yearwinddir]]] yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[yearwindvec]]] [[[[windvec]]]] plot_type = vector [[[yearradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max [[[yearuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max # A progressive vector plot of daily gust vectors overlayed # with the daily wind average would look something like this: # [[[yeargustvec]]] # [[[[windvec]]]] # plot_type = vector # aggregate_type = avg # [[[[windgustvec]]]] # plot_type = vector # aggregate_type = max ############################################################################### # # The list of generators that are to be run: # [Generators] generator_list = weewx.cheetahgenerator.CheetahGenerator, weewx.imagegenerator.ImageGenerator, weewx.reportengine.CopyGenerator