Yes they do, that is what confuses me. On Monday, May 22, 2023 at 10:22:51 PM UTC+1 Tom Keffer wrote:
> 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 <[email protected]> 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 <[email protected]> >> # 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 <[email protected]> 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 [email protected]. >>>>> 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 [email protected]. >> > 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/fbc224f3-c4b3-4063-b5a8-3897363efb65n%40googlegroups.com.
