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 ARG WEEWX_UID=421
ENV WEEWX_HOME="/home/weewx" 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 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 \ RUN addgroup --system --gid ${WEEWX_UID} weewx \
&& adduser --system --uid ${WEEWX_UID} --ingroup weewx weewx && adduser --system --uid ${WEEWX_UID} --ingroup weewx weewx

View file

@ -1,25 +1,31 @@
# configuration file for the weewx-wdc skin # configuration file for the weewx-wdc skin
SKIN_NAME = Weather Data Center SKIN_NAME = Weather Data Center
SKIN_VERSION = 2.3.3 SKIN_VERSION = 3.0.0
[Extras] [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. # Show a link to the GitHub respository of this skin. Set to False to hide.
github_link = True github_link = True
# This radar image would be available as $Extras.radar_img # The radar code. Full html allowed.
radar_img = /dwd/radar_nrw.gif 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>'
# This URL will be used as the image hyperlink: #radar_heading = Recent radar
radar_url = https://www.dwd.de/DE/leistungen/radarbild_film/radarbild_film.html
[[forecast_zambretti]] [[forecast_zambretti]]
enable = false enable = False
[[forecast_table_settings]] [[forecast_table_settings]]
source = Aeris source = Aeris
num_periods = 72 num_periods = 72
num_days = 4 num_days = 4
show_legend = 1 show_hourly = 1
show_hourly = 0
show_day = 1 show_day = 1
show_date = 1 show_date = 1
show_outlook = 1 show_outlook = 1
@ -29,10 +35,9 @@ SKIN_VERSION = 2.3.3
show_wind = 1 show_wind = 1
show_tides = 0 show_tides = 0
show_sun = 1 show_sun = 1
show_moon = 0 show_moon = 1
show_pop = 1 show_pop = 1
show_precip = 1 show_precip = 1
show_obvis = 0
[[weewx-DWD]] [[weewx-DWD]]
show_text_forecast = True show_text_forecast = True
@ -61,20 +66,52 @@ SKIN_VERSION = 2.3.3
[DisplayOptions] [DisplayOptions]
layout = 'alternative' layout = 'alternative'
# These days will be shown on the year and statistics pages.
climatological_days = rainDays, summerDays, hotDays, desertDays, tropicalNights, stormDays, iceDays, frostDays 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 # 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 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 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_day = True
show_min_max_time_yesterday = True show_min_max_time_yesterday = True
show_min_max_time_week = True show_min_max_time_week = True
show_min_max_time_month = 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_colors = "#f3cec9", "#e7a4b6", "#cd7eaf", "#a262a9", "#6f4d96", "#3d3b72"
windRose_show_beaufort = False 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]] [[tables]]
#[[[Rounding]]]
#outTemp = 3
[[[day]]] [[[day]]]
aggregate_interval = 3600 # 1 hour aggregate_interval = 3600 # 1 hour
[[[week]]] [[[week]]]
@ -87,11 +124,36 @@ SKIN_VERSION = 2.3.3
aggregate_interval = 86400 # 1 day aggregate_interval = 86400 # 1 day
[[diagrams]] [[diagrams]]
#[[[Rounding]]]
#barometer = 3
[[[combined_observations]]] [[[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]]]] [[[[temp_min_max_avg]]]]
label = "Außentemperatur Min/Max/Avg" label = "Außentemperatur Min/Max/Avg"
pointSize = 3 pointSize = 3
yScaleOffset = 0.5 yScaleOffset = 0.5
markerValue = 0
markerColor = "#00BFFF"
[[[[[obs]]]]] [[[[[obs]]]]]
[[[[[[outTemp_min]]]]]] [[[[[[outTemp_min]]]]]]
observation = "outTemp" observation = "outTemp"
@ -105,17 +167,23 @@ SKIN_VERSION = 2.3.3
observation = "outTemp" observation = "outTemp"
aggregate_type = "max" aggregate_type = "max"
color = "#8B0000" color = "#8B0000"
[[[[tempdew]]]] [[[[tempdew]]]]
label = 'Außentemperatur / Taupunkt' label = 'Außentemperatur / Taupunkt'
markerValue = 0
markerColor = "#00BFFF"
[[[[[obs]]]]] [[[[[obs]]]]]
[[[[[[temp]]]]]] [[[[[[temp]]]]]]
observation = "outTemp" observation = "outTemp"
[[[[[[dew]]]]]] [[[[[[dew]]]]]]
observation = "dewpoint" observation = "dewpoint"
color = "#5F9EA0"
[[[[windchill_heatindex]]]] [[[[windchill_heatindex]]]]
label = 'Windchill / Hitzeindex' label = 'Windchill / Hitzeindex'
yScaleOffset = 0.5 yScaleOffset = 0.5
markerValue = 0
markerColor = "#00BFFF"
[[[[[obs]]]]] [[[[[obs]]]]]
[[[[[[chill]]]]]] [[[[[[chill]]]]]]
observation = "windchill" observation = "windchill"
@ -127,11 +195,16 @@ SKIN_VERSION = 2.3.3
[[[[wind]]]] [[[[wind]]]]
label = 'Windgeschwindigkeit / Böen' label = 'Windgeschwindigkeit / Böen'
yScaleMin = 0 yScaleMin = 0
enableArea = True
areaOpacity = 0.5
curve = linear
[[[[[obs]]]]] [[[[[obs]]]]]
[[[[[[speed]]]]]]
observation = "windSpeed"
[[[[[[gust]]]]]] [[[[[[gust]]]]]]
observation = "windGust" observation = "windGust"
color = "#666666"
[[[[[[speed]]]]]]
observation = "windSpeed"
color = "#ffc000"
[[[line]]] [[[line]]]
lineWidth = 2 lineWidth = 2
@ -140,115 +213,260 @@ SKIN_VERSION = 2.3.3
enablePoints = True enablePoints = True
enableCrosshair = True enableCrosshair = True
yScaleOffset = 3 yScaleOffset = 3
enableArea = False
areaOpacity = 0.07
# @see https://github.com/plouc/nivo/blob/master/packages/line/index.d.ts#L144 # @see https://github.com/plouc/nivo/blob/master/packages/line/index.d.ts#L144
curve = "natural" curve = "natural"
[[[bar]]] [[[bar]]]
enableLabel = False enableLabel = False
isInteractive = True isInteractive = True
enableCrosshair = True
yScaleOffset = 3 yScaleOffset = 3
# Observation specific settings # Observation specific settings
[[[cloudbase]]] [[[outTemp]]]
type = line
color = "#8B0000"
[[[dewpoint]]]
type = line
color = "#5F9EA0"
[[[outHumidity]]]
yScaleMin = 0 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]]] [[[windDir]]]
curve = "basis" curve = "basis"
lineWidth = 0 lineWidth = 0
yScaleMin = 0 yScaleMin = 0
yScaleMax = 360 yScaleMax = 360
type = line
color = "#161616"
[[[windSpeed]]] [[[windSpeed]]]
yScaleMin = 0 yScaleMin = 0
type = line
enableArea = True
color = "#ffc000"
[[[windGust]]] [[[windGust]]]
aggregate_type = "max" aggregate_type = "max"
yScaleMin = 0 yScaleMin = 0
[[[radiation]]] type = line
curve = "basis" enableArea = True
yScaleMin = 0 color = "#666666"
[[[UV]]]
aggregate_type = "max"
curve = "step"
yScaleMin = 0
yScaleOffset = 1
[[[luminosity]]]
color = '#FFCC00'
yScaleMin = 0
[[[rain]]] [[[rain]]]
aggregate_type = "sum" aggregate_type = "sum"
yScaleMin = 0
yScaleOffset = 0.25 yScaleOffset = 0.25
type = bar
color = "#0198E1"
[[[rainRate]]] [[[rainRate]]]
aggregate_type = "max" aggregate_type = "max"
curve = "linear" curve = "linear"
yScaleMin = 0 yScaleMin = 0
yScaleOffset = 0.25 yScaleOffset = 0.25
[[[outHumidity]]] type = line
color = "#0a6794"
[[[UV]]]
aggregate_type = "max"
curve = "step"
yScaleMin = 0 yScaleMin = 0
yScaleMax = 103 yScaleOffset = 1
type = line
enableArea = True
color = "#e61919"
[[[ET]]] [[[ET]]]
aggregate_type = "sum" aggregate_type = "sum"
yScaleMin = 0
yScaleOffset = 0.02 yScaleOffset = 0.02
[[[pressure]]] type = bar
yScaleOffset = 1 color = "#E97451"
[[[barometer]]] [[[luminosity]]]
yScaleOffset = 1 curve = "basis"
[[[altimeter]]] yScaleMin = 0
yScaleOffset = 1 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]]] [[[soilMoist1]]]
yScaleMin = 0
type = line
enableArea = True
color = '#0099CC' color = '#0099CC'
yScaleMin = 0 yScaleMin = 0
[[[lightning_strike_count]]] [[[lightning_strike_count]]]
aggregate_type = "sum" aggregate_type = "sum"
curve = "step"
color = '#FF4C00'
yScaleMin = 0 yScaleMin = 0
type = bar
color = "#FF4C00"
[[[pm1_0]]] [[[pm1_0]]]
curve = "basis" curve = "basis"
color = '#00B335'
yScaleMin = 0 yScaleMin = 0
type = line
enableArea = True
color = '#00B335'
[[[pm2_5]]] [[[pm2_5]]]
curve = "basis" curve = "basis"
color = '#00B335'
yScaleMin = 0 yScaleMin = 0
type = line
enableArea = True
color = '#00B335'
[[[pm10_0]]] [[[pm10_0]]]
curve = "basis" curve = "basis"
color = '#00B335'
yScaleMin = 0 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]]] [[[day]]]
aggregate_interval = 1800 # 30 minutes aggregate_interval = 1800 # 30 minutes
[[[[ET]]]] [[[[observations]]]]
[[[[[tempdew]]]]]
[[[[[outHumidity]]]]]
[[[[[barometer]]]]]
[[[[[windchill_heatindex]]]]]
[[[[[wind]]]]]
[[[[[windDir]]]]]
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 7200 # 2 hours aggregate_interval = 7200 # 2 hours
[[[[rain]]]] [[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 7200 # 2 hours aggregate_interval = 7200 # 2 hours
[[[[lightning_strike_count]]]] [[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 7200 # 2 hours aggregate_interval = 7200 # 2 hours
[[[week]]] [[[week]]]
aggregate_interval = 7200 # 2 hours aggregate_interval = 7200 # 2 hours
[[[[ET]]]] [[[[observations]]]]
[[[[[tempdew]]]]]
[[[[[outHumidity]]]]]
[[[[[barometer]]]]]
[[[[[windchill_heatindex]]]]]
[[[[[wind]]]]]
[[[[[windDir]]]]]
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 86400 # 1 day aggregate_interval = 86400 # 1 day
[[[[rain]]]] [[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 86400 # 1 day aggregate_interval = 86400 # 1 day
[[[[lightning_strike_count]]]] [[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 86400 # 1 day aggregate_interval = 86400 # 1 day
[[[month]]] [[[month]]]
aggregate_interval = 21600 # 6 hours 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 aggregate_interval = 172800 # 2 days
[[[[rain]]]] [[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 172800 # 2 days aggregate_interval = 172800 # 2 days
[[[[lightning_strike_count]]]] [[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 172800 # 2 days aggregate_interval = 172800 # 2 days
[[[year]]] [[[year]]]
aggregate_interval = 172800 # 2 days 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 aggregate_interval = 1555200 # 8 days
[[[[rain]]]] [[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 1555200 # 8 days aggregate_interval = 1555200 # 8 days
[[[[lightning_strike_count]]]] [[[[[radiation]]]]]
[[[[[cloudbase]]]]]
[[[[[appTemp]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 1555200 # 8 days 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]]] [[[heights]]]
[[[[classic]]]] [[[[classic]]]]
height = "220px" height = "220px"
@ -265,7 +483,11 @@ SKIN_VERSION = 2.3.3
[CheetahGenerator] [CheetahGenerator]
encoding = html_entities 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]] [[SummaryByMonth]]
# Reports that summarize "by month" # Reports that summarize "by month"
@ -334,6 +556,7 @@ SKIN_VERSION = 2.3.3
ephem_day = %X ephem_day = %X
ephem_year = %x ephem_year = %x
stats = %x %X stats = %x %X
daily_archive = %Y-%m-%d
[CopyGenerator] [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 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