Author Topic: Weewx folder reports  (Read 585 times)

0 Members and 1 Guest are viewing this topic.

Offline night

  • Senior Contributor
  • ****
  • Posts: 170
Weewx folder reports
« on: January 08, 2025, 04:48:49 PM »
Weewx seems to be updating files in two different folders?
[StdReport]
        [StdReport]   
    # Where the generated reports should go, relative to WEEWX_ROOT
    HTML_ROOT = /var/www/html/weewx

AND

[[WEEWXtagsReport]]
        HTML_ROOT = /var/www/html/weewx/public_html/saratoga


Both folders are beeing updated every minute.  Is this normal?

Night

Offline RichG

  • Member
  • *
  • Posts: 18
Re: Weewx folder reports
« Reply #1 on: January 09, 2025, 04:05:54 AM »
It must be something that you have added as it's not in the default configuration file. I've checked my configuration and looked at the repository on GitHub and there is no sign of that.

Edit. You've added this extension and by default that's where it saves the output. So it appears to be normal for this extension but you can always change it or disable it if you're not using it.

https://github.com/gjr80/weewx-saratoga
« Last Edit: January 09, 2025, 04:10:28 AM by RichG »

Offline night

  • Senior Contributor
  • ****
  • Posts: 170
Re: Weewx folder reports
« Reply #2 on: January 09, 2025, 12:55:06 PM »
It's the Saratoga extension.  But why is it putting data in both folders?  And that extra folder is being created on the server. But it seems the server is not using any of the files.  I've deleted them but they are recreated on the next cycle.

Night
HTTP://www.hendco.org

Offline RichG

  • Member
  • *
  • Posts: 18
Re: Weewx folder reports
« Reply #3 on: January 09, 2025, 04:35:25 PM »
That is where the author of the Saratoga extension has decided to install the files when you run their install program. You'll have to ask them as to why. If you don't want the files there then edit the location or disable the extension.

Offline vinceskahan

  • Senior Contributor
  • ****
  • Posts: 264
    • home site
Re: Weewx folder reports
« Reply #4 on: January 09, 2025, 05:24:36 PM »
Without seeing your entire weewx.conf file it is impossible to figure out what you have configured from your multiple one-line posts and skeletal one-liner partial problem descriptions, nor what problem(s) you are trying to solve.

Regardless, I'd suggest you are missing a fundamental understanding of weewx.conf and how the software works.

The [StdReport] HTML_ROOT item sets the toplevel directory weewx will write to by 'default'.  You can optionally supersede this by setting HTML_ROOT more specifically below for each skin or extension or service that generates output files every time the archive period rolls around.

So it's doing exactly what you told it to do.

And yes, the weewx-saratoga extension is a bit unusual in that you 'also' have to tell it where to put the tags files it generates.   By default it wants to make a subdirectory Saratoga and put things there, I suppose assuming you have the Saratoga templates installed in that subdirectory too.  Basically you need to line up what YOU want it to write to where.

Lastly you should note that by default the Seasons skin is enable=true and it assumes it's at the top of /var/www/html or wherever you set [StdReport] HTML_ROOT to be.   The snippet you posted has to be a typo because it is clearly incorrect.  There is no [StdReport] within a [StdReport] stanza.  That shouldn't even run at all.

FWIW personally I find Saratoga very painful and poorly documented to install, but their instructions do work eventually.  Just extract all the zip files into the same directory and make sure you have the weewx-saratoga extension configured to write to the same directory.   For me getting the permissions right is always the most painful part, as well as what PHP packages are needed (though not documented) to get that mess all working.
WeeWX sites on a pi4:
  Davis VP2+DFARS
  EcoWitt GW1200, WH32 outdoor T+H, multiple WH31 indoor T+H, WH51 soilMoisture, WH34 soilTemp
  Davis AirLink (inside)
  PurpleAir (outside)
Home site:        https://www.skahan.net/  - sorry, but I block incoming other than US/CA/AU due to bots from elsewhere
Wunderground: KWAFEDER15
PWS:                KWFEDER15
CWOP:              CW6881

Offline night

  • Senior Contributor
  • ****
  • Posts: 170
Re: Weewx folder reports
« Reply #5 on: January 10, 2025, 05:56:50 PM »
Thank you for the review.  I will "play" with the server root locations to see if that helps.  I'm enclosing the weewx.conf file.  I hope I didn't miss any passcodes or other sensitive data.
I pray I didn't leave any sensitive data in there.

Mark

Code: [Select]
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2024 Tom Keffer <tkeffer@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

# Whether to log successful operations. May get overridden below.
log_success = True

# Whether to log unsuccessful operations. May get overridden below.
log_failure = True

# This configuration file was created by ...
version = 5.0.2

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

#   This section is for information about the station.

[Station]
   
    # Description of the station location, such as your town.
    location = "Stronghurst, Illinois"
   
    # Latitude in decimal degrees. Negative for southern hemisphere.
    latitude = 40.741
    # Longitude in decimal degrees. Negative for western hemisphere.
    longitude = -90.912
   
    # Altitude of the station, with the unit it is in. This is used only
    # if the hardware cannot supply a value.
    altitude = 710, foot    # Choose 'foot' or 'meter' for unit
   
    # Set to type of station hardware. There must be a corresponding stanza
    # in this file, which includes a value for the 'driver' option.
    station_type = Vantage
   
    # If you have a website, you may specify an URL. The URL is required if you
    # intend to register your station. The URL must include the scheme, for
    # example, "http://" or "https://"
    #station_url = https://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

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

[Vantage]
    # This section is for the Davis Vantage series of weather stations.
   
    # Connection type: serial or ethernet
    #  serial (the classic VantagePro)
    #  ethernet (the WeatherLinkIP or Serial-Ethernet bridge)
    type = serial
   
    # If the connection type is serial, a port must be specified:
    #   Debian, Ubuntu, Redhat, Fedora, and SuSE:
    #     /dev/ttyUSB0 is a common USB port name
    #     /dev/ttyS0   is a common serial port name
    #   BSD:
    #     /dev/cuaU0   is a common serial port name
    port = /dev/ttyUSB0
   
    # If the connection type is ethernet, an IP Address/hostname is required:
    host = 1.2.3.4
   
    ######################################################
    # The rest of this section rarely needs any attention.
    # You can safely leave it "as is."
    ######################################################
   
    # Serial baud rate (usually 19200)
    baudrate = 19200
   
    # TCP port (when using the WeatherLinkIP)
    tcp_port = 22222
   
    # TCP send delay (when using the WeatherLinkIP):
    tcp_send_delay = 0.5
   
    # The type of LOOP packet to request: 1 = LOOP1; 2 = LOOP2; 3 = both
    loop_request = 1
   
    # The id of your ISS station (usually 1). If you use a wind meter connected
    # to a anemometer transmitter kit, use its id
    iss_id = 1
   
    # How long to wait for a response from the station before giving up (in
    # seconds; must be greater than 2)
    timeout = 4
   
    # How long to wait before trying again (in seconds)
    wait_before_retry = 1.2
   
    # How many times to try before giving up:
    max_tries = 4
   
    # Vantage model Type: 1 = Vantage Pro; 2 = Vantage Pro2
    model_type = 2
   
    # The driver to use:
    driver = weewx.drivers.vantage

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

[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]
   
    # Uncomment and change to override logging for uploading services.
    # log_success = True
    # log_failure = True
   
    [[StationRegistry]]
        # To register this weather station at weewx.com, set this to true, and
        # set option 'station_url', located in the [Station] section above.
        register_this_station = True
   
    [[AWEKAS]]
        # This section is for configuring posts to AWEKAS.
       
        # If you wish to post to AWEKAS, set the option 'enable' to true, then
        # specify a username and password.
        # Use quotes around the password to guard against parsing errors.
        enable = false
        username = replace_me
        password = replace_me
   
    [[CWOP]]
        # This section is for configuring posts to CWOP.
       
        # If you wish to post to CWOP, set the option 'enable' to true,
        # then specify the station ID (e.g., CW1234).
        enable = true
        station = CW6338
        # If this is an APRS (radio amateur) station, specify the
        # passcode (e.g., 12345). Otherwise, ignore.
        passcode = replace_me
   
    [[PWSweather]]
        # This section is for configuring posts to PWSweather.com.
       
        # If you wish to post to PWSweather.com, set the option 'enable' to
        # true, then specify a station and password.
        # Use quotes around the password to guard against parsing errors.
        enable = false
        station = replace_me
        password = replace_me
   
    [[WOW]]
        # This section is for configuring posts to WOW.
       
        # If you wish to post to WOW, set the option 'enable' to true, then
        # specify a station and password.
        # Use quotes around the password to guard against parsing errors.
        enable = false
        station = replace_me
        password = replace_me
   
    [[Wunderground]]
        # This section is for configuring posts to the Weather Underground.
       
        # If you wish to post to the Weather Underground, set the option
        # 'enable' to true,  then specify a station (e.g., 'KORHOODR3'). Use
        # the station key (find it at
        # https://www.wunderground.com/member/devices) for the password.
        enable = true
        station = KILSTRON1
        password = xxxxxxxxxxx
       
        # 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 = True

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

#   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 = /var/www/html/weewx
   
    # Uncomment and change to override logging for reports.
    # log_success = True
    # log_failure = True
   
    # The database binding indicates which data should be used in reports.
    data_binding = wx_binding
   
    # 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 = false
        HTML_ROOT = /var/www/html/weewx/smartphone
   
    [[MobileReport]]
        # The MobileReport uses the 'Mobile' skin, and the images and files
        # are placed in a dedicated subdirectory.
        skin = Mobile
        enable = false
        HTML_ROOT = /var/www/html/weewx/mobile
   
    [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = false
    [[WEEWXtagsReport]]
        HTML_ROOT = /var/www/html/weewx/public_html/saratoga
        skin = WEEWXtags
        enable = True
        [[[Units]]]
            [[[[StringFormats]]]]
                NONE = --
            [[[[TimeFormats]]]]
                date_f = %d/%m/%Y
                date_time_f = %d/%m/%Y %H:%M
    [[ClientrawReport]]
        HTML_ROOT = /var/www/html/weewx/public_html/saratoga
        skin = Clientraw
        enable = True
        [[[Units]]]
            [[[[StringFormats]]]]
                degree_C = %.1f
                degree_compass = %.0f
                foot = %.0f
                hPa = %.1f
                km = %.1f
                knot = %.1f
                mm = %.1f
                percent = %.0f
                uv_index = %.1f
                watt_per_meter_squared = %.0f
                NONE = --
   
    [[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 the password to guard against parsing errors.
        enable = true
        user = junk@hendco.org
        password = "xxxxxxxxxxxxxxxxxx"
        server = ftp.hendco.org    # The ftp server name, e.g, www.myserver.org
        path = /    # 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 = /var/www/html/weewx
       
        # Most FTP servers use port 21.
        port = 21
       
        # Set to 1 to use passive mode, zero for active mode
        passive = 1

Offline night

  • Senior Contributor
  • ****
  • Posts: 170
Re: Weewx folder reports
« Reply #6 on: January 10, 2025, 05:57:19 PM »
Code: [Select]
   
    [[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 = replace_me
        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 = /var/www/html/weewx
       
        # 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
   
    # Options in the [[Defaults]] section below will apply to all reports.
    # What follows are a few of the more popular options you may want to
    # uncomment, then change.
    [[Defaults]]
       
        # Which language to use for all reports. Not all skins support all
        # languages.  You can override this for individual reports.
        lang = en
       
        # Which unit system to use for all reports. Choices are 'us', 'metric',
        # or 'metricwx'.  You can override this for individual reports.
        unit_system = us
       
        [[[Units]]]
           
            # Option "unit_system" above sets the general unit system, but
            # overriding specific unit groups is possible. These are popular
            # choices. Uncomment and set as appropriate.  The unit is always
            # in the singular, e.g., 'mile_per_hour', NOT 'miles_per_hour'
            [[[[Groups]]]]
                # group_altitude     = meter              # Options are 'foot' or 'meter'
                # group_pressure     = mbar               # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
                # 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_temperature  = degree_C           # Options are 'degree_C', 'degree_F', or 'degree_K'
                # The following line is used to keep the above lines indented
                # properly. It can be ignored.
                unused = unused
           
            # Uncommenting the following section frequently results in more
            # attractive formatting of times and dates, but may not work in
            # your locale.
            [[[[TimeFormats]]]]
                # day        = %H:%M
                # week       = %H:%M on %A
                # month      = %d-%b-%Y %H:%M
                # year       = %d-%b-%Y %H:%M
                # rainyear   = %d-%b-%Y %H:%M
                # current    = %d-%b-%Y %H:%M
                # ephem_day  = %H:%M
                # ephem_year = %d-%b-%Y %H:%M
                # The following line is used to keep the above lines indented
                # properly. It can be ignored.
                unused = unused
       
        [[[Labels]]]
            # Users frequently change the labels for these observation types.
            [[[[Generic]]]]
                # inHumidity     = Inside Humidity
                # inTemp         = Inside Temperature
                # outHumidity    = Outside Humidity
                # outTemp        = Outside Temperature
                # extraTemp1     = Temperature1
                # extraTemp2     = Temperature2
                # extraTemp3     = Temperature3
                # The following line is used to keep the above lines indented
                # properly. It can be ignored.
                unused = unused

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

#   This service converts 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
        wet_bulb = prefer_hardware
        abs_humidity = prefer_hardware, archive

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

#   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
   
    # Uncomment and change to override logging for archive operations.
    # log_success = True
    # log_failure = 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_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
    [[ws_binding]]
        database = ws_sqlite
        table_name = archive
        manager = weewx.manager.DaySummaryManager
        schema = user.wsschema.ws_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 = weewx
        database_type = MySQL
    [[ws_sqlite]]
        database_type = SQLite
        database_name = weewxwd.sdb
    [[ws_mysql]]
        database_type = MySQL
        database_name = weewxwd

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

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

[DatabaseTypes]
   
    # Defaults for SQLite databases.
    [[SQLite]]
        driver = weedb.sqlite
        # Directory in which database files are located, relative to WEEWX_ROOT
        SQLITE_ROOT = /var/lib/weewx
   
    # Defaults for MySQL databases.
    [[MySQL]]
        driver = weedb.mysql
        # The host where the database is located.
        host = localhost
        # The user name for logging in to the host.
        user = weewx
        # Use quotes around the password to guard against parsing errors.
        password = weewx

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

#   This section configures the internal weewx engine.

[Engine]
   
    # This 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, user.ws.WsWXCalculate
        xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta, user.wsxtypes.StdWSXTypes
        archive_services = weewx.engine.StdArchive, user.ws.WsArchive
        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, user.rtcr.RealtimeClientraw

[WeewxSaratoga]
    # WeewxSaratoga database binding
    data_binding = ws_binding
   
    # radiation (solar insolation) level above which the sun is considered
    # shining
    sunshine_threshold = 120
   
    [[RealtimeClientraw]]
       
        # If using an external website, configure remote_server_url to point to
        # the post_clientraw.php script on your website like:
        #   remote_server_url = http://hendco.org/post_clientraw.php
        #
        # To disable or use the webserver on this system, leave the entry
        # commented out or blank.
        # remote_server_url = http://your.website.com/post_clientraw.php
       
        # min_interval sets the minimum clientraw.txt generation interval.
        # 10 seconds is recommended for all Saratoga template users. Default
        # is 0 seconds.
        min_interval = 10
       
        # Python date-time format strings. Format string codes as per
        # https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
       
        # Date format. Recommended entries are:
        #   date_format = %-m/%-d/%Y  # recommended for USA users
        date_format = %-d/%-m/%Y  # recommended for non-USA users
        #   date_format = %-d/%-m/%Y
       
        # Long format times (HMS). Recommended entries are:
        #   long_time_format = %-I:%M:%S_%p  # recommended for USA users
        #   long_time_format = %H:%M:%S  # recommended for non-USA users
        long_time_format = %H:%M:%S
       
        # Short format times (HM). Recommended entries are:
        #   short_time_format = %-I:%M_%p  # recommended for USA users
        #   short_time_format = %H:%M  # recommended for non-USA users
        short_time_format = %H:%M

[Accumulator]
   
    # Start WeeWX-Saratoga extractors
    [[forecastRule]]
        extractor = last
    [[forecastText]]
        accumulator = firstlast
        extractor = last

Offline vinceskahan

  • Senior Contributor
  • ****
  • Posts: 264
    • home site
Re: Weewx folder reports
« Reply #7 on: January 10, 2025, 08:05:52 PM »
You are going to have to tell us exactly what problem are you trying to solve.

You have [[SeasonsReport]] set enable=true which means your weewx will generate the index.html file every time it runs.  If all you want to do is make that not happen, set it enable=false, delete the index.html file from your /var/www/html tree, and restart weewx and it will not be created.

If you want Saratoga to be someplace else than the default, you'd edit that section of weewx.conf and set its HTML_ROOT wherever you want it to be.

[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                          # this probably should be an absolute path here

    [[WEEWXtagsReport]]
        HTML_ROOT = public_html/saratoga        # this probably should be an absolute path here
        skin = WEEWXtags
        enable = True
        [[[Units]]]
            [[[[StringFormats]]]]
                NONE = --
            [[[[TimeFormats]]]]
                date_f = %d/%m/%Y
                date_time_f = %d/%m/%Y %H:%M

I have mine installed so it goes in a saratoga subdirectory, but that means I needed to do a little sleight of hand to get the client*.txt files where Saratoga expects it to be.  For some reason the weewx-saratoga stuff writes clientraw.txt to the HTML_ROOT for weewx, and it writes clientraw{daily,extra,hour} to the saratoga subdirectory.  I didn't fiddle with trying to understand why or make them all go to one place.  I just added a symlink in the saratoga directory pointing that one file up one level.
« Last Edit: January 10, 2025, 08:09:57 PM by vinceskahan »
WeeWX sites on a pi4:
  Davis VP2+DFARS
  EcoWitt GW1200, WH32 outdoor T+H, multiple WH31 indoor T+H, WH51 soilMoisture, WH34 soilTemp
  Davis AirLink (inside)
  PurpleAir (outside)
Home site:        https://www.skahan.net/  - sorry, but I block incoming other than US/CA/AU due to bots from elsewhere
Wunderground: KWAFEDER15
PWS:                KWFEDER15
CWOP:              CW6881

Offline night

  • Senior Contributor
  • ****
  • Posts: 170
Re: Weewx folder reports
« Reply #8 on: January 12, 2025, 03:51:41 PM »
This Saratogaweewx program set up the folder placement. It must have been the idea that you could run two different website setups: WeeWx or Saratoga. I aim to get all the files into the root folder, which is where Saratoga expects them. I also aim to stop the creation of index.html, as Saratoga uses index.php. I'm making notes of the modifications as I go. Hopefully, the author will accept the notes so they can be included in the modification files.

Thank you for helping
Night

Offline vinceskahan

  • Senior Contributor
  • ****
  • Posts: 264
    • home site
Re: Weewx folder reports
« Reply #9 on: January 12, 2025, 04:43:18 PM »
Well FWIW Saratoga doesn't care where it's installed really.  I did a test install on a pi5 and it's in /var/www/html/weewx/saratoga and it works just fine.  All I had to do was toss in one symlink so the weewx-saratoga stuff had all the client*.txt files in that same directory.  I could have made the root of the web tree there with a little nginx config file tweaks.

Only tricky thing I found was that Saratoga writes a 'lot' to disk and especially to its cache subdirectory which needs to be www-data:www-data so the webserver can write into it.  Again it's changeable via the Settings.php file but I am running with zero changes to the as-delivered file there currently as a test.

The weewx extension writes a lot to disk too.  If I was going to run Saratoga more than as a test I'd do some symlinking to have the writable files in a tmpfs directory to save the SD from excessive writes.

I did make a couple edits to set the date format to MM-DD-YYYY and to also catch up to some weewx changes that happened in 4.10 a couple years ago.


pi@pi5:~/weewx-data/skins/WEEWXtags $ diff skin.conf*
30c30,31
<         date_f         = %-d/%-m/%Y           # Date. %d/%m/%Y or %m/%d/%Y only. %-d or %-m may be used
---
>         #date_f         = %-d/%-m/%Y           # Date. %d/%m/%Y or %m/%d/%Y only. %-d or %-m may be used
>         date_f         = %-m/%-d/%Y           # Date. %d/%m/%Y or %m/%d/%Y only. %-d or %-m may be used
40c41,42
<         date_time_f    = %-d/%-m/%Y %H:%M     # Date and time. May be any valid combination. %H:%M for
---
>         #date_time_f    = %-d/%-m/%Y %H:%M     # Date and time. May be any valid combination. %H:%M for
>         date_time_f    = %-m/%-d/%Y %H:%M     # Date and time. May be any valid combination. %H:%M for


pi@pi5:~/weewx-data/skins/WEEWXtags $ diff WEEWXtags.php.tmpl*
43d42
< #set $dmYFormat = $skin_dict.Units.TimeFormats.get('date_f', '%-d/%-m/%Y').replace('%', '').replace('-', '').lower()
45c44
< #set $dmYFormat = $skin_dict.Units.TimeFormats.get('date_f', '%-m/%-d/%Y').replace('%', '').replace('-', '').lower()
---
> #set $dmYFormat = $skin_dict.Units.TimeFormats.get('date_f', '%-d/%-m/%Y').replace('%', '').replace('-', '').lower()
59d57
< #*
61,62d58
< *#
< #set $dateTimeFormat = $skin_dict.Units.TimeFormats.get('date_time_f', '%-m/%-d/%Y %H:%M')
357c353
< #raw $windowsuptime = #end raw '$station.os_uptime.long_form'; // uptime for OS on system
---
> #raw $windowsuptime = #end raw '$station.os_uptime'; // uptime for OS on system


WeeWX sites on a pi4:
  Davis VP2+DFARS
  EcoWitt GW1200, WH32 outdoor T+H, multiple WH31 indoor T+H, WH51 soilMoisture, WH34 soilTemp
  Davis AirLink (inside)
  PurpleAir (outside)
Home site:        https://www.skahan.net/  - sorry, but I block incoming other than US/CA/AU due to bots from elsewhere
Wunderground: KWAFEDER15
PWS:                KWFEDER15
CWOP:              CW6881

Offline night

  • Senior Contributor
  • ****
  • Posts: 170
Re: Weewx folder reports
« Reply #10 on: January 13, 2025, 11:08:37 AM »
I think most of it is now in one folder. As you noted, there were a few permission errors, but I have learned that journalctl is my friend. I really appreciate your help. At 70, my mind isn't as sharp as it should be. I used to have a rather large weather website with a boatload of add-ons, like river stages and highway cameras.  Heck, I still have a 4.2 meter NOAAport dish next to my shop.  Not even the heaviest weather blocked it.  After I get this sorted, I might have to turn my attention to that.

Thank you
Night

 

anything