Archived
1
0
Fork 0

Compare commits

..

10 commits

3 changed files with 100 additions and 13 deletions

View file

@ -1,10 +1,10 @@
FROM python:3.10.8-slim-bullseye as install
FROM python:3.10.11-slim-bullseye as install
ARG WEEWX_UID=421
ENV WEEWX_HOME="/home/weewx"
ENV WEEWX_VERSION="4.10.2"
ENV ARCHIVE="weewx-${WEEWX_VERSION}.tar.gz"
ENV WEEWX_WDC_VERSION="v3.0.1"
ENV WEEWX_WDC_VERSION="v3.3.0"
RUN addgroup --system --gid ${WEEWX_UID} weewx \
&& adduser --system --uid ${WEEWX_UID} --ingroup weewx weewx
@ -30,6 +30,7 @@ RUN pip install --no-cache-dir --requirement requirements.txt
# Download weewx and plugins
RUN wget -nv -O "${ARCHIVE}" "http://www.weewx.com/downloads/released_versions/${ARCHIVE}" &&\
wget -nv -O weewx-mqtt.zip https://github.com/matthewwall/weewx-mqtt/archive/master.zip &&\
wget -nv -O weewx-MQTTSubscribe.zip https://github.com/bellrichm/WeeWX-MQTTSubscribe/archive/refs/tags/v2.2.2.zip &&\
wget -nv -O weewx-forecast.zip https://github.com/chaunceygardiner/weewx-forecast/archive/master.zip &&\
wget -nv -O weewx-GTS.zip https://github.com/roe-dl/weewx-GTS/archive/master.zip &&\
@ -65,7 +66,8 @@ RUN sed -i -z -e "s|PTH=\"/etc/weewx/skins/Belchertown/dwd\"|PTH=\"/home/weewx/s
# weewx setup
WORKDIR ${WEEWX_HOME}
RUN bin/wee_extension --install /tmp/weewx-MQTTSubscribe.zip &&\
RUN bin/wee_extension --install /tmp/weewx-mqtt.zip &&\
bin/wee_extension --install /tmp/weewx-MQTTSubscribe.zip &&\
bin/wee_extension --install /tmp/weewx-forecast.zip &&\
bin/wee_extension --install /tmp/weewx-GTS.zip &&\
bin/wee_extension --install /tmp/weewx-purpleair.zip &&\
@ -80,7 +82,7 @@ COPY --chown=weewx:weewx user/extensions.py ./bin/user/extensions.py
RUN echo 'Default Configuration:' &&\
cat ${WEEWX_HOME}/weewx.conf
FROM python:3.10.8-slim-bullseye as final
FROM python:3.10.11-slim-bullseye as final
ARG WEEWX_UID=421
ENV WEEWX_HOME="/home/weewx"

View file

@ -1,12 +1,14 @@
# configuration file for the weewx-wdc skin
SKIN_NAME = Weather Data Center
SKIN_VERSION = 3.0.1
SKIN_VERSION = 3.3.0
[ObservationBindings]
[Extras]
# If weewx is installed in some sub-folder of your web server,
# please specify the path here.
# Only change this if the generated files are deployed to some
# sub-folder of your web server.
# E.g. If you are accessing your site via "http://my-weewx.com/weewx-wdc/"
# the base_path should be "/weewx-wdc/".
base_path = /
# If activated the Fontpage (index.html) will be automatically be
@ -20,6 +22,38 @@ SKIN_VERSION = 3.0.1
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 = Radar
# Set to True to have the Forecast tile and the radar/externals tile to have the same width.
# Default is forecast = 2/3 and radar tile = 1/3.
forecast_radar_equal_width = False
[[mqtt]]
mqtt_websockets_enabled = 0
mqtt_websockets_host = "localhost"
mqtt_websockets_port = 9001
mqtt_websockets_ssl = 0
mqtt_websockets_topic = "weather/loop"
# Include various external sources (eg. webcams) here.
#[[external_1]]
# source = '<img src="http://your-server.com/uploads/webcam01.jpg" />'
# title = Webcam 1
# title_long = "Webcam 1, facing North"
#[[external_2]]
# source = '<img src="http://your-server.com/uploads/webcam02.jpg" />'
# title = Webcam 2
# title_long = "Webcam 2, facing South"
#[[external_3]]
# source = '<img src="http://your-server.com/uploads/webcam01.gif" />'
# title = Webcam 1
# title_long = "Webcam 1, Timelapse"
#[[external_4]]
# source = '<img src="http://your-server.com/uploads/webcam02.gif" />'
# title = Webcam 2
# title_long = "Webcam 2, Timelapse"
[[forecast_zambretti]]
enable = False
@ -70,6 +104,10 @@ SKIN_VERSION = 3.0.1
[DisplayOptions]
layout = 'alternative'
# Date/Time localization for charts. Available locales: de-DE, en-US, en-GB, it-IT.
# If not set, the value from weewx.conf (reports section) will be used. If lang = en, then en-US will be used (sorry GB!).
date_time_locale = de-DE
# These days will be shown on the year and statistics pages.
climatological_days = rainDays, summerDays, hotDays, desertDays, tropicalNights, stormDays, iceDays, frostDays
@ -80,7 +118,7 @@ SKIN_VERSION = 3.0.1
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 tiles: Min/Max/Sum settings.
stat_tiles_show_min = outTemp, outHumidity, barometer, pressure, altimeter, heatindex, dewpoint, windchill, cloudbase, appTemp
stat_tiles_show_min = outTemp, outHumidity, barometer, pressure, altimeter, heatindex, dewpoint, windchill, cloudbase, appTemp, rxCheckPercent, consBatteryVoltage
stat_tiles_show_max = rainRate, UV
stat_tiles_show_sum = rain, ET, lightning_strike_count
@ -102,7 +140,13 @@ SKIN_VERSION = 3.0.1
climatogram_enable_stats = True
climatogram_enable_year_stats = True
ENABLE_D3_DIAGRAMS = False
# Sensor status page.
sensor_stat_tile_observations = rxCheckPercent, signal1, signal2, signal3, signal4, signal5, signal6, signal7, signal8, consBatteryVoltage, heatingVoltage, supplyVoltage, referenceVoltage
sensor_diagram_observations = rxCheckPercent, signal1, signal2, signal3, signal4, signal5, signal6, signal7, signal8, consBatteryVoltage, heatingVoltage, supplyVoltage, referenceVoltage
sensor_table_observations = rxCheckPercent, signal1, signal2, signal3, signal4, signal5, signal6, signal7, signal8, consBatteryVoltage, heatingVoltage, supplyVoltage, referenceVoltage
sensor_battery_status = outTempBatteryStatus, inTempBatteryStatus, rainBatteryStatus, hailBatteryStatus, snowBatteryStatus, windBatteryStatus, uvBatteryStatus, txBatteryStatus, batteryStatus1, batteryStatus2, batteryStatus3, batteryStatus4, batteryStatus5, batteryStatus6, batteryStatus7, batteryStatus8
# Time period of diagrams (day, week, month or year).
sensor_diagram_period = week
[[Icons]]
#rain = "includes/icons/barometer.svg"
@ -134,6 +178,8 @@ SKIN_VERSION = 3.0.1
label = "Climatogram"
curve="natural"
aggregate_interval = month
bottom_date_time_format = "%b"
tooltip_date_time_format = "%B"
[[[[[obs]]]]]
[[[[[[rain]]]]]]
observation = "rain"
@ -144,6 +190,8 @@ SKIN_VERSION = 3.0.1
label = "Climatogram"
curve="natural"
aggregate_interval = year
bottom_date_time_format = "%Y"
tooltip_date_time_format = "%Y"
[[[[[obs]]]]]
[[[[[[rain]]]]]]
observation = "rain"
@ -217,7 +265,7 @@ SKIN_VERSION = 3.0.1
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/Daveiano/weewx-wdc/wiki/Configuration#diagrams, at "curve".
curve = "natural"
[[[bar]]]
enableLabel = False
@ -358,12 +406,26 @@ SKIN_VERSION = 3.0.1
type = line
enableArea = True
color = '#00B335'
[[[rxCheckPercent]]]
yScaleMax = 100
color = "#990033"
[[[consBatteryVoltage]]]
yScaleOffset = 0.25
color = "#666699"
[[[heatingVoltage]]]
yScaleOffset = 0.25
[[[supplyVoltage]]]
yScaleOffset = 0.25
[[[referenceVoltage]]]
yScaleOffset = 0.25
# 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
bottom_date_time_format = "%H:%M"
tooltip_date_time_format = "%x %X"
[[[[observations]]]]
[[[[[tempdew]]]]]
[[[[[windchill_heatindex]]]]]
@ -374,14 +436,17 @@ SKIN_VERSION = 3.0.1
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 7200
tooltip_date_time_format = "%X"
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 7200
tooltip_date_time_format = "%X"
[[[[[luminosity]]]]]
[[[[[radiation]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 7200
tooltip_date_time_format = "%X"
[[[[[cloudbase]]]]]
[[[[[soilTemp1]]]]]
[[[[[soilMoist1]]]]]
@ -391,6 +456,8 @@ SKIN_VERSION = 3.0.1
[[[week]]]
aggregate_interval = 7200 # 2 hours
bottom_date_time_format = "%m/%d"
tooltip_date_time_format = "%x %X"
[[[[observations]]]]
[[[[[temp_min_max_avg]]]]]
[[[[[tempdew]]]]]
@ -402,14 +469,17 @@ SKIN_VERSION = 3.0.1
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 86400
tooltip_date_time_format = "%x"
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 86400
tooltip_date_time_format = "%x"
[[[[[luminosity]]]]]
[[[[[radiation]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 86400
tooltip_date_time_format = "%x"
[[[[[cloudbase]]]]]
[[[[[soilTemp1]]]]]
[[[[[soilMoist1]]]]]
@ -419,6 +489,8 @@ SKIN_VERSION = 3.0.1
[[[month]]]
aggregate_interval = 21600 # 6 hours
bottom_date_time_format = "%m/%d"
tooltip_date_time_format = "%x %X"
[[[[observations]]]]
[[[[[temp_min_max_avg]]]]]
[[[[[tempdew]]]]]
@ -430,14 +502,17 @@ SKIN_VERSION = 3.0.1
[[[[[windRose]]]]]
[[[[[rain]]]]]
aggregate_interval = 172800
tooltip_date_time_format = "%x"
[[[[[rainRate]]]]]
[[[[[UV]]]]]
[[[[[ET]]]]]
aggregate_interval = 172800
tooltip_date_time_format = "%x"
[[[[[luminosity]]]]]
[[[[[radiation]]]]]
[[[[[lightning_strike_count]]]]]
aggregate_interval = 172800
tooltip_date_time_format = "%x"
[[[[[cloudbase]]]]]
[[[[[soilTemp1]]]]]
[[[[[soilMoist1]]]]]
@ -447,6 +522,8 @@ SKIN_VERSION = 3.0.1
[[[year]]]
aggregate_interval = 172800 # 2 days
bottom_date_time_format = "%m/%d"
tooltip_date_time_format = "%x"
[[[[observations]]]]
[[[[[temp_min_max_avg]]]]]
[[[[[tempdew]]]]]
@ -474,6 +551,8 @@ SKIN_VERSION = 3.0.1
[[[[[pm10_0]]]]]
[[[alltime]]]
bottom_date_time_format = "%m/%y"
tooltip_date_time_format = "%m/%Y"
[[[[observations]]]]
[[[[[temp_min_max_avg]]]]]
[[[[[tempdew]]]]]
@ -565,11 +644,17 @@ SKIN_VERSION = 3.0.1
[[[celestial]]]
template = celestial.html.tmpl
[[[sensor_status]]]
template = sensor-status.html.tmpl
# Static pages, add as many as you want.
[[Static]]
#[[[about]]]
#template = about.html.tmpl
#title = About
#[[[externals]]]
#template = externals.html.tmpl
#title = Webcams/Externals
[[[DWD]]]
template = dwd.html.tmpl
title = Vorhersage vom DWD
@ -589,7 +674,7 @@ SKIN_VERSION = 3.0.1
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
copy_once = dist/main.js, dist/main.css, plotly-custom-build.min.js, dist/live-updates.js, favicon.ico, manifest.json, icon-192x192.png, icon-256x256.png, icon-384x384.png, icon-512x512.png, service-worker.js, offline.html, dist/assets
copy_always = dwd/SchilderEM.jpg, dwd/radar_nrw.gif, dwd/bwk_bodendruck_weu_ana.png, dwd/bwk_bodendruck_na_ana.png
[Generators]

View file

@ -74,7 +74,7 @@ if [ "$1" = "--gen-test-config" ]; then
fi
if [ "$1" = "--shell" ]; then
/bin/sh
/bin/bash
exit $?
fi
@ -90,4 +90,4 @@ if [ ! -f "${CONF_FILE}" ]; then
exit 1
fi
./bin/weewxd "$@"
exec ./bin/weewxd "$@"