meanmax not working with data_binding

46 skatījumi
Pāriet uz pirmo nelasīto ziņojumu

Graham Eddy

nelasīta,
2023. gada 12. marts 05:45:3212.03.23
uz WeeWX User
i have updated the NOAA reports to include fields from another weewx database (using $data_binding in tags). these external fields all work fine for min,mintime,max,maxtime,avg,count but not for meanmax,meanmin. weewx v4.10.2

the period tags are $day,$month,$year (all at least one day) so i expect meanmax,meanmin to work, but instead they are not recognised as valid, and the (unresolved) tag literal text is inserted instead of its value

following is an extract from the generated report text file showing the mixed success. i instrumented the report to display a few values that illustrate the problem:
——————

****vvvv  

$~month.cloudbase.count.raw=8928        

$~month.cloudbase.avg.format($~Height,$~NONE,add_label=False)=  1129

$~month($~data_binding="wx_binding").cloudbase.avg.format($~Height,$~NONE,add_label=False)=  1129

$~month.cloudbase.meanmax.format($~Height,$~NONE,add_label=False)=  2263

$~month($~data_binding="wx_binding").cloudbase.meanmax.format($~Height,$~NONE,add_label=False)=  2263

$~month($~data_binding="gw1000_binding").UV.count.raw=8927

$~month($~data_binding="gw1000_binding").UV.avg.format($~Uv,$~NONE,add_label=False)=     2

$~month($~data_binding="gw1000_binding").UV.meanmax.format($~Uv,$~NONE,add_label=False)=$month($data_binding="gw1000_binding").UV.meanmax.format($Uv,$NONE,add_label=False)

****^^^^

——————
to explain,
  • the excerpt lines are in the form ’tag=value’, where in the ’tag’ i have suffixed the $ with ~ to suppress substitution for display purposes. it shows data_type ‘cloudbase', which is in the local database (data_binding “wx_binding”), and data_type ‘UV’, which is in the other weewx database (data_binding “gw1000_binding”)
  • ‘cloudbase’ works for aggregations count,avg,meanmax as expected, even when the explicit $data_binding argument is used
  • ‘UV’ works for count,avg but not meanmax. this proves the data_binding works and that UV is a valid data_type there, as well as showing meanmax does not work. because of this, i have not included extracts from the weewx .conf files showing definitions

following is extract from the log, running ‘wee_reports’ with weewx debug=5. it begins with starting wee_reports and finishes when the report has completed:
——————

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service user.mqtt.MQTTInward

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqtt: <MQTTInward> starting v0.1.3

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqttif: <Gateway localhost:1883 True> request connect

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/aquagauge/obs> request subscribe

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/nutvars/obs> request subscribe

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/ttn/river-level> request subscribe

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/ttn/river-temp> request subscribe

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/ttn/river-temp> request subscribe

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/solaredge/obs> request subscribe

Mar 12 19:33:57 paperbark wee_reports[204990] INFO user.mqtt: <MQTTInward> started

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service user.mqtt.MQTTInward

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service user.vitalstats.VitalStatsSvc

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service user.vitalstats.VitalStatsSvc

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.engine.StdConvert

Mar 12 19:33:57 paperbark wee_reports[204990] INFO weewx.engine: StdConvert target unit is 0x1

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.engine.StdQC

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.wxservices: Calculations for LOOP packets: {'pressure': 'prefer_hardware', 'altimeter': 'prefer_hardware', 'appTemp': 'prefer_hardware', 'barometer': 'prefer_hardware', 'cloudbase': 'prefer_hardware', 'dewpoint': 'prefer_hardware', 'heatindex': 'prefer_hardware', 'humidex': 'prefer_hardware', 'inDewpoint': 'prefer_hardware', 'maxSolarRad': 'prefer_hardware', 'rainRate': 'prefer_hardware', 'windchill': 'prefer_hardware', 'windrun': 'prefer_hardware', 'windDir': 'software', 'windGustDir': 'software'}

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.wxservices: Calculations for archive records: {'pressure': 'prefer_hardware', 'altimeter': 'prefer_hardware', 'appTemp': 'prefer_hardware', 'barometer': 'prefer_hardware', 'cloudbase': 'prefer_hardware', 'dewpoint': 'prefer_hardware', 'ET': 'software', 'heatindex': 'prefer_hardware', 'humidex': 'prefer_hardware', 'inDewpoint': 'prefer_hardware', 'maxSolarRad': 'prefer_hardware', 'rainRate': 'prefer_hardware', 'windchill': 'prefer_hardware', 'windrun': 'prefer_hardware', 'windDir': 'software', 'windGustDir': 'software'}

Mar 12 19:33:57 paperbark wee_reports[204990] INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.manager: Daily summary version is 4.0

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.engine.StdArchive

Mar 12 19:33:57 paperbark wee_reports[204990] INFO weewx.engine: Archive will use data binding wx_binding

Mar 12 19:33:57 paperbark wee_reports[204990] INFO weewx.engine: Record generation will be attempted in 'hardware'

Mar 12 19:33:57 paperbark wee_reports[204990] INFO weewx.engine: Using archive interval of 300 seconds (specified by hardware)

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive

Mar 12 19:33:57 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service user.forecast.OWMForecast

Mar 12 19:33:58 paperbark wee_reports[204990] INFO user.forecast: MainThread: OWM: forecast version 3.4.0b11

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.forecast: MainThread: OWM: last forecast issued 2023-03-09 20:35:19 AEDT (1678354519), requested 2023-03-09 20:35:19 AEDT (1678354519)

Mar 12 19:33:58 paperbark wee_reports[204990] INFO user.forecast: MainThread: OWM: interval=10800 max_age=604800 api_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXX238e location=2172929 fc=5day3hour

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service user.forecast.OWMForecast

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.restx.StdStationRegistry

Mar 12 19:33:58 paperbark wee_reports[204990] INFO weewx.restx: StationRegistry: Registration not requested.

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.restx.StdStationRegistry

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.restx.StdWunderground

Mar 12 19:33:58 paperbark wee_reports[204990] INFO weewx.restx: Wunderground: Posting not enabled.

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.restx.StdWunderground

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.restx.StdWOW

Mar 12 19:33:58 paperbark wee_reports[204990] INFO weewx.restx: WOW: Posting not enabled.

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.restx.StdWOW

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.engine.StdPrint

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service weewx.engine.StdReport

Mar 12 19:33:58 paperbark wee_reports[204990] INFO weewx.engine: 'pyephem' detected, extended almanac data is available

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service weewx.engine.StdReport

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Loading service user.mqtt.MQTTOutward

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqtt: <MQTTOutward> starting v0.1.3

Mar 12 19:33:58 paperbark wee_reports[204990] INFO user.mqtt: <MQTTOutward> started

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.engine: Finished loading service user.mqtt.MQTTOutward

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.manager: Daily summary version is 4.0

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.reportengine: Running reports for time 2023-03-12 11:05:00 AEDT (1678579500)

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.reportengine: Running report 'GEvp2extReport'

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.reportengine: Found configuration file /home/weewx/skins/GE-vp2ext/skin.conf for report 'GEvp2extReport'

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.cheetahgenerator: Using search list ['user.time_since.TimeSince', 'user.since.Since', 'user.forecast.ForecastVariables', 'weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo']

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG weewx.manager: Daily summary version is 4.0

Mar 12 19:33:58 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqttif: <Gateway localhost:1883 True> connected

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/aquagauge/obs> request subscribe

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/nutvars/obs> request subscribe

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/ttn/river-level> request subscribe

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/ttn/river-temp> request subscribe

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqttif: <Subscription ballina/tele/solaredge/obs> request subscribe

Mar 12 19:33:58 paperbark wee_reports[204990] DEBUG user.mqttif: <Publisher ballina/tele/vp2ext/server> record=1

Mar 12 19:33:59 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:34:00 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:34:01 paperbark wee_reports[204990] DEBUG weewx.cheetahgenerator: Unrecognized: $day($data_binding="gw1000_binding").wind.rms

Mar 12 19:34:01 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:34:10 paperbark wee_reports: message repeated 5 times: [ since: Since SLE executed in 0.000 seconds]

Mar 12 19:34:11 paperbark wee_reports: since: Since Start 1678572000.0, Since stop 1678579500

Mar 12 19:34:11 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:34:11 paperbark wee_reports: since: Since Start 1678572000.0, Since stop 1678579500

Mar 12 19:34:11 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:34:11 paperbark wee_reports: since: Since Start 1678572000.0, Since stop 1678579500

Mar 12 19:34:11 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:34:11 paperbark wee_reports: since: Since SLE executed in 0.000 seconds

Mar 12 19:34:11 paperbark wee_reports[204990] INFO weewx.cheetahgenerator: Generated 13 files for report GEvp2extReport in 13.10 seconds

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG weewx.manager: Daily summary version is 4.0

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IHDR' 16 13

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IDAT' 41 1216

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IHDR' 16 13

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IDAT' 41 1216

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IHDR' 16 13

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IDAT' 41 1216

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IHDR' 16 13

Mar 12 19:34:11 paperbark wee_reports[204990] DEBUG PIL.PngImagePlugin: STREAM b'IDAT' 41 1216

Mar 12 19:34:11 paperbark wee_reports[204990] INFO weewx.imagegenerator: Generated 5 images for report GEvp2extReport in 0.14 seconds

Mar 12 19:34:11 paperbark wee_reports[204990] INFO weewx.reportengine: Copied 96 files to /home/weewx/public_html

——————
observations:
  • ignore the ‘wind.rms not recognised’ error reported - something else i would like to get working
  • no errors reported about UV in the other weewx database

i have done a ‘wee_database —drop-daily’ and ‘wee_database —rebuild_daily’ on the other weex database with no change

should this (meanmax) work on a data_type in other weewx database? how can i make it work?
cheers
⊣GE⊢

Graham Eddy

nelasīta,
2023. gada 12. marts 07:42:2112.03.23
uz WeeWX User
reading weewx/manager.py and weewx/xtypes.py, i think i see why it is not working. the log shows the following string exactly once:
DEBUG weewx.manager: Daily summary version is 4.0
which means exactly one DaySummaryManager instance is created (for wx_binding), meaning none for the other database (gw1000_binding), so when xtypes evaluates the external data_type’s meanmax aggregation it has no daily summary tables and silently gives up on it → nobody claims the evaluation so the original tag text is not substituted with a value

is there any reason a $data_binding is not allocated a DaySummaryManager instance for its database?
⊣GE⊢

--
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+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/22A01660-CD40-4D4F-A7EA-D567B1B0753C%40geddy.au.

Tom Keffer

nelasīta,
2023. gada 12. marts 08:26:1112.03.23
uz weewx...@googlegroups.com
Good sleuthing.

You have to explicitly tell the database manager to use a daily summary when creating the binding. For example,

    [[gw1000_binding]]
        database = archive_sqlite
        table_name = archive
        # The database manager to use:
        manager = weewx.manager.DaySummaryManager
        schema = schemas.wview_extended.schema

If you didn't do this, you would end up with a simple Manager.

-tk

Graham Eddy

nelasīta,
2023. gada 12. marts 20:35:1912.03.23
uz WeeWX User
aha! so obvious (when my nose is rubbed in it), i was indeed using the weewx.manager.Manager class and getting exactly what i asked for (as opposed to what i wanted). aggregations using daily summary tables work beautifully using weewx.manager.DaySummaryManager. thanks tk.
⊣GE⊢

Atbildēt visiem
Atbildēt autoram
Pārsūtīt
0 jauni ziņojumi