Archived
1
0
Fork 0

Update weewx-wdc

This commit is contained in:
Daniel Kempkens 2023-03-07 13:51:07 +01:00
parent 54e01dcb7a
commit b38833c98a
Signed by: daniel
SSH key fingerprint: SHA256:Ks/MyhQYcPRQiwMKLAKquWCdCPe3JXlb1WttgnAoSeM
2 changed files with 299 additions and 76 deletions

View file

@ -2,9 +2,9 @@ FROM python:3.10.8-slim-bullseye as install
ARG WEEWX_UID=421
ENV WEEWX_HOME="/home/weewx"
ENV WEEWX_VERSION="4.10.1"
ENV WEEWX_VERSION="4.10.2"
ENV ARCHIVE="weewx-${WEEWX_VERSION}.tar.gz"
ENV WEEWX_WDC_VERSION="v2.3.3"
ENV WEEWX_WDC_VERSION="v3.0.0"
RUN addgroup --system --gid ${WEEWX_UID} weewx \
&& adduser --system --uid ${WEEWX_UID} --ingroup weewx weewx

View file

@ -1,25 +1,31 @@
# configuration file for the weewx-wdc skin
SKIN_NAME = Weather Data Center
SKIN_VERSION = 2.3.3
SKIN_VERSION = 3.0.0
[Extras]
# If weewx is installed in some sub-folder of your web server,
# please specify the path here.
base_path = /
# If activated the Fontpage (index.html) will be automatically be
# refreshed in the browser every 300 seconds.
#refresh_interval = 300
# Show a link to the GitHub respository of this skin. Set to False to hide.
github_link = True
# This radar image would be available as $Extras.radar_img
radar_img = /dwd/radar_nrw.gif
# This URL will be used as the image hyperlink:
radar_url = https://www.dwd.de/DE/leistungen/radarbild_film/radarbild_film.html
# The radar code. Full html allowed.
radar_html = '<a href="https://www.dwd.de/DE/leistungen/radarbild_film/radarbild_film.html"><img src="/dwd/radar_nrw.gif" alt="Radar" loading="lazy"></a>'
#radar_heading = Recent radar
[[forecast_zambretti]]
enable = false
enable = False
[[forecast_table_settings]]
source = Aeris
num_periods = 72
num_days = 4
show_legend = 1
show_hourly = 0
show_hourly = 1
show_day = 1
show_date = 1
show_outlook = 1
@ -29,10 +35,9 @@ SKIN_VERSION = 2.3.3
show_wind = 1
show_tides = 0
show_sun = 1
show_moon = 0
show_moon = 1
show_pop = 1
show_precip = 1
show_obvis = 0
[[weewx-DWD]]
show_text_forecast = True
@ -61,20 +66,52 @@ SKIN_VERSION = 2.3.3
[DisplayOptions]
layout = 'alternative'
# These days will be shown on the year and statistics pages.
climatological_days = rainDays, summerDays, hotDays, desertDays, tropicalNights, stormDays, iceDays, frostDays
# What to show in the tables.
# table_tile_observations = outTemp, outHumidity, barometer, windSpeed, windGust, windDir, rain, rainRate, dewpoint, windchill, heatindex, appTemp, UV, ET, radiation, cloudbase, soilMoist1
# What to show for the stat tiles.
stat_tile_observations = outTemp, outHumidity, barometer, windSpeed, windDir, windGust, windGustDir, rain, rainRate, dewpoint, windchill, heatindex, appTemp, UV, ET, luminosity, radiation, cloudbase, soilTemp1, soilMoist1, lightning_strike_count, pm1_0, pm2_5, pm10_0
diagram_tile_observations = temp_min_max_avg, tempdew, outHumidity, barometer, windchill_heatindex, appTemp, wind, windDir, windRose, rain, rainRate, UV, ET, luminosity, radiation, cloudbase, soilTemp1, soilMoist1, lightning_strike_count, pm1_0, pm2_5, pm10_0
stat_tile_winddir_ordinal = True
diagram_tile_winddir_ordinal = True
# Stat tiles: Min/Max/Sum settings.
stat_tiles_show_min = outTemp, outHumidity, barometer, pressure, altimeter, snowDepth, heatindex, dewpoint, windchill, cloudbase, appTemp
stat_tiles_show_max = rainRate, hailRate, snowRate, UV, pm1_0 pm2_5, pm10_0
stat_tiles_show_sum = rain, ET, hail, snow, lightning_strike_count, windrun
# Stat tiles: show time when the min/max was reached.
show_min_max_time_day = True
show_min_max_time_yesterday = True
show_min_max_time_week = True
show_min_max_time_month = True
# windDir as oridnals (N, E, S, W).
stat_tile_winddir_ordinal = True
diagram_tile_winddir_ordinal = True
# Windrose.
windRose_colors = "#f3cec9", "#e7a4b6", "#cd7eaf", "#a262a9", "#6f4d96", "#3d3b72"
windRose_show_beaufort = False
# Climatogram on year and statistics pages.
climatogram_enable_stats = True
climatogram_enable_year_stats = True
ENABLE_D3_DIAGRAMS = False
[[Icons]]
#rain = "includes/icons/barometer.svg"
#[[Rounding]]
#dewpoint = 3
[[tables]]
#[[[Rounding]]]
#outTemp = 3
[[[day]]]
aggregate_interval = 3600 # 1 hour
[[[week]]]
@ -87,11 +124,36 @@ SKIN_VERSION = 2.3.3
aggregate_interval = 86400 # 1 day
[[diagrams]]
#[[[Rounding]]]
#barometer = 3
[[[combined_observations]]]
[[[[climatogram_year]]]]
label = "Climatogram"
curve="natural"
aggregate_interval = month
[[[[[obs]]]]]
[[[[[[rain]]]]]]
observation = "rain"
[[[[[[outTemp]]]]]]
observation = "outTemp"
[[[[climatogram_statistics]]]]
label = "Climatogram"
curve="natural"
aggregate_interval = year
[[[[[obs]]]]]
[[[[[[rain]]]]]]
observation = "rain"
[[[[[[outTemp]]]]]]
observation = "outTemp"
[[[[temp_min_max_avg]]]]
label = "Außentemperatur Min/Max/Avg"
pointSize = 3
yScaleOffset = 0.5
markerValue = 0
markerColor = "#00BFFF"
[[[[[obs]]]]]
[[[[[[outTemp_min]]]]]]
observation = "outTemp"
@ -105,17 +167,23 @@ SKIN_VERSION = 2.3.3
observation = "outTemp"
aggregate_type = "max"
color = "#8B0000"
[[[[tempdew]]]]
label = 'Außentemperatur / Taupunkt'
markerValue = 0
markerColor = "#00BFFF"
[[[[[obs]]]]]
[[[[[[temp]]]]]]
observation = "outTemp"
[[[[[[dew]]]]]]
observation = "dewpoint"
color = "#5F9EA0"
[[[[windchill_heatindex]]]]
label = 'Windchill / Hitzeindex'
yScaleOffset = 0.5
markerValue = 0
markerColor = "#00BFFF"
[[[[[obs]]]]]
[[[[[[chill]]]]]]
observation = "windchill"
@ -127,11 +195,16 @@ SKIN_VERSION = 2.3.3
[[[[wind]]]]
label = 'Windgeschwindigkeit / Böen'
yScaleMin = 0
enableArea = True
areaOpacity = 0.5
curve = linear
[[[[[obs]]]]]
[[[[[[speed]]]]]]
observation = "windSpeed"
[[[[[[gust]]]]]]
observation = "windGust"
color = "#666666"
[[[[[[speed]]]]]]
observation = "windSpeed"
color = "#ffc000"
[[[line]]]
lineWidth = 2
@ -140,115 +213,260 @@ SKIN_VERSION = 2.3.3
enablePoints = True
enableCrosshair = True
yScaleOffset = 3
enableArea = False
areaOpacity = 0.07
# @see https://github.com/plouc/nivo/blob/master/packages/line/index.d.ts#L144
curve = "natural"
[[[bar]]]
enableLabel = False
isInteractive = True
enableCrosshair = True
yScaleOffset = 3
# Observation specific settings
[[[cloudbase]]]
[[[outTemp]]]
type = line
color = "#8B0000"
[[[dewpoint]]]
type = line
color = "#5F9EA0"
[[[outHumidity]]]
yScaleMin = 0
yScaleOffset = 300
yScaleMax = 103
type = line
enableArea = True
color = "#0099CC"
[[[pressure]]]
yScaleOffset = 1
type = line
enableArea = True
color = "#666666"
[[[barometer]]]
yScaleOffset = 1
type = line
enableArea = True
color = "#666666"
[[[altimeter]]]
yScaleOffset = 1
type = line
enableArea = True
color = "#666666"
[[[windchill]]]
type = line
color = "#0099CC"
[[[heatindex]]]
type = line
color = "#610000"
[[[windDir]]]
curve = "basis"
lineWidth = 0
yScaleMin = 0
yScaleMax = 360
type = line
color = "#161616"
[[[windSpeed]]]
yScaleMin = 0
type = line
enableArea = True
color = "#ffc000"
[[[windGust]]]
aggregate_type = "max"
yScaleMin = 0
[[[radiation]]]
curve = "basis"
yScaleMin = 0
[[[UV]]]
aggregate_type = "max"
curve = "step"
yScaleMin = 0
yScaleOffset = 1
[[[luminosity]]]
color = '#FFCC00'
yScaleMin = 0
type = line
enableArea = True
color = "#666666"
[[[rain]]]
aggregate_type = "sum"
yScaleMin = 0
yScaleOffset = 0.25
type = bar
color = "#0198E1"
[[[rainRate]]]
aggregate_type = "max"
curve = "linear"
yScaleMin = 0
yScaleOffset = 0.25
[[[outHumidity]]]
type = line
color = "#0a6794"
[[[UV]]]
aggregate_type = "max"
curve = "step"
yScaleMin = 0
yScaleMax = 103
yScaleOffset = 1
type = line
enableArea = True
color = "#e61919"
[[[ET]]]
aggregate_type = "sum"
yScaleMin = 0
yScaleOffset = 0.02
[[[pressure]]]
yScaleOffset = 1
[[[barometer]]]
yScaleOffset = 1
[[[altimeter]]]
yScaleOffset = 1
type = bar
color = "#E97451"
[[[luminosity]]]
curve = "basis"
yScaleMin = 0
type = line
enableArea = True
color = "#ffcc00"
[[[radiation]]]
curve = "basis"
yScaleMin = 0
type = line
enableArea = True
color = "#ff8c00"
[[[cloudbase]]]
yScaleMin = 0
yScaleOffset = 300
type = line
enableArea = True
color = "#92b6f0"
[[[appTemp]]]
type = line
color = "#C41E3A"
markerValue = 0
markerColor = "#00BFFF"
[[[soilMoist1]]]
yScaleMin = 0
type = line
enableArea = True
color = '#0099CC'
yScaleMin = 0
[[[lightning_strike_count]]]
aggregate_type = "sum"
curve = "step"
color = '#FF4C00'
yScaleMin = 0
type = bar
color = "#FF4C00"
[[[pm1_0]]]
curve = "basis"
color = '#00B335'
yScaleMin = 0
type = line
enableArea = True
color = '#00B335'
[[[pm2_5]]]
curve = "basis"
color = '#00B335'
yScaleMin = 0
type = line
enableArea = True
color = '#00B335'
[[[pm10_0]]]
curve = "basis"
color = '#00B335'
yScaleMin = 0
type = line
enableArea = True
color = '#00B335'
# Set which diagrams you want to see on the day, week month, etc pages.
# Note for alltime: if aggregate_interval is not set,
# it will be calculated automatically based on the number of days/records.
[[[day]]]
aggregate_interval = 1800 # 30 minutes
[[[[ET]]]]
[[[[observations]]]]
[[[[[tempdew]]]]]
[[[[[outHumidity]]]]]
[[[[[barometer]]]]]
[[[[[windchill_heatindex]]]]]
[[[[[wind]]]]]
[[[[[windDir]]]]]
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 7200 # 2 hours
[[[[rain]]]]
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 7200 # 2 hours
[[[[lightning_strike_count]]]]
[[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 7200 # 2 hours
[[[week]]]
aggregate_interval = 7200 # 2 hours
[[[[ET]]]]
[[[[observations]]]]
[[[[[tempdew]]]]]
[[[[[outHumidity]]]]]
[[[[[barometer]]]]]
[[[[[windchill_heatindex]]]]]
[[[[[wind]]]]]
[[[[[windDir]]]]]
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 86400 # 1 day
[[[[rain]]]]
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 86400 # 1 day
[[[[lightning_strike_count]]]]
[[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 86400 # 1 day
[[[month]]]
aggregate_interval = 21600 # 6 hours
[[[[ET]]]]
[[[[observations]]]]
[[[[[temp_min_max_avg]]]]]
[[[[[tempdew]]]]]
[[[[[outHumidity]]]]]
[[[[[barometer]]]]]
[[[[[windchill_heatindex]]]]]
[[[[[wind]]]]]
[[[[[windDir]]]]]
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 172800 # 2 days
[[[[rain]]]]
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 172800 # 2 days
[[[[lightning_strike_count]]]]
[[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 172800 # 2 days
[[[year]]]
aggregate_interval = 172800 # 2 days
[[[[ET]]]]
[[[[observations]]]]
[[[[[temp_min_max_avg]]]]]
[[[[[tempdew]]]]]
[[[[[outHumidity]]]]]
[[[[[barometer]]]]]
[[[[[windchill_heatindex]]]]]
[[[[[wind]]]]]
[[[[[windDir]]]]]
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 1555200 # 8 days
[[[[rain]]]]
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 1555200 # 8 days
[[[[lightning_strike_count]]]]
[[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 1555200 # 8 days
[[[alltime]]]
[[[[observations]]]]
[[[[[temp_min_max_avg]]]]]
[[[[[tempdew]]]]]
[[[[[outHumidity]]]]]
[[[[[barometer]]]]]
[[[[[windchill_heatindex]]]]]
[[[[[wind]]]]]
[[[[[windDir]]]]]
[[[[[windRose]]]]]
[[[[[rain]]]]]
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
[[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
[[[heights]]]
[[[[classic]]]]
height = "220px"
@ -265,7 +483,11 @@ SKIN_VERSION = 2.3.3
[CheetahGenerator]
encoding = html_entities
search_list_extensions = user.weewx_wdc.WdcGeneralUtil, user.weewx_wdc.WdcStatsUtil, user.weewx_wdc.WdcDiagramUtil, user.weewx_wdc.WdcCelestialUtil, user.weewx_wdc.WdcArchiveUtil, user.weewx_wdc.WdcTableUtil, user.weewx_wdc_forecast.WdcForecastUtil
search_list_extensions = user.weewx_wdc.WdcGeneralUtil, user.weewx_wdc.WdcStatsUtil, user.weewx_wdc.WdcDiagramUtil, user.weewx_wdc.WdcCelestialUtil, user.weewx_wdc.WdcArchiveUtil, user.weewx_wdc.WdcTableUtil, user.weewx_wdc.WdcForecastUtil
#[[SummaryByDay]]
# [[[summary_day]]]
# template = day-archive/day-%Y-%m-%d.html.tmpl
[[SummaryByMonth]]
# Reports that summarize "by month"
@ -334,6 +556,7 @@ SKIN_VERSION = 2.3.3
ephem_day = %X
ephem_year = %x
stats = %x %X
daily_archive = %Y-%m-%d
[CopyGenerator]
copy_once = dist/main.js, dist/main.css, plotly-custom-build.min.js, favicon.ico, manifest.json, icon-192x192.png, icon-256x256.png, icon-384x384.png, icon-512x512.png, service-worker.js, offline.html