You are right can read my mind : Here is the report :
#errorCatcher Echo #import weewx.uwxutils as utils #import user.weathercalc as wc #set $D="%d/%m/%y" #set $Time="%I:%M%p" #set $N50f="%5.0f" #set $N51f="%5.1f" #set $N52f="%5.2f" #set $NONE0F="0" #set $NONE1F="0.0" #set $NA="N/A" #set $NONE2F="0.00" #set $NONE3F="0.000" #def formatTime($raw): #from datetime import datetime #echo $datetime.fromtimestamp($raw).strftime("%-I:%M%p").lower().rstrip('m').rjust(6) #end def Temp Hi Low Out Dew Wind Wind Wind Hi Hi Wind Heat THW Rain Heat Cool In In In In In In Air Wind Wind ISS Arc. Date Time Out Temp Temp Hum Pt. Speed Dir Run Speed Dir Chill Index Index Bar Rain Rate D-D D-D Temp Hum Dew Heat EMC Density Samp Tx Recept Int. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #for $_span in $last2days $_span.start.format($D) #slurp ## DATE $self.formatTime($_span.start.raw) #slurp ## TIME $_span.outTemp.avg.nolabel($N51f,$NONE1F).rjust(6) #slurp ## TEMP OUT $_span.outTemp.max.nolabel($N51f,$NONE1F).rjust(6) #slurp ## HI TEMP $_span.outTemp.min.nolabel($N51f,$NONE1F).rjust(6) #slurp ## LOW TEMP $_span.outHumidity.avg.nolabel($N50f,$NONE1F).rjust(5) #slurp ## OUT HUM $_span.dewpoint.avg.nolabel($N51f,$NONE1F).rjust(6) #slurp ## DEW PT. $_span.windSpeed.avg.nolabel($N51f,$NONE1F).rjust(5) #slurp ## WIND SPEED $_span.windDir.avg.ordinal_compass.format(None_string="---").rjust(5) #slurp ## WIND DIR $_span.windrun.sum.nolabel($N52f,$NONE2F).rjust(6) #slurp ## WIND RUN $_span.windSpeed.max.nolabel($N51f,$NONE1F).rjust(5) #slurp ## HI SPEED $_span.windDir.max.ordinal_compass.format(None_string="---").rjust(5) #slurp ## HI DIR $_span.windchill.avg.nolabel($N51f,$NONE1F).rjust(6) #slurp ## WIND CHILL $_span.heatindex.avg.nolabel($N51f,$NONE1F).rjust(6) #slurp ## HEAT INDEX $wc.CalculateTHWIndex($_span.heatIndex.avg.raw,$span.windSpeed.avg.raw). rjust(6) #slurp ## THW INDEX $_span.barometer.avg.nolabel($N52f).rjust(7) #slurp ## BAR $_span.rain.sum.nolabel($N52f,$NONE2F).rjust(5) #slurp ## RAIN $_span.rainRate.avg.nolabel($N51f,$NONE1F).rjust(5) #slurp ## RAIN RATE $_span.heatdeg.avg.nolabel($N51f,$NONE1F).rjust(7) #slurp ## HEAT D-D $_span.cooldeg.avg.nolabel($N51f,$NONE1F).rjust(7) #slurp ## COOL D-D $_span.inTemp.avg.nolabel($N51f,$NONE1F).rjust(6) #slurp ## IN TEMP $_span.inHumidity.avg.nolabel($N50f,$NA).rjust(5) #slurp ##IN HUM $wc.CalculateDewPoint($_span.inTemp.avg.raw,$_span.inHumidity.avg.raw).rjust (6) #slurp ## IN DEW $wc.CalculateHeatIndex($_span.inTemp.avg.raw,$_span.inHumidity.avg.raw). rjust(6) #slurp ## IN HEAT $wc.CalculateEMC($_span.inTemp.avg.raw,$_span.inHumidity.avg.raw).rjust(6) #slurp ## IN EMC $wc.CalculateAirDensity($_span.inTemp.avg.raw,$_span.pressure.avg.raw).rjust (6) #slurp ## IN AIR DENSITY 0 #slurp ## WIND SAMPLES 7 #slurp ## TRANSMITTER ID $_span.rxCheckPercent.last.nolabel($N51f,$NONE1F).rjust(8) #slurp ## IIS RECEPTION QUALITY 15 ## ARCHIVE INTERVAL #end for This is my python file that generates the $last2days : from __future__ import with_statement from importlib import reload import datetime import time import calendar import json import os import os.path import syslog import sys import locale import weewx import weecfg import configobj import weedb import weeutil.weeutil import weewx.reportengine import weewx.station import weewx.units import weewx.tags import weewx.uwxutils from collections import OrderedDict from weewx.cheetahgenerator import SearchList from weewx.tags import TimespanBinder from weeutil.weeutil import to_bool, TimeSpan, to_int, archiveDaySpan, archiveWeekSpan, archiveMonthSpan, archiveYearSpan, startOfDay, timestamp_to_string, option_as_list try: from weeutil.config import search_up except: # Pass here because chances are we have an old version of weewx which will get caught below. pass # Check weewx version. Many things like search_up, weeutil.weeutil.KeyDict (label_dict) are from 3.9 if weewx.__version__ < "3.9": raise weewx.UnsupportedFeature("weewx 3.9 and newer is required, found %s " % weewx.__version__) def logmsg(level, msg): syslog.syslog(level, 'Hydrometeo Extension: %s' % msg) def logdbg(msg): logmsg(syslog.LOG_DEBUG, msg) def loginf(msg): logmsg(syslog.LOG_INFO, msg) def logerr(msg): logmsg(syslog.LOG_ERR, msg) # Print version in syslog for easier troubleshooting VERSION = "0.1" loginf("version %s" % VERSION) class ExtraStats(SearchList): def __init__(self, generator): SearchList.__init__(self, generator) def get_extension_list(self, timespan, db_lookup): alltime = TimespanBinder(timespan, db_lookup, formatter=self.generator.formatter, converter=self.generator.converter, skin_dict= self.generator.skin_dict) last2days = self.make_download_data(1, db_lookup) last7days = self.make_download_data(7, db_lookup) search_list_extension = {'last2days' : last2days, 'last7days' : last7days, 'alltime' : alltime} return [search_list_extension] def make_download_data(self, numberofdays, db_lookup): ts_end = datetime.datetime.now() ts_start = datetime.datetime.now() - datetime.timedelta(days =numberofdays) ts_start = ts_start.replace(hour=00, minute=15, second=00,microsecond =00) tsb = TimespanBinder(TimeSpan(time.mktime(ts_start.timetuple()), time.mktime(ts_end.timetuple())), db_lookup,formatter=self.generator.formatter, converter=self.generator.converter, skin_dict= self.generator.skin_dict) spans = tsb.spans(interval=900) return spans On Wednesday, May 6, 2020 at 11:56:35 AM UTC-4, Tom Keffer wrote: > > I have no idea what I'm looking at, what time this report was run, what > the report is, nor how to reproduce it. > > On Wed, May 6, 2020 at 8:17 AM Hyrules <hyr...@gmail.com <javascript:>> > wrote: > >> I have a report that generates results for the last 2 days in data. The >> report is scheduled to run every 15 minutes with a custom report_timing. >> Report is execting properly but the last value of the report is always zero >> >> [[HydroMeteoReport]] >> skin = hydrometeo >> enable = true >> HTML_ROOT = /var/www/html/weewx/hydrometeo >> report_timing = */15 * * * * >> >> Weather station archive interval is 5 minutes. >> >> Example : >> >> 06/05/20 7:45a 5.8 6.0 5.4 59 -1.5 1.1 NW 0.27 >> 1.6 NW 5.8 5.8 3.9 1015.45 0.00 0.0 14.3 0.0 19.3 >> 46 7.4 19.3 8.72 1.2087 0 7 99.9 15 >> 06/05/20 8:00a 6.6 7.1 6.1 56 -1.5 0.0 N/A 0.00 >> 0.0 N/A 6.6 6.6 4.7 1015.46 0.00 0.0 14.3 0.0 19.4 >> 46 7.4 19.4 8.72 1.2084 0 7 97.9 15 >> 06/05/20 8:15a 7.8 8.1 7.4 54 -1.0 0.0 N/A 0.00 >> 0.0 N/A 7.8 7.8 5.8 1015.45 0.00 0.0 14.3 0.0 19.4 >> 45 7.3 19.4 8.62 1.2081 0 7 99.9 15 >> 06/05/20 8:30a 8.0 8.3 7.8 52 -1.2 2.7 WNW 0.67 >> 4.8 WNW 8.0 8.0 6.1 1015.39 0.00 0.0 14.3 0.0 19.6 >> 45 7.4 19.6 8.56 1.2073 0 7 99.9 15 >> 06/05/20 8:45a 8.2 8.6 7.8 50 -1.5 2.7 E 0.67 >> 3.2 W 8.2 8.2 6.3 1015.33 0.00 0.0 14.3 0.0 19.9 >> 45 7.6 19.9 8.56 1.2061 0 7 99.9 15 >> 06/05/20 9:00a 9.0 9.1 8.8 48 -1.6 2.1 NE 0.54 >> 3.2 ENE 9.0 9.0 7.0 1015.31 0.00 0.0 14.3 0.0 19.9 >> 45 7.6 19.9 8.56 1.2061 0 7 98.9 15 >> 06/05/20 9:15a 9.1 9.3 9.0 48 -1.4 1.1 NE 0.27 >> 1.6 ENE 9.1 9.1 7.2 1015.14 0.00 0.0 14.3 0.0 20.1 >> 44 7.6 20.1 8.45 1.2051 0 7 98.9 15 >> 06/05/20 9:30a 9.9 10.0 9.8 46 -1.2 0.5 NNE 0.13 >> 1.6 NNE 9.9 9.9 8.0 1015.02 0.00 0.0 14.3 0.0 20.0 >> 44 7.4 20.0 8.40 1.2053 0 7 98.9 15 >> 06/05/20 9:45a 9.7 9.7 9.6 46 -1.4 0.0 N/A 0.00 >> 0.0 N/A 9.7 9.7 7.7 1014.99 0.00 0.0 14.3 0.0 20.0 >> 44 7.4 20.0 8.40 1.2053 0 7 99.9 15 >> 06/05/20 10:00a 9.8 9.8 9.8 45 -1.6 0.5 E 0.13 >> 1.6 E 9.8 9.8 7.9 1014.77 0.00 0.0 14.3 0.0 20.0 >> 44 7.4 20.0 8.40 1.2050 0 7 99.9 15 >> 06/05/20 10:15a 10.0 10.2 9.8 45 -1.5 0.0 N/A 0.00 >> 0.0 N/A 10.0 10.0 8.1 1014.66 0.00 0.0 14.3 0.0 20.0 >> 44 7.4 20.0 8.40 1.2049 0 7 99.9 15 >> 06/05/20 10:30a 10.1 10.3 9.9 43 -1.8 2.7 WNW 0.67 >> 3.2 NW 10.1 10.1 8.2 1014.57 0.00 0.0 14.3 0.0 20.0 >> 44 7.4 20.0 8.40 1.2048 0 7 99.9 15 >> 06/05/20 10:45a 0.0 0.0 0.0 0.0 0.0 0.0 N/A 0.00 >> 0.0 N/A 0.0 0.0 0.0 N/A 0.00 0.0 14.3 0.0 0.0 >> N/A 0.0 0.0 0.00 0.0000 0 7 0.0 15 >> >> Those values are mixed kind of values. avg max min sum for rain. but >> mostly avg. >> >> I was wondering if this might be a bug with weewx or a misunderstanding >> in my part. If I execute the report a few minutes later the value is >> populated. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "weewx-user" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to weewx...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/weewx-user/20d610d8-5ef6-4225-8f6a-808bc70e8650%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/20d610d8-5ef6-4225-8f6a-808bc70e8650%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/7b3f01a4-72cd-4fe5-a7b4-f92147bb0fc3%40googlegroups.com.