This is surely a straightforward permissions and ownership issue. What do you see with
*ls -l /home/igm/weewx-data/archive* What user is the daemon running as? *cat /etc/systemd/system/weewx.service* They should match. -tk On Mon, May 22, 2023 at 2:13 PM Steeple Ian <steeplei...@gmail.com> wrote: > Tom, > > This is a complete report of the process I used > > New development server up and running on RaspberryPi B+ > For the sake of this exercise the user ID is igm > OS Raspberry PI OS Lite (64-Bit) > installed applications: - > Webmin 2.021 (open source control panel-like appication) > Apache 2 > > installed WeeWX 5.0.0b1: - > sudo apt update && sudo apt upgrade > sudo apt -y install gcc > sudo apt -y install python3-dev > sudo apt -y install python3-pip > python3 -m pip install wheel > python3 -m pip install weewx --user > python3 -m pip install --upgrade ephem (the version of ephem that > wheel installs 3.7.7.0 has a known bug, this upgrades to ephem 4.1.4) > cd /home/igm/.local > python3 ./weectl station create (selected simulator as driver and > edited weewx.conf to set debug =2, HTML_ROOT = /var/www/html/weewx set in > StdReport stanza. Complete weewx.conf at the foot of this posting) > cd ~/weewx-data sudo > cp util/systemd/weewx.service /etc/systemd/system > sudo systemctl daemon-reload > sudo systemctl enable weewx > sudo systemctl start weewx > > After the completion of the first achive cycle, Seasons skin created > perfectly and subsequently updating every 5min > > Next stage was to stop WeeWX on my main server and make a copy of my > working database file > Stopped WeeWX on my development server, moved the working database file > copy to my development server in place of the existing database file. > To match the ownership, group and permissions: - > cd / > sudo chown igm:igm /home/igm/weewx-data/archive/weewx.sdb > sudo chmod 644 /home/igm/weewx-data/archive/weewx.sdb > (checked in my control panel that attributes had been changed > correctly) > restarted weewx on the devlopment server and logged the below error > messages > (I tried sudo chmod 777 but still got the same errors) > > I stopped WeeWX again and tried: - > wee_database --update (but still the same errors on restart) > > I then tried: - > wee_database --drop-daily > wee_database --rebuild > > This combination then cleared the errors and the database started updating > > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Replace failed for database weewx.sdb: > attempt to write a readonly database May 22 21:00:14 igm weewx[13207] ERROR > weewx.manager: Replace failed for database weewx.sdb: attempt to write a > readonly database May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: > Replace failed for database weewx.sdb: attempt to write a readonly database > May 22 21:00:14 igm weewx[13207] ERROR weewx.manager: Replace failed for > database weewx.sdb: attempt to write a readonly database May 22 21:00:14 > igm weewx[13207] ERROR weewx.manager: Replace failed for database > weewx.sdb: attempt to write a readonly database May 22 21:00:14 igm > weewx[13207] ERROR weewx.manager: Unable to add record 2023-05-22 21:00:00 > BST (1684785600) to database 'weewx.sdb': attempt to write a readonly > database > > My weewx.conf file: - > > # WEEWX CONFIGURATION FILE > # > # Copyright (c) 2009-2022 Tom Keffer <tkef...@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 = 2 > > # Root directory of the weewx data file hierarchy for this station > WEEWX_ROOT = /home/igm/weewx-data > > # Whether to log successful operations. May get overridden below. > log_success = True > > # Whether to log unsuccessful operations. May get overridden below. > log_failure = True > > # Do not modify this. It is used when installing and updating weewx. > version = 5.0.0b1 > > > ############################################################################## > > # This section is for information about the station. > > [Station] > > # Description of the station location, such as your town: > location = "Steeple Claydon, UK" > > # Latitude in decimal degrees. Negative for southern hemisphere > latitude = 51.940 > # Longitude in decimal degrees. Negative for western hemisphere. > longitude = -0.987 > > # Altitude of the station, with the unit it is in. This is used only > # if the hardware cannot supply a value. > altitude = 88, meter # 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 = Simulator > > # If you have a website, you may specify an URL. This is required if > you > # intend to register your station. > #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 = 0 > > > ############################################################################## > > [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 with weewx, set this to true, > # then fill out option 'station_url', located in the [Station] > section above. > register_this_station = False > > [[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. To guard against parsing errors, put the password > in quotes. > 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 = false > station = replace_me > # 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. To guard against parsing errors, put the > password in quotes. > 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. To guard against parsing errors, put the password in > quotes. > 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') and password. To guard > against parsing errors, put > # the password in quotes. > enable = false > station = replace_me > password = replace_me > > # If you plan on using wunderfixer, set the following > # to your API key: > api_key = replace_me > > # 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 = /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 = public_html/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 = 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 = replace_me > password = replace_me > 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 = 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 = 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 > > # 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 = metricwx > > [[[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. > # 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_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 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 > > # 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 > > > ############################################################################## > > # 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 > > > ############################################################################## > > # 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, relative to > WEEWX_ROOT: > SQLITE_ROOT = archive > > # 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 > # The password (use quotes to guard against parsing errors) > password = weewx > > > ############################################################################## > > # 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 > > > > Ian > > > > > > > On Sunday, May 21, 2023 at 4:31:19 PM UTC+1 Steeple Ian wrote: > >> Thank you Tom, >> >> I will be back home tomorrow evening and planning a fresh install on a >> clean OS so I will document as I go along and feedback. >> >> Ian >> >> On Saturday, May 20, 2023 at 10:34:41 PM UTC+1 Tom Keffer wrote: >> >>> It would help if we could see the exact commands you were running, In >>> particular, did you use an explicit path to a weewx.conf? What was in that >>> configuration file? >>> >>> Nothing has changed in the database file, but how it is found is >>> different. >>> >>> On Sat, May 20, 2023 at 1:03 PM Steeple Ian <steep...@gmail.com> wrote: >>> >>>> I have been trying out 5.0.0b1 to ensure that the weewx-`weather34 skin >>>> I maintain is compatible and have noticed an oddity when moving my existing >>>> weewx.sdb database file across. >>>> >>>> I installed using the pip installer method which was impressively >>>> smooth, ran for a while with the simulator, then installed the GW1000 >>>> Gateway driver. I then made a copy of my existing database file, stopped >>>> the new install and moved the copy across, restarted. >>>> >>>> On looking at the syslog, I noticed that there was an error writing to >>>> the database as the database file was reported as read only. At this point, >>>> I updated the ownership and permissions from the command line but got the >>>> same error report. I took another copy of the database file, same result. >>>> Eventually the only way I could get the database file into a writable >>>> condition was to use wee_database —drop-daily and —rebuild. >>>> >>>> I have never had a problem of copying a mature database file across to >>>> a new installation before. It was doubly baffling as I assume that it would >>>> not be possible to use —drop-daily and —rebuild if the the database file >>>> was truly read only. >>>> >>>> Ian >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "weewx-development" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to weewx-developm...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/weewx-development/6f3eb1c5-a7d7-4086-a24a-05d941812511n%40googlegroups.com >>>> <https://groups.google.com/d/msgid/weewx-development/6f3eb1c5-a7d7-4086-a24a-05d941812511n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- > You received this message because you are subscribed to the Google Groups > "weewx-development" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to weewx-development+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/weewx-development/16369f72-56f3-480f-8099-8686f551c948n%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-development/16369f72-56f3-480f-8099-8686f551c948n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "weewx-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-development+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/CAPq0zEDs-9GkfPKuK9U4h5Uj%3DnPZ8QiCCZwqAoEDTs%2BxF8_z%2BA%40mail.gmail.com.