Wind Rose empty in Steel Series

700 views
Skip to first unread message

Jesus C.

unread,
Jun 20, 2016, 8:28:04 AM6/20/16
to weewx-user
Hi,

Installed the steel series gauges (2.5.13) and works well, but the wind rose was not shown. Following this thread Wind rose does not show in Steel Series fixed it: Now is showed, with data in odometer and popup, but inside of gauge don't show colored patterns.

Further investigation noted that value "WindRoseData" of gauge-data.txt is empty. Seems weewx is not feeding data into the variable.

Thanks in advance for helping.

gjr80

unread,
Jun 20, 2016, 8:41:04 AM6/20/16
to weewx-user
Hi,

You seem to have found the answer to your own question so I am not sure what you are asking. As I said in the thread you linked, the weewx gauge-data.txt template does not have the ability to provide windrose data for display on the SteelSeries gauges. That is why you found no windrose data in your gauge-data.txt file. The odometer, as you put it, does display a value as that is the windrun value and the gauge-data.txt template does include windrun. Your only options are to (1) hide the gauge (2) accept what you have now (ie you only have windrun and mouseover display) for that gauge or (3) develop a bigger and better gauge-data.txt template that includes windrose data.

Gary

mwall

unread,
Jun 20, 2016, 10:48:00 AM6/20/16
to weewx-user

you are correct - there is nothing in the gauge-data.txt.tmpl that makes weewx populate the array that feeds the wind rose.

as gary noted, you could modify gauge-data.txt to make this happen.

you'll want something like this:

## emit the last 16 hourly wind directions for use in wind rose, oldest to newest
#set $rose_data = []
#for $hour in $day.hours
$rose_data.append($hour.wind.vecdir)
#end for

then something like this in the actual data output:

"WindRoseData": $rose_data,

i'm not sure how cheetah handles default formatting of an array, so you might have to tweak the output a bit, but hopefully you get the idea...

before you make changes, you might want to pull the latest from mark's repository:

https://github.com/mcrossley/SteelSeries-Weather-Gauges

m

Jesus C.

unread,
Jun 20, 2016, 4:26:44 PM6/20/16
to weewx-user
Thanks a lot . I'll take a look at the code and see what I can do.

KSKENYON

unread,
Jun 3, 2020, 10:52:23 PM6/3/20
to weewx-user

I made the suggested changes with a few small corrections but I got this error.


I don't know enough about how cheetahgenerator works to fix this problem.  I have everything up to date.  I'm using a Weatherflow Tempest for the data.  Is this a naming problem?


Any help?



Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'

Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/ss/gauge-data.txt.tmpl

Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'vecdir' while searching for 'hour.wind.vecdir'

Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last):

Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate

Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond()

Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: ****    File "_etc_weewx_skins_ss_gauge_data_txt_tmpl.py", line 325, in respond

Jun 03 22:40:26 pi3 python3[17442]: weewx[17442] ERROR weewx.cheetahgenerator: ****  NameMapper.NotFound: cannot find 'vecdir' while searching for 'hour.wind.vecdir'


On Monday, June 20, 2016 at 10:48:00 AM UTC-4, mwall wrote:


On Monday, June 20, 2016 at 8:28:04 AM UTC-4, Jesus C. wrote:
Hi,

Installed the steel series gauges (2.5.13) and works well, but the wind rose was not shown. Following this thread Wind rose does not show in Steel Series fixed it: Now is showed, with data in odometer and popup, but inside of gauge don't show colored patterns.

Further investigation noted that value "WindRoseData" of gauge-data.txt is empty. Seems weewx is not feeding data into the variable.

you are correct - there is nothing in the gauge-data.txt.tmpl that makes weewx populate the array that feeds the wind rose.

as gary noted, you could modify gauge-data.txt to make this happen.

you'll want something like this:

## emit the last 16 hourly wind directions for use in wind rose, oldest to newest
#set $rose_data = []
#for $hour in $day.hours
#$rose_data.append($hour.wind.vecdir)

#end for

then something like this in the actual data output:

"WindRoseData": "$rose_data",

Jacques Terrettaz

unread,
Jun 4, 2020, 2:35:58 AM6/4/20
to weewx-user
Interestingly, I had the same kind of errors yesterday concerning wind tags such as day.wind.count.rawmonth.wind.count.rawday.wind.max.   
This happened after I deleted all daily mysql tables and let weewx rebuild them at startup.
I am using weewx V4.1.1
Finally, I restored a full backup of the weewx database, and the error disapeared.

Jun  3 08:40:19 meteopi weewx[18757] INFO user.sunduration: Calculated sunshine_time = 5.000000, based on radiation = 343.000000 and threshold = 266.400000
Jun  3 08:40:19 meteopi weewx[18757] INFO weewx.manager: Added record 2020-06-03 08:40:00 CEST (1591166400) to database 'weewx'
Jun  3 08:40:20 meteopi weewx[18757] INFO weewx.manager: Added record 2020-06-03 08:40:00 CEST (1591166400) to daily summary in 'weewx'
Jun  3 08:40:20 meteopi weewx[18757] INFO weewx.restx: Newdata: Published record 2020-06-03 08:40:00 CEST (1591166400)
Jun  3 08:40:20 meteopi weewx[18757] INFO weewx.restx: Emetsys: Published record 2020-06-03 08:40:00 CEST (1591166400)
Jun  3 08:40:20 meteopi weewx[18757] INFO weewx.restx: Romma: Published record 2020-06-03 08:40:00 CEST (1591166400)
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Seasons/NOAA/NOAA-%Y-%m.txt.tmpl
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'count' while searching for 'day.wind.count.raw'
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last):
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond()
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "_etc_weewx_skins_Seasons_NOAA_NOAA__Y__m_txt_tmpl.py", line 431, in respond
Jun  3 08:40:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  NameMapper.NotFound: cannot find 'count' while searching for 'day.wind.count.raw'
Jun  3 08:40:21 meteopi weewx[18757] INFO weewx.restx: Windy: Published record 2020-06-03 08:40:00 CEST (1591166400)
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Seasons/NOAA/NOAA-%Y.txt.tmpl
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'count' while searching for 'month.wind.count.raw'
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last):
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond()
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "_etc_weewx_skins_Seasons_NOAA_NOAA__Y_txt_tmpl.py", line 862, in respond
Jun  3 08:40:22 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  NameMapper.NotFound: cannot find 'count' while searching for 'month.wind.count.raw'
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Seasons/rss.xml.tmpl
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'max' while searching for 'day.wind.max'
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last):
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond()
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "_etc_weewx_skins_Seasons_rss_xml_tmpl.py", line 268, in respond
Jun  3 08:40:26 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  NameMapper.NotFound: cannot find 'max' while searching for 'day.wind.max'
Jun  3 08:40:26 meteopi weewx[18757] INFO weewx.cheetahgenerator: Generated 5 files for report SeasonsReport in 6.28 seconds
Jun  3 08:41:21 meteopi weewx[18757] INFO weewx.imagegenerator: Generated 73 images for report SeasonsReport in 54.26 seconds
Jun  3 08:41:21 meteopi weewx[18757] INFO weewx.reportengine: Copied 5 files to /var/www/html/weewx
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/tagssciez/weewxtags.txt.tmpl
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'gustdir' while searching for 'day.wind.gustdir'
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last):
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond()
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "_etc_weewx_skins_tagssciez_weewxtags_txt_tmpl.py", line 247, in respond
Jun  3 08:41:21 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  NameMapper.NotFound: cannot find 'gustdir' while searching for 'day.wind.gustdir'
Jun  3 08:41:21 meteopi weewx[18757] INFO weewx.cheetahgenerator: Generated 0 files for report tagssciez in 0.51 seconds
Jun  3 08:41:21 meteopi weewx[18757] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx/tagssciez
Jun  3 08:41:32 meteopi weewx[18757] INFO user.imageStackedWindRose: imageStackedWindRose: Generated 4 images for StackedWindRose in 10.42 seconds
Jun  3 08:41:33 meteopi weewx[18757] INFO weewx.cheetahgenerator: Generated 1 files for report xstats in 0.82 seconds
Jun  3 08:41:33 meteopi weewx[18757] INFO user.belchertown: version 1.1
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Belchertown/json/weewx_data.json.tmpl
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'max' while searching for 'day.wind.max'
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last):
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in generate
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond()
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****    File "_etc_weewx_skins_Belchertown_json_weewx_data_json_tmpl.py", line 485, in respond
Jun  3 08:41:38 meteopi weewx[18757] ERROR weewx.cheetahgenerator: ****  NameMapper.NotFound: cannot find 'max' while searching for 'day.wind.max'
Jun  3 08:41:46 meteopi weewx[18757] INFO weewx.cheetahgenerator: Generated 10 files for report Belchertown in 12.51 seconds
Jun  3 08:41:46 meteopi weewx[18757] INFO weewx.reportengine: Copied 31 files to /var/www/html/weewx/belchertown
Jun  3 08:42:00 meteopi weewx[18757] INFO paramiko.transport: Connected (version 2.0, client OpenSSH_7.4)
Jun  3 08:42:01 meteopi weewx[18757] INFO paramiko.transport: Authentication (password) successful!
Jun  3 08:42:01 meteopi weewx[18757] INFO paramiko.transport.sftp: [chan 0] Opened sftp connection (server version 3)
Jun  3 08:42:42 meteopi weewx[18757] INFO paramiko.transport.sftp: [chan 0] sftp session closed.



Tom Keffer

unread,
Jun 4, 2020, 10:39:22 AM6/4/20
to weewx-user
My guess is that your system has a mix of old and new ways of specifying a database schema.

The old way:

[DataBindings]
    [[wx_binding]]
        ...
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.WXDaySummaryManager
        schema = schemas.wview.schema

The new way:

[DataBindings]
    [[wx_binding]]
        ...
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager
        schema = schemas.wview_extended.schema

I am guessing that you have:

[DataBindings]
    [[wx_binding]]        ...
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager
        schema = schemas.wview.schema


Go with one or the other, but don't mix.

Or, I could be completely off on this!

-tk


--
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/414ee244-cafc-402a-a7db-5d905718cb7b%40googlegroups.com.

Jacques Terrettaz

unread,
Jun 4, 2020, 10:56:27 AM6/4/20
to weewx...@googlegroups.com
Yes, it was mixed  : DaySummaryManager with the old database schema.

I reconfigured with manager = weewx.wxmanager.WXDaySummaryManager

Thanks

Jacques

Tom Keffer

unread,
Jun 4, 2020, 10:59:43 AM6/4/20
to weewx-user
Let us know if that works.

--
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.

Jacques Terrettaz

unread,
Jun 4, 2020, 11:48:11 AM6/4/20
to weewx...@googlegroups.com
Yes, it works.
I did the same as yesterday : drop the daily tables, and rebuild them, and no error with the wind tags.

You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/IaVkYGOz8IY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/CAPq0zEAooz2znct0YRVqgqJqiHvMWtFnh538Or_PAd0DWp0haQ%40mail.gmail.com.

Jacques Terrettaz

unread,
Jun 4, 2020, 2:01:41 PM6/4/20
to weewx-user
Tom,  

One comment about the old and new database schema :  I didn't change anything by myself in the [DataBinding] section of weewx.conf after  the upgrade to V4.0, so I suspect that the  manager = weewx.manager.DaySummaryManager  line  was automatically modified during the upgrade process.
Is it right ?
To unsubscribe from this group and stop receiving emails from it, send an email to weewx...@googlegroups.com.

Jacques Terrettaz

unread,
Jun 4, 2020, 2:20:09 PM6/4/20
to weewx...@googlegroups.com
Forget my last message :  I used a new Raspberry PI to install weewx V4, and then I transferred my "old" mysql database  to the new installation...

Tom Keffer

unread,
Jun 4, 2020, 6:01:51 PM6/4/20
to weewx-user
That's probably what happened.

You're not the first to get tripped up by this. Obviously, I need to rethink how to manage the transition to the new way of specifying schemas.

--
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/ACB63400-3370-43DF-A186-A96D3BC23AA3%40gmail.com.

fpb

unread,
Dec 16, 2020, 12:58:36 AM12/16/20
to weewx-user
@Tom, 

I'm having a similar issue but I'm trying to figure out what the correct schema (assuming that is the issue)  but I can't find a combination. 

This is what I have;

[DataBindings]
    
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_sqlite
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager
# The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview_extended.schema
    [[forecast_binding]]
        database = forecast_sqlite

and below my log errors;

ec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'

Dec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Seasons/NOAA/NOAA-%Y-%m.txt.tmpl

Dec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'raw' while searching for 'day.wind.count.raw'

Dec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last):

Dec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 323, in generate

Dec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond()

Dec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: ****    File "_etc_weewx_skins_Seasons_NOAA_NOAA__Y__m_txt_tmpl.py", line 430, in respond

Dec 16 00:55:18 weewx-vm weewx[11753] ERROR weewx.cheetahgenerator: ****  NotFound: cannot find 'raw' while searching for 'day.wind.count.raw'

Any help will be appreciate. 

Tom Keffer

unread,
Dec 16, 2020, 8:26:19 AM12/16/20
to weewx-user
You have the correct configuration, but remember, it only applies when the database is created. Thereafter, the schema is read from the database. 

You can try rebuilding the daily summaries using wee_database:

sudo wee_database --drop-daily
sudo wee_database --rebuild-daily

The rebuild will use the configuration in weewx.conf.

-tk

Jan-Jaap van der Geer

unread,
Jul 8, 2021, 5:29:26 PM7/8/21
to weewx-user
I have the exact same errors as fpb:

Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: **** Ignoring template /share/homes/admin/weewxwf/skins/Seasons/NOAA/NOAA-%Y-%m.txt.tmpl
Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'raw' while searching for 'day.wind.count.raw'
Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last): 
Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: ****    File "/share/CACHEDEV1_DATA/homes/admin/weewxwf/bin/weewx/cheetahgenerator.py", line 326, in generate 
Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond() 
Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: ****    File "_share_homes_admin_weewxwf_skins_Seasons_NOAA_NOAA__Y__m_txt_tmpl.py", line 430, in respond 
Jul  8 23:20:16 qnap user.err weewx[2950] ERROR weewx.cheetahgenerator: ****  NotFound: cannot find 'raw' while searching for 'day.wind.count.raw' 

I don't really understand what this 'new schema' and 'old schema' is, but I tried:

wee_database --drop-daily
wee_database --rebuild-daily

both without changing the binding in weewx.conf and after changing it. Right now I have 

    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_mysql
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview_extended.schema

but using:

        manager = weewx.wxmanager.WXDaySummaryManager

and rebuilding still caused the errors.

What should I do to fix this?

Thanks,
Jan-Jaap

Tom Keffer

unread,
Jul 8, 2021, 9:57:22 PM7/8/21
to weewx-user
How about the log from when you tried dropping and rebuilding the database?

Jan-Jaap van der Geer

unread,
Jul 9, 2021, 2:38:25 AM7/9/21
to weewx-user
The log doesn't seem to tell anything special:

[/share/homes/admin/weewxwftest] # cat /var/log/messages | grep wee_database
Jul  9 08:23:30 qnap user.info wee_database[20528] INFO weewx.manager: Dropping daily summary tables from 'weewxwftest' ...
Jul  9 08:23:30 qnap user.info wee_database[20528] INFO weewx.manager: Dropped daily summary tables from database 'weewxwftest'
Jul  9 08:23:49 qnap user.info wee_database[21058] INFO __main__: All daily summaries will be rebuilt.
Jul  9 08:23:56 qnap user.info wee_database[21058] INFO weewx.manager: Created daily summary tables
Jul  9 08:23:56 qnap user.info wee_database[21058] INFO __main__: Rebuilding daily summaries in database 'weewxwftest' ...
Jul  9 08:23:56 qnap user.info wee_database[21058] INFO weewx.manager: Starting backfill of daily summaries
Jul  9 08:32:32 qnap user.info wee_database[21058] INFO weewx.manager: Processed 132119 records to backfill 208 day summaries in 515.43 seconds
Jul  9 08:32:32 qnap user.info wee_database[21058] INFO __main__: Rebuild of daily summaries in database 'weewxwftest' complete

(I had to run it again as the log from yesterday had already been purged but I suppose the result is the same. I did watch the log and didn't notice anything interesting at the time)

Thanks,
Jan-Jaap

Tom Keffer

unread,
Jul 9, 2021, 8:36:07 AM7/9/21
to weewx-user
Three things:

1. Let's see what's actually in your database.

show tables in weewxwftest;

2. Can we see the output of 

wee_debug --info

Double check that the utility obfuscated any passwords you might have in weewx.conf.

3. Just to double check: you only have one weewx.conf file, right? 



Tom Keffer

unread,
Jul 11, 2021, 8:06:33 PM7/11/21
to weewx-user
Anything new on this?
--
-tk

Jan-Jaap van der Geer

unread,
Jul 12, 2021, 3:25:02 PM7/12/21
to weewx-user
Yes, sorry, I was away for the weekend so didn't get a chance to answer.

Let's answer the last question first: For the intents of this discussion I suppose the answer is that I have only one weewx.conf. But I have several weewx installations running with each their database and each their own weewx.conf. Apart from the fact that the skin uses some data from one of the other databases (so there's a binding for that) there should be no interaction between them. So I'd say there's only one weewx.conf file.

The output of show tables:

+---------------------------------------+
| Tables_in_weewxwftest                 |
+---------------------------------------+
| archive                               |
| archive_day_ET                        |
| archive_day_UV                        |
| archive_day__metadata                 |
| archive_day_altimeter                 |
| archive_day_appTemp                   |
| archive_day_appTemp1                  |
| archive_day_barometer                 |
| archive_day_batteryStatus1            |
| archive_day_batteryStatus2            |
| archive_day_batteryStatus3            |
| archive_day_batteryStatus4            |
| archive_day_batteryStatus5            |
| archive_day_batteryStatus6            |
| archive_day_batteryStatus7            |
| archive_day_batteryStatus8            |
| archive_day_cloudbase                 |
| archive_day_co                        |
| archive_day_co2                       |
| archive_day_consBatteryVoltage        |
| archive_day_dewpoint                  |
| archive_day_dewpoint1                 |
| archive_day_extraHumid1               |
| archive_day_extraHumid2               |
| archive_day_extraHumid3               |
| archive_day_extraHumid4               |
| archive_day_extraHumid5               |
| archive_day_extraHumid6               |
| archive_day_extraHumid7               |
| archive_day_extraHumid8               |
| archive_day_extraTemp1                |
| archive_day_extraTemp2                |
| archive_day_extraTemp3                |
| archive_day_extraTemp4                |
| archive_day_extraTemp5                |
| archive_day_extraTemp6                |
| archive_day_extraTemp7                |
| archive_day_extraTemp8                |
| archive_day_forecast                  |
| archive_day_hail                      |
| archive_day_hailBatteryStatus         |
| archive_day_hailRate                  |
| archive_day_heatindex                 |
| archive_day_heatindex1                |
| archive_day_heatingTemp               |
| archive_day_heatingVoltage            |
| archive_day_humidex                   |
| archive_day_humidex1                  |
| archive_day_inDewpoint                |
| archive_day_inHumidity                |
| archive_day_inTemp                    |
| archive_day_inTempBatteryStatus       |
| archive_day_leafTemp1                 |
| archive_day_leafTemp2                 |
| archive_day_leafWet1                  |
| archive_day_leafWet2                  |
| archive_day_lightning_distance        |
| archive_day_lightning_disturber_count |
| archive_day_lightning_energy          |
| archive_day_lightning_noise_count     |
| archive_day_lightning_strike_count    |
| archive_day_luminosity                |
| archive_day_maxSolarRad               |
| archive_day_nh3                       |
| archive_day_no2                       |
| archive_day_noise                     |
| archive_day_o3                        |
| archive_day_outHumidity               |
| archive_day_outTemp                   |
| archive_day_outTempBatteryStatus      |
| archive_day_pb                        |
| archive_day_pm10_0                    |
| archive_day_pm1_0                     |
| archive_day_pm2_5                     |
| archive_day_pressure                  |
| archive_day_radiation                 |
| archive_day_rain                      |
| archive_day_rainBatteryStatus         |
| archive_day_rainRate                  |
| archive_day_referenceVoltage          |
| archive_day_rxCheckPercent            |
| archive_day_signal1                   |
| archive_day_signal2                   |
| archive_day_signal3                   |
| archive_day_signal4                   |
| archive_day_signal5                   |
| archive_day_signal6                   |
| archive_day_signal7                   |
| archive_day_signal8                   |
| archive_day_snow                      |
| archive_day_snowBatteryStatus         |
| archive_day_snowDepth                 |
| archive_day_snowMoisture              |
| archive_day_snowRate                  |
| archive_day_so2                       |
| archive_day_soilMoist1                |
| archive_day_soilMoist2                |
| archive_day_soilMoist3                |
| archive_day_soilMoist4                |
| archive_day_soilTemp1                 |
| archive_day_soilTemp2                 |
| archive_day_soilTemp3                 |
| archive_day_soilTemp4                 |
| archive_day_supplyVoltage             |
| archive_day_txBatteryStatus           |
| archive_day_uvBatteryStatus           |
| archive_day_wind                      |
| archive_day_windBatteryStatus         |
| archive_day_windDir                   |
| archive_day_windGust                  |
| archive_day_windGustDir               |
| archive_day_windSpeed                 |
| archive_day_windchill                 |
| archive_day_windrun                   |
+---------------------------------------+
114 rows in set (0.00 sec)

The output of wee_debug --info :

Using verbosity=1, displaying most info

wee_debug output will be sent to stdout(console)

Using configuration file /share/CACHEDEV1_DATA/homes/admin/weewxwftest/weewx.conf
Using database binding 'wx_binding', which is bound to database 'archive_mysql'

System info
  Platform:       Linux-4.2.8-armv7l-with-glibc2.4
  Python Version: 2.7.15

Load Information
  1 minute load average:  2.45
  5 minute load average:  2.68
  15 minute load average: 2.72

General Weewx info
  Weewx version 4.5.1 detected.

Station info
  Station type: WeatherFlowUDP
  Driver:       user.weatherflowudp

Driver info
[WeatherFlowUDP]
    driver = user.weatherflowudp
    token = 911669e1-f7d1-40bb-a0a8-1cda80232104
    share_socket = True

Currently installed extensions
Extension Name    Version   Description
weatherflowudp    1.13      Capture data from WeatherFlow Bridge via UDP broadcast packets

Archive info
  Database name:        weewxwftest
  Table name:           archive
  Version               4.0
  Unit system:          1 (US)
  First good timestamp: 1970-01-01 01:05:00 CET (300)
  Last good timestamp:  2021-07-12 21:15:00 CEST (1626117300)
  Number of records:    133250
  weewx (weewx.conf) is set to use an archive interval of 300 seconds.
  The station hardware was not interrogated in determining archive interval.

Databases configured in weewx.conf
  Database name:        weewx.sdb
  Database driver:      weedb.sqlite

  Database name:        weewxwftest
  Database driver:      weedb.mysql
  Database host:        127.0.0.1

  Database name:        weewxbt
  Database driver:      weedb.mysql
  Database host:        127.0.0.1


Parsed and obfuscated weewx.conf
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2020 Tom Keffer <tke...@gmail.com>
# See the file LICENSE.txt for your rights.

##############################################################################

# This section is for general configuration information.

# Set to 1 for extra debug info, otherwise comment it out or set to zero
debug = 0

# Root directory of the weewx data file hierarchy for this station
WEEWX_ROOT = /share/homes/admin/weewxwftest

# Whether to log successful operations
log_success = True

# Whether to log unsuccessful operations
log_failure = True

# How long to wait before timing out a socket (FTP, HTTP) connection
socket_timeout = 20

# Do not modify this. It is used when installing and updating weewx.
version = 4.5.1

##############################################################################

#   This section is for information about the station.

[Station]
    
    # Description of the station location
    location = Sørengkaia Teststasjon
    
    # Latitude in decimal degrees. Negative for southern hemisphere
    latitude = 59.90204
    # Longitude in decimal degrees. Negative for western hemisphere.
    longitude = 10.75262
    
    # Altitude of the station, with unit it is in. This is downloaded from
    # from the station if the hardware supports it.
    altitude = 30, meter    # Choose 'foot' or 'meter' for unit
    
    # Set to type of station hardware. There must be a corresponding stanza
    # in this file with a 'driver' parameter indicating the driver to be used.
    station_type = WeatherFlowUDP
    
    # If you have a website, you may specify an URL
    #station_url = http://www.example.com
    
    # The start of the rain year (1=January; 10=October, etc.). This is
    # downloaded from the station if the hardware supports it.
    rain_year_start = 1
    
    # Start of week (0=Monday, 6=Sunday)
    week_start = 6

##############################################################################

[WeatherFlowUDP]
    driver = user.weatherflowudp
    token = XXX obfuscated by wee_debug XXX
    share_socket = True


[Simulator]
    # This section is for the weewx weather station simulator
    
    # The time (in seconds) between LOOP packets.
    loop_interval = 2.5
    
    # The simulator mode can be either 'simulator' or 'generator'.
    # Real-time simulator. Sleep between each LOOP packet.
    mode = simulator
    # Generator.  Emit LOOP packets as fast as possible (useful for testing).
    #mode = generator
    
    # The start time. Format is YYYY-mm-ddTHH:MM. If not specified, the default 
    # is to use the present time.
    #start = 2011-01-01T00:00
    
    # The driver to use:
    driver = weewx.drivers.simulator

##############################################################################

#   This section is for uploading data to Internet sites

[StdRESTful]
    
    [[StationRegistry]]
        # To register this weather station with weewx, set this to true
        register_this_station = false
    
    [[AWEKAS]]
        # This section is for configuring posts to AWEKAS.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a username and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        username = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
    
    [[CWOP]]
        # This section is for configuring posts to CWOP.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify the station ID (e.g., CW1234).
        enable = false
        station = XXX obfuscated by wee_debug XXX
    
    # If this is an APRS (radio amateur) station, uncomment
    # the following and replace with a passcode (e.g., 12345).
    #passcode = replace_me (APRS stations only)
    
    [[PWSweather]]
        # This section is for configuring posts to PWSweather.com.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a station and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
    
    [[WOW]]
        # This section is for configuring posts to WOW.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a station and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
    
    [[Wunderground]]
        # This section is for configuring posts to the Weather Underground.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a station (e.g., 'KORHOODR3') and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
        
        # If you plan on using wunderfixer, set the following
        # to your API key:
        api_key = XXX obfuscated by wee_debug XXX
        
        # Set the following to True to have weewx use the WU "Rapidfire"
        # protocol. Not all hardware can support it. See the User's Guide.
        rapidfire = False

##############################################################################

#   This section specifies what reports, using which skins, to generate.

[StdReport]
    
    # Where the skins reside, relative to WEEWX_ROOT
    SKIN_ROOT = skins
    
    # Where the generated reports should go, relative to WEEWX_ROOT
    HTML_ROOT = public_html
    
    # The database binding indicates which data should be used in reports.
    data_binding = wx_binding
    
    # Whether to log a successful operation
    log_success = True
    
    # Whether to log an unsuccessful operation
    log_failure = True
    
    # Each of the following subsections defines a report that will be run.
    # See the customizing guide to change the units, plot types and line
    # colors, modify the fonts, display additional sensor data, and other
    # customizations. Many of those changes can be made here by overriding
    # parameters, or by modifying templates within the skin itself.
    
    [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = true
    
    [[SmartphoneReport]]
        # The SmartphoneReport uses the 'Smartphone' skin, and the images and
        # files are placed in a dedicated subdirectory.
        skin = Smartphone
        enable = true
        HTML_ROOT = public_html/smartphone
    
    [[MobileReport]]
        # The MobileReport uses the 'Mobile' skin, and the images and files
        # are placed in a dedicated subdirectory.
        skin = Mobile
        enable = true
        HTML_ROOT = public_html/mobile
    
    [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = false
    
    [[FTP]]
        # FTP'ing the results to a webserver is treated as just another report,
        # albeit one with an unusual report generator!
        skin = Ftp
        
        # If you wish to use FTP, set "enable" to "true", then
        # fill out the next four lines.
        # Use quotes around passwords to guard against parsing errors.
        enable = false
        user = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
        server = replace_me    # The ftp server name, e.g, www.myserver.org
        path = replace_me    # The destination directory, e.g., /weather
        
        # Set to True for an FTP over TLS (FTPS) connection. Not all servers
        # support this.
        secure_ftp = False
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = public_html
        
        # Most FTP servers use port 21
        port = 21
        
        # Set to 1 to use passive mode, zero for active mode
        passive = 1
    
    [[RSYNC]]
        # rsync'ing to a webserver is treated as just another report
        skin = Rsync
        
        # If you wish to use rsync, you must configure passwordless ssh using
        # public/private key authentication from the user account that weewx
        # runs to the user account on the remote machine where the files
        # will be copied.
        #
        # If you wish to use rsync, set "enable" to "true", then
        # fill out server, user, and path.
        # The server should appear in your .ssh/config file.
        # The user is the username used in the identity file.
        # The path is the destination directory, such as /var/www/html/weather.
        # Be sure that the user has write permissions on the destination!
        enable = false
        server = replace_me
        user = XXX obfuscated by wee_debug XXX
        path = replace_me
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = public_html
        
        # Rsync can be configured to remove files from the remote server if
        # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
        # make a mistake in the remote path, you could could unintentionally
        # cause unrelated files to be deleted. Set to 1 to enable remote file
        # deletion, zero to allow files to accumulate remotely.
        delete = 0
    
    ####
    
    # Various options for customizing your reports.
    
    [[Defaults]]
        
        [[[Units]]]
            
            # The following section sets what unit to use for each unit group.
            # NB: The unit is always in the singular. I.e., 'mile_per_hour',
            # NOT 'miles_per_hour'
            [[[[Groups]]]]
                
                group_altitude = meter    # Options are 'foot' or 'meter'
                group_degree_day = degree_C_day    # Options are 'degree_F_day' or 'degree_C_day'
                group_distance = km    # Options are 'mile' or 'km'
                group_pressure = mbar    # Options are 'inHg', 'mmHg', 'mbar', 'hPa', or 'kPa'
                group_rain = mm    # Options are 'inch', 'cm', or 'mm'
                group_rainrate = mm_per_hour    # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
                group_speed = meter_per_second    # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
                group_speed2 = meter_per_second2    # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
                group_temperature = degree_C    # Options are 'degree_F' or 'degree_C'
            
            # The following section sets the formatting for each type of unit.
            [[[[StringFormats]]]]
                
                centibar = %.0f
                cm = %.2f
                cm_per_hour = %.2f
                degree_C = %.1f
                degree_F = %.1f
                degree_compass = %.0f
                foot = %.0f
                hPa = %.1f
                hour = %.1f
                inHg = %.3f
                inch = %.2f
                inch_per_hour = %.2f
                km = %.1f
                km_per_hour = %.0f
                km_per_hour2 = %.1f
                knot = %.0f
                knot2 = %.1f
                kPa = %.2f
                mbar = %.1f
                meter = %.0f
                meter_per_second = %.1f
                meter_per_second2 = %.1f
                mile = %.1f
                mile_per_hour = %.0f
                mile_per_hour2 = %.1f
                mm = %.1f
                mmHg = %.1f
                mm_per_hour = %.1f
                percent = %.0f
                second = %.0f
                uv_index = %.1f
                volt = %.2f
                watt_per_meter_squared = %.0f
                NONE = "   N/A"
            
            # The following section overrides the label used for each type of unit
            [[[[Labels]]]]
                
                meter = " meter", " meters"    # You may prefer "metre".
                day = " day", " days"
                hour = " hour", " hours"
                minute = " minute", " minutes"
                second = " second", " seconds"
                NONE = ""
            
            # The following section sets the format for each time scale.
            # The values below will work in every locale, but they may not look
            # particularly attractive.
            [[[[TimeFormats]]]]
                
                hour = %H:%M
                day = %H:%M
                week = %H:%M (%A)
                month = %d.%m.%Y %H:%M
                year = %d.%m.%Y %H:%M
                rainyear = %d.%m.%Y %H:%M
                current = %d.%m.%Y %H:%M
                ephem_day = %H:%M
                ephem_year = %d.%m.%Y %H:%M
            #day = %X
            #week = %X (%A)
            #month = %x %X
            #year = %x %X
            #rainyear = %x %X
            #current = %x %X
            #ephem_day = %X
            #ephem_year = %x %X
            
            [[[[Ordinates]]]]
                
                # Ordinal directions. The last one is for no wind direction
                directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A
            
            # The following section sets the base temperatures used for the
            #  calculation of heating, cooling, and growing degree-days.
            [[[[DegreeDays]]]]
                
                # Base temperature for heating days, with unit:
                heating_base = 65, degree_F
                # Base temperature for cooling days, with unit:
                cooling_base = 65, degree_F
                # Base temperature for growing days, with unit:
                growing_base = 50, degree_F
            
            # A trend takes a difference across a time period. The following
            # section sets the time period, and how big an error is allowed to
            # still be counted as the start or end of a period.
            [[[[Trend]]]]
                
                time_delta = 10800    # 3 hours
                time_grace = 300    # 5 minutes
        
        # The labels to be used for each observation type
        [[[Labels]]]
            
            # Set to hemisphere abbreviations suitable for your location:
            hemispheres = N, S, E, W
            
            # Formats to be used for latitude whole degrees, longitude whole
            # degrees, and minutes:
            latlon_formats = %02d, %03d, %05.2f
            
            # Generic labels, keyed by an observation type.
            [[[[Generic]]]]
                barometer = Barometer
                dewpoint = Dew Point
                ET = ET
                heatindex = Heat Index
                inHumidity = Inside Humidity
                inTemp = Inside Temperature
                luminosity = Luminosity
                outHumidity = Humidity
                outTemp = Outside Temperature
                radiation = Radiation
                rain = Rain
                rainRate = Rain Rate
                UV = UV Index
                windDir = Wind Direction
                windGust = Gust Speed
                windGustDir = Gust Direction
                windSpeed = Wind Speed
                windchill = Wind Chill
                windgustvec = Gust Vector
                windvec = Wind Vector
                extraTemp1 = Temperature1
                extraTemp2 = Temperature2
                extraTemp3 = Temperature3
                seaTemp = Sea Temperature
                
                # Sensor status indicators
                
                rxCheckPercent = Signal Quality
                txBatteryStatus = Transmitter Battery
                windBatteryStatus = Wind Battery
                rainBatteryStatus = Rain Battery
                outTempBatteryStatus = Tempest Battery
                inTempBatteryStatus = Inside Temperature Battery
                consBatteryVoltage = Console Battery
                heatingVoltage = Heating Battery
                supplyVoltage = Supply Voltage
                referenceVoltage = Reference Voltage
                signal1 = Tempest to Hub
                signal2 = Hub to Tempest
                signal3 = Hub WiFi
        
        [[[Almanac]]]
            
            # The labels to be used for the phases of the moon:
            moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent

##############################################################################

#   This service acts as a filter, converting the unit system coming from
#   the hardware to a unit system in the database.

[StdConvert]
    
    # The target_unit affects only the unit system in the database. Once
    # chosen it cannot be changed without converting the entire database.
    # Modification of target_unit after starting weewx will result in
    # corrupt data - the database will contain a mix of US and METRIC data.
    #
    # The value of target_unit does not affect the unit system for
    # reporting - reports can display US, Metric, or any combination of units.
    #
    # In most cases, target_unit should be left as the default: US
    #
    # In particular, those migrating from a standard wview installation
    # should use US since that is what the wview database contains.
    
    # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
    target_unit = US    # Options are 'US', 'METRICWX', or 'METRIC'

##############################################################################

#   This section can adjust data using calibration expressions.

[StdCalibrate]
    
    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # Example:
        foo = foo + 0.2

##############################################################################

#   This section is for quality control checks. If units are not specified,
#   values must be in the units defined in the StdConvert section.

[StdQC]
    
    [[MinMax]]
        barometer = 26, 32.5, inHg
        pressure = 24, 34.5, inHg
        outTemp = -40, 120, degree_F
        inTemp = 10, 120, degree_F
        outHumidity = 0, 100
        inHumidity = 0, 100
        windSpeed = 0, 120, mile_per_hour
        rain = 0, 10, inch

##############################################################################

#   This section controls the origin of derived values.

[StdWXCalculate]
    
    [[Calculations]]
        # How to calculate derived quantities.  Possible values are:
        #  hardware        - use the value provided by hardware
        #  software        - use the value calculated by weewx
        #  prefer_hardware - use value provide by hardware if available,
        #                      otherwise use value calculated by weewx
        
        pressure = prefer_hardware
        altimeter = prefer_hardware
        appTemp = prefer_hardware
        barometer = prefer_hardware
        cloudbase = prefer_hardware
        dewpoint = prefer_hardware
        ET = prefer_hardware
        heatindex = prefer_hardware
        humidex = prefer_hardware
        inDewpoint = prefer_hardware
        maxSolarRad = prefer_hardware
        rainRate = prefer_hardware
        windchill = prefer_hardware
        windrun = prefer_hardware

##############################################################################

#   For hardware that supports it, this section controls how often the
#   onboard clock gets updated.

[StdTimeSynch]
    
    # How often to check the weather station clock for drift (in seconds)
    clock_check = 14400
    
    # How much it can drift before we will correct it (in seconds)
    max_drift = 5

##############################################################################

#   This section is for configuring the archive service.

[StdArchive]
    
    # If the station hardware supports data logging then the archive interval
    # will be downloaded from the station. Otherwise, specify it (in seconds).
    archive_interval = 300
    
    # If possible, new archive records are downloaded from the station
    # hardware. If the hardware does not support this, then new archive
    # records will be generated in software.
    # Set the following to "software" to force software record generation.
    record_generation = hardware
    
    # Whether to include LOOP data in hi/low statistics
    loop_hilo = True
    
    # The data binding used to save archive records
    data_binding = wx_binding

##############################################################################

#   This section binds a data store to a database.

[DataBindings]
    
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_mysql
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview_extended.schema
    
    [[badetassen_binding]]
        # Binding for badetassen db.
        database = badetassen_mysql
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview_extended.schema


##############################################################################

#   This section defines various databases.

[Databases]
    
    # A SQLite database is simply a single file
    [[archive_sqlite]]
        database_name = weewx.sdb
        database_type = SQLite
    
    # MySQL
    [[archive_mysql]]
        database_name = weewxwftest
        database_type = MySQL
    
    [[badetassen_mysql]]
        database_name = weewxbt
        database_type = MySQL_bt

##############################################################################

#   This section defines defaults for the different types of databases.

[DatabaseTypes]
    
    # Defaults for SQLite databases
    [[SQLite]]
        driver = weedb.sqlite
        # Directory in which the database files are located
        SQLITE_ROOT = /share/homes/admin/weewxwftest/archive
    
    # Defaults for MySQL databases
    [[MySQL]]
        driver = weedb.mysql
        # The host where the database is located
        host = 127.0.0.1
        # The user name for logging in to the host
        user = XXX obfuscated by wee_debug XXX
        # The password for the user name (quotes guard against parsing errors)
        password = XXX obfuscated by wee_debug XXX
    
    [[MySQL_bt]]
        driver = weedb.mysql
        # The host where the database is located
        host = 127.0.0.1
        # The user name for logging in to the host
        user = XXX obfuscated by wee_debug XXX
        # The password for the user name (quotes guard against parsing errors)
        password = XXX obfuscated by wee_debug XXX

##############################################################################

#   This section configures the internal weewx engine.

[Engine]
    # The following section specifies which services should be run and in what order.
    [[Services]]
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
        xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta
        archive_services = weewx.engine.StdArchive
        restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport

wee_debug report successfully generated

Thanks,
Jan-Jaap

Tom Keffer

unread,
Jul 12, 2021, 5:15:01 PM7/12/21
to weewx-user
Everything looks correct here. Non-standard, but correct.

You say this gives an error when trying to evaluate $day.wind.count.raw?

Jan-Jaap van der Geer

unread,
Jul 12, 2021, 5:30:34 PM7/12/21
to weewx-user
Yes, well, that is, parts of generating the Seasons report fail with the following errors:

Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: **** Ignoring template /share/homes/admin/weewxwftest/skins/Seasons/NOAA/NOAA-%Y-%m.txt.tmpl
Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'raw' while searching for 'day.wind.count.raw'
Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last): 
Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****    File "/share/CACHEDEV1_DATA/homes/admin/weewxwftest/bin/weewx/cheetahgenerator.py", line 326, in generate 
Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond() 
Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****    File "_share_homes_admin_weewxwftest_skins_Seasons_NOAA_NOAA__Y__m_txt_tmpl.py", line 430, in respond 
Jul 12 23:20:38 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****  NotFound: cannot find 'raw' while searching for 'day.wind.count.raw' 
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: Generate failed with exception '<class 'NameMapper.NotFound'>'
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: **** Ignoring template /share/homes/admin/weewxwftest/skins/Seasons/NOAA/NOAA-%Y.txt.tmpl
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: **** Reason: cannot find 'raw' while searching for 'month.wind.count.raw'
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****  Traceback (most recent call last): 
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****    File "/share/CACHEDEV1_DATA/homes/admin/weewxwftest/bin/weewx/cheetahgenerator.py", line 326, in generate 
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****      unicode_string = compiled_template.respond() 
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****    File "_share_homes_admin_weewxwftest_skins_Seasons_NOAA_NOAA__Y_txt_tmpl.py", line 861, in respond 
Jul 12 23:20:39 qnap user.err wee_reports[27319] ERROR weewx.cheetahgenerator: ****  NotFound: cannot find 'raw' while searching for 'month.wind.count.raw' 

I haven't modified these files.

I'm still on python 2.7 BTW, in case that matters. I'm no linux expert and I'm not sure if upgrading to python 3 works as I don't have all needed packages available on my NAS and I'm not sure how to revert if I don't manage to create a version of the package that I don't have available (python3-cheetah). So I'd prefer it if I can remain on 2.7 for the time being...

You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/IaVkYGOz8IY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/CAPq0zEDMy2fxRdBWridmX-djk7T5jFOLg1H3f7EGVNqRnZ3Mhw%40mail.gmail.com.

Tom Keffer

unread,
Jul 12, 2021, 6:06:24 PM7/12/21
to weewx-user
Using Python 2.7 might matter. It has a few quirks when working with Cheetah.

Are you up for an experiment?

I've attached an instrumented copy of weewx/tags.py. Make a backup of your copy, then replace it with the attached. 

Then run weewxd through a reporting cycle. If a query involves 'wind', it will log details of the query to the system log.

-tk



tags.py

Jan-Jaap van der Geer

unread,
Jul 13, 2021, 3:53:46 PM7/13/21
to weewx-user
Here are the results. I made a small change (as you can see), I logged with errorlevel 'INFO' instead, as apparently my logfile doesn't contain DEBUG and I couldn't be bothered to find out how to include DEBUG messages... :)

JJ

weewx.log

Tom Keffer

unread,
Jul 14, 2021, 1:21:18 PM7/14/21
to weewx-user
The problem is that you have some bogus dates in your archive table. 

Jul 13 21:49:19 qnap user.info wee_reports[29924] INFO weewx.restx: AWEKAS: Posting not enabled.
Jul 13 21:49:19 qnap user.info wee_reports[29924] INFO weewx.tags: query: weewxwftest, archive, wind, [1970-01-01 00:00:00 CET (-3600) -> 1970-01-02 00:00:00 CET (82800)], count
Jul 13 21:49:19 qnap user.info wee_reports[29924] INFO weewx.tags: Exception: count('wind')
 
When generating the NOAA reports, weewx starts at the earliest date in your archive, and goes to the latest date. In your case, the earliest date is in 1970. Clean up the archive table, then rebuild the daily summaries, and I'll bet everything will be fine.

To clean the archive table, take a look at the wiki article Cleaning up old 'bad' data. That article covers the case of bad data, while your case is bad timestamps. Here's a rough outline of how I'd proceed:

1. Figure out the earliest good date you expect in your archive. Say it's 15-May 2020. 
2. Using a tool like epochconverter.com, figure out what unix epoch time this would be. In your timezone (CET), I believe this would be 1589504400.
3. Using the tool mysql, take a look and see what is the database before that time

mysql -u root -p
*****
mysql> SELECT * FROM archive WHERE dateTime<1589504400;

4. If those data are clearly bad, delete them:

mysql> DELETE FROM archive WHERE dateTime<1589504400;

5. Finally, rebuild the daily summaries

wee_database --drop-daily
wee_database --rebuild-daily

See if that fixes the problem.

-tk


Jan-Jaap van der Geer

unread,
Jul 14, 2021, 4:05:55 PM7/14/21
to weewx-user
That fixed it! There was only one record with a wrong date. Dunno where it came from, probably a bad version of my tempest driver at some point or something. Anyway, it's fixed now :)

Thanks!
Jan-Jaap

Reply all
Reply to author
Forward
0 new messages