diff --git a/Dockerfile b/Dockerfile index 2e3a200..6cd561f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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.1.0" +ENV WEEWX_WDC_VERSION="v3.2.0" RUN addgroup --system --gid ${WEEWX_UID} weewx \ && adduser --system --uid ${WEEWX_UID} --ingroup weewx weewx @@ -37,8 +37,7 @@ RUN wget -nv -O "${ARCHIVE}" "http://www.weewx.com/downloads/released_versions/$ wget -nv -O weewx-purpleair.zip https://github.com/xslima00/weewx-purpleair/archive/refs/heads/patch-1.zip &&\ wget -nv -O weewx-aqi.zip https://github.com/jonathankoren/weewx-aqi/archive/refs/tags/v1.4.1.zip &&\ wget -nv -O weewx-dwd.zip https://github.com/roe-dl/weewx-DWD/archive/master.zip &&\ - wget -nv -O weewx-wdc.zip https://github.com/nifoc/weewx-wdc/releases/download/v3.1.0-1/weewx-wdc-v3.1.0-1.zip -#wget -nv -O weewx-wdc.zip https://github.com/Daveiano/weewx-wdc/releases/download/${WEEWX_WDC_VERSION}/weewx-wdc-${WEEWX_WDC_VERSION}.zip + wget -nv -O weewx-wdc.zip https://github.com/Daveiano/weewx-wdc/releases/download/${WEEWX_WDC_VERSION}/weewx-wdc-${WEEWX_WDC_VERSION}.zip # Extract weewx and (some) plugins RUN tar --extract --gunzip --directory ${WEEWX_HOME} --strip-components=1 --file "${ARCHIVE}" &&\ @@ -83,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" diff --git a/defaults/skin-wdc/skin.conf b/defaults/skin-wdc/skin.conf index 0863af8..694743c 100644 --- a/defaults/skin-wdc/skin.conf +++ b/defaults/skin-wdc/skin.conf @@ -1,12 +1,14 @@ # configuration file for the weewx-wdc skin SKIN_NAME = Weather Data Center -SKIN_VERSION = 3.1.0 +SKIN_VERSION = 3.2.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 @@ -102,6 +104,10 @@ SKIN_VERSION = 3.1.0 [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 @@ -112,7 +118,7 @@ SKIN_VERSION = 3.1.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 # 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 @@ -134,7 +140,13 @@ SKIN_VERSION = 3.1.0 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" @@ -166,6 +178,8 @@ SKIN_VERSION = 3.1.0 label = "Climatogram" curve="natural" aggregate_interval = month + bottom_date_time_format = "%b" + tooltip_date_time_format = "%B" [[[[[obs]]]]] [[[[[[rain]]]]]] observation = "rain" @@ -176,6 +190,8 @@ SKIN_VERSION = 3.1.0 label = "Climatogram" curve="natural" aggregate_interval = year + bottom_date_time_format = "%Y" + tooltip_date_time_format = "%Y" [[[[[obs]]]]] [[[[[[rain]]]]]] observation = "rain" @@ -249,7 +265,7 @@ SKIN_VERSION = 3.1.0 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 @@ -390,12 +406,26 @@ SKIN_VERSION = 3.1.0 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]]]]] @@ -406,14 +436,17 @@ SKIN_VERSION = 3.1.0 [[[[[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]]]]] @@ -423,6 +456,8 @@ SKIN_VERSION = 3.1.0 [[[week]]] aggregate_interval = 7200 # 2 hours + bottom_date_time_format = "%m/%d" + tooltip_date_time_format = "%x %X" [[[[observations]]]] [[[[[temp_min_max_avg]]]]] [[[[[tempdew]]]]] @@ -434,14 +469,17 @@ SKIN_VERSION = 3.1.0 [[[[[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]]]]] @@ -451,6 +489,8 @@ SKIN_VERSION = 3.1.0 [[[month]]] aggregate_interval = 21600 # 6 hours + bottom_date_time_format = "%m/%d" + tooltip_date_time_format = "%x %X" [[[[observations]]]] [[[[[temp_min_max_avg]]]]] [[[[[tempdew]]]]] @@ -462,14 +502,17 @@ SKIN_VERSION = 3.1.0 [[[[[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]]]]] @@ -479,6 +522,8 @@ SKIN_VERSION = 3.1.0 [[[year]]] aggregate_interval = 172800 # 2 days + bottom_date_time_format = "%m/%d" + tooltip_date_time_format = "%x" [[[[observations]]]] [[[[[temp_min_max_avg]]]]] [[[[[tempdew]]]]] @@ -506,6 +551,8 @@ SKIN_VERSION = 3.1.0 [[[[[pm10_0]]]]] [[[alltime]]] + bottom_date_time_format = "%m/%y" + tooltip_date_time_format = "%m/%Y" [[[[observations]]]] [[[[[temp_min_max_avg]]]]] [[[[[tempdew]]]]] @@ -597,6 +644,9 @@ SKIN_VERSION = 3.1.0 [[[celestial]]] template = celestial.html.tmpl + [[[sensor_status]]] + template = sensor-status.html.tmpl + # Static pages, add as many as you want. [[Static]] #[[[about]]]