Ok as Gary has said, you need to upgrade your WeeWX version to the latest version 3.9.1. The WeeWX documentation tells you how to do this. Alternatively you can make a clean install using the setup.py for a fresh start. If you have historical data you wish to preserve make sure you backup your archive.sdb first.
Make a fresh download from template repository as there are changes to the monthly charts. Ian Sent from my iPhone > On 24 May 2019, at 00:30, Jd D <[email protected]> wrote: > > Hi, > Here is weewx.conf.# WEEWX CONFIGURATION FILE > # > # Copyright (c) 2009-2015 Tom Keffer <t> > # 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 = 1 > > # Root directory of the weewx data file hierarchy for this station > WEEWX_ROOT = / > > # How long to wait before timing out a socket (FTP, HTTP) connection > socket_timeout = 20 > > # Do not modify this. It is used when installing and updating weewx. > version = 3.8.2 > > ############################################################################## > > # This section is for information about the station. > > [Station] > > # Description of the station location > location = xxxxxxxxxxxx > # Latitude and longitude in decimal degrees > latitude = xxxxxxxxxxxxxx > longitude =xxxxxxxxxxxxxx > > # Altitude of the station, with unit it is in. This is downloaded from > # from the station if the hardware supports it. > altitude = 1500, foot > > # Set to type of station hardware. There must be a corresponding stanza > # in this file with a 'driver' parameter indicating the driver to be used. > station_type = WS23xx > > # If you have a website, you may specify an URL > #station_url = http://www.example.com > > # The start of the rain year (1=January; 10=October, etc.). This is > # downloaded from the station if the hardware supports it. > rain_year_start = 1 > > # Start of week (0=Monday, 6=Sunday) > week_start = 6 > > ############################################################################## > > [WS23xx] > # This section is for the La Crosse WS-2300 series of weather stations. > > # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0 > port = /dev/ttyUSB0 > > # The station model, e.g., 'LaCrosse WS2317' or 'TFA Primus' > model = LaCrosse WS-2316 > > # The driver to use: > driver = weewx.drivers.ws23xx > > ############################################################################## > > # This section is for uploading data to Internet sites > > [StdRESTful] > > [[StationRegistry]] > # To register this weather station with weewx, set this to true > register_this_station = false > > [[AWEKAS]] > # This section is for configuring posts to AWEKAS. > > # If you wish to do this, set the option 'enable' to true, > # and specify a username and password. > # To guard against parsing errors, put the password in quotes. > enable = false > username = replace_me > password = replace_me > > [[CWOP]] > # This section is for configuring posts to CWOP. > > # If you wish to do this, set the option 'enable' to true, > # and specify the station ID (e.g., CW1234). > enable = false > station = replace_me > > # If this is an APRS (radio amateur) station, uncomment > # the following and replace with a passcode (e.g., 12345). > #passcode = replace_me (APRS stations only) > > [[PWSweather]] > # This section is for configuring posts to PWSweather.com. > > # If you wish to do this, set the option 'enable' to true, > # and specify a station and password. > # To guard against parsing errors, put the password in quotes. > enable = false > station = replace_me > password = replace_me > > [[WOW]] > # This section is for configuring posts to WOW. > > # If you wish to do this, set the option 'enable' to true, > # and specify a station and password. > # To guard against parsing errors, put the password in quotes. > enable = false > station = replace_me > password = replace_me > > [[Wunderground]] > # This section is for configuring posts to the Weather Underground. > > # If you wish to do this, set the option 'enable' to true, > # and specify a station (e.g., 'KORHOODR3') and password. > # To guard against parsing errors, put the password in quotes. > enable = false > station = replace_me > password = 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 = /etc/weewx/skins > > # Where the generated reports should go, relative to WEEWX_ROOT > HTML_ROOT = /var/www/html/weewx > > # The database binding indicates which data should be used in reports. > data_binding = wx_binding > > report_timing = 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 59 * * * * > > # Each of the following subsections defines a report that will be run. > > [[StandardReport]] > # 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. > > # The StandardReport uses the 'Standard' skin, which contains the > # images, templates and plots for the report. > skin = Standard > [[[Units]]] > [[[[Groups]]]] > group_altitude = foot > group_speed2 = mile_per_hour2 > group_pressure = inHg > group_rain = inch > group_rainrate = inch_per_hour > group_temperature = degree_F > group_degree_day = degree_F_day > group_speed = mile_per_hour > [[SteelSeries]] > HTML_ROOT = /var/www/html/weewx/ss > skin = ss > [[[Units]]] > [[[[StringFormats]]]] > mm_per_hour = %.1f > mile_per_hour = %.0f > degree_compass = %.0f > degree_C = %.1f > inHg = %.3f > mmHg = %.1f > meter_per_second = %.1f > meter = %.0f > mile = %.1f > uv_index = %.1f > watt_per_meter_squared = %.0f > percent = %.0f > km_per_hour = %.0f > inch = %.2f > degree_F = %.1f > knot = %.0f > foot = %.0f > hPa = %.1f > mbar = %.1f > inch_per_hour = %.2f > mm = %.1f > km = %.1f > [[[[Groups]]]] > group_temperature = degree_C > group_altitude = foot > group_pressure = hPa > group_rain = mm > group_rainRate = mm_per_hour > group_speed = km_per_hour > [[w34skinReport]] > # The w34skinReport uses the 'w34skin' skin, which contains the > # templates for the WX-HWS charts. > skin = w34skin > enable = true > [[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, uncomment and fill out the next four lines. > # Use quotes around passwords to guard against parsing errors. > #user = replace with the ftp username > #password = replace with the ftp password > #server = replace with the ftp server name, e.g, www.threefools.org > #path = replace with the ftp 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 > > [[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 as to the user account on the remote machine where the files > # will be copied. > # > # The server, user, and path determine where files will be sent. > # The server is the server name, such as www.threefools.org > # The user is the username, such as weewx > # The path is the destination directory, such as /var/www/html/weather > # Be sure that the user has write permissions on the destination! > #server = replace_me > #user = replace_me > #path = replace_me > > # 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 > > ############################################################################## > > # 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 > pressure = pressure + 0.55 > > ############################################################################## > > # 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 > outTemp = 10, 125, degree_F > inTemp = 40, 120, degree_F > outHumidity = 10, 100 > inHumidity = 10, 110 > windSpeed = 0, 110, mile_per_hour > pressure = 24, 34.5, inHg > dewpoint = 10, 100, degree_F > > ############################################################################## > > # This section controls the origin of derived values. > > [StdWXCalculate] > > [[Calculations]] > # Derived quantities are calculated by this service. 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 > barometer = prefer_hardware > altimeter = prefer_hardware > windchill = software > heatindex = software > dewpoint = prefer_hardware > inDewpoint = prefer_hardware > rainRate = 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 = 60 > > # 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 = software > > # Whether to include LOOP data in hi/low statistics > loop_hilo = True > > # The data binding used to save archive records > data_binding = wx_binding > > ############################################################################## > > # This section binds a data store to a database. > > [DataBindings] > > [[wx_binding]] > # The database must match one of the sections in [Databases]. > # This is likely to be the only option you would want to change. > database = archive_sqlite > # The name of the table within the database > table_name = archive > # The manager handles aggregation of data for historical summaries > manager = weewx.wxmanager.WXDaySummaryManager > # The schema defines the structure of the database. > # It is *only* used when the database is created. > schema = schemas.wview.schema > > ############################################################################## > > # This section defines various databases. > > [Databases] > > # A SQLite database is simply a single file > [[archive_sqlite]] > database_type = SQLite > database_name = weewx.sdb > > # MySQL > [[archive_mysql]] > database_type = MySQL > database_name = weewx > > ############################################################################## > > # This section defines defaults for the different types of databases. > > [DatabaseTypes] > > # Defaults for SQLite databases > [[SQLite]] > driver = weedb.sqlite > # Directory in which the database files are located > SQLITE_ROOT = /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 = > # The password for the user name (quotes guard against parsing errors) > password = > > ############################################################################## > > # This section configures the internal weewx engine. > > [Engine] > > [[Services]] > # This section specifies the services that should be run. They are > # grouped by type, and the order of services within each group > # determines the order in which the services will be run. > prep_services = weewx.engine.StdTimeSynch > data_services = , > process_services = weewx.engine.StdConvert, > weewx.engine.StdCalibrate, weewx.engine.StdQC, > weewx.wxservices.StdWXCalculate, user.crt.CumulusRealTime > 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 > > ############################################################################## > > # Options for extension 'crt' > [CumulusRealTime] > filename = /var/www/html/pws/demodata/realtime.txt > > Here is skin.conf > ############################################################################### > # W34SKIN SKIN CONFIGURATION FILE > # > # Copyright (c) 2018 Tom Keffer <> and Matthew Wall # > # See the file LICENSE.txt for your rights. > # > ############################################################################### > > skin_semantics = 2 > > ############################################################################### > > [Defaults] > > [[Units]] > > # The following section sets what unit to use for each unit group. > # NB: The unit is always in the singular. I.e., 'mile_per_hour', > # NOT 'miles_per_hour' > [[[Groups]]] > > group_altitude = meter # Options are 'foot' or 'meter' > group_degree_day = degree_C_day # Options are > 'degree_F_day' or 'degree_C_day' > group_pressure = hPa # 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_speed = km_per_hour # Options are 'mile_per_hour', > 'km_per_hour', 'knot', or 'meter_per_second' > group_speed2 = km_per_hour2 # Options are > 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2' > group_temperature = degree_C # Options are 'degree_F' or > 'degree_C' > mbar = "mb" > hPa = "hPa" > inHg = "in" > mm_per_hour = "mm" > cm_per_hour = "cm" > inch_per_hour = "in" > km_per_hour = "km/h" > knot = "kts" > meter_per_second ="m/s" > mile_per_hour ="mph" > > > > [[Labels]] > > day = " day", " days" > hour = " hour", " hours" > minute = " minute", " minutes" > second = " second", " seconds" > NONE = "" > > # Override some labels. No need to identify these as a "Battery" > # or "Voltage", because that is included in the template. > [[Generic]] > txBatteryStatus = Transmitter > windBatteryStatus = Wind > rainBatteryStatus = Rain > outTempBatteryStatus = Outside Temperature > inTempBatteryStatus = Inside Temperature > consBatteryVoltage = Console > heatingVoltage = Heating > supplyVoltage = Supply > referenceVoltage = Reference > > # Some specialized labels > rain_today = Rain Today > wind = Wind > > > ############################################################################### > > # The CheetahGenerator creates files from templates. This section > # specifies which files will be generated from which template. > > [CheetahGenerator] > > # Possible encodings are 'html_entities', 'utf8', or 'strict_ascii' > encoding = html_entities > search_list_extensions = user.stats.MyStats, user.lastrain.lastRainTags > > > [[WXCHARTDATA]] > > > # Charts that plot "by day" > [[[DAILYCHARTS]]] > encoding = strict_ascii > template = result.csv.tmpl > HTML_ROOT = /var/www/html/pws_new/mbcharts/mbcharts > > > # Charts that plot "by month" > [[[MONTHLYCHARTS]]] > encoding = strict_ascii > template = MMYYYY.csv.tmpl > HTML_ROOT = /var/www/html/pws_new/mbcharts/mbcharts/chartdata > > > > # Charts that plot "by year" > [[[YEARLYCHARTS]]] > encoding = strict_ascii > template = YYYY.csv.tmpl > HTML_ROOT = /var/www/html/pws_new/mbcharts/mbcharts/chartdata > > > [[WXSTATS]] > > # Generates data for various W34 Statistics > [[[W34STATS]]] > encoding = strict_ascii > template = w34stats.php.tmpl > HTML_ROOT = /var/www/html/pws_new > > > ############################################################################### > > # The CopyGenerator copies files from one location to another. > > [CopyGenerator] > > # List of files to be copied only the first time the generator runs > copy_once = seasons.css, seasons.js, favicon.ico, font/*.woff, > font/*.woff2 > > # List of files to be copied each time the generator runs > # copy_always = > > > ############################################################################### > > [Generators] > # The list of generators that are to be run: > generator_list = weewx.cheetahgenerator.CheetahGenerator, > weewx.reportengine.CopyGenerator > > Also if I remove the add_label and localize and the format function the > errors go away but now the data has units and that causes other problems. > Thanks > Jerry > > >> On Thursday, May 23, 2019 at 4:04:07 PM UTC-7, steeple ian wrote: >> Can you post your weewx.conf and w34skin skin.conf files please (redact any >> passwords, user IDs, keys etc. first) >> >> Thanks >> >>> On 23 May 2019, at 20:15, Jd D <[email protected]> wrote: >>> >>> Hi, >>> My path looks correct. The following error is in the syslog from the >>> Cheetah Generator. >>> >>> May 23 12:00:54 localhost weewx[7901]: cheetahgenerator: Generate failed >>> with exception '<type 'exceptions.TypeError'>' >>> May 23 12:00:54 localhost weewx[7901]: cheetahgenerator: **** Ignoring >>> template /etc/weewx/skins/w34skin/w34stats.php.tmpl >>> May 23 12:00:54 localhost weewx[7901]: cheetahgenerator: **** Reason: >>> format() got an unexpected keyword argument 'add_label' >>> May 23 12:00:54 localhost weewx[7901]: **** Traceback (most recent call >>> last): >>> May 23 12:00:54 localhost weewx[7901]: **** File >>> "/usr/share/weewx/weewx/cheetahgenerator.py", line 330, in generate >>> May 23 12:00:54 localhost weewx[7901]: **** print >> _file, >>> compiled_template >>> May 23 12:00:54 localhost weewx[7901]: **** File >>> "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1005, in >>> __str__ >>> May 23 12:00:54 localhost weewx[7901]: **** rc = getattr(self, >>> mainMethName)() >>> May 23 12:00:54 localhost weewx[7901]: **** File >>> "_etc_weewx_skins_w34skin_w34stats_php_tmpl.py", line 2656, in respond >>> May 23 12:00:54 localhost weewx[7901]: **** File >>> "_etc_weewx_skins_w34skin_w34stats_php_tmpl.py", line 106, in >>> __errorCatcher6 >>> May 23 12:00:54 localhost weewx[7901]: **** File "<string>", line 1, in >>> <module> >>> May 23 12:00:54 localhost weewx[7901]: **** TypeError: format() got an >>> unexpected keyword argument 'add_label' >>> >>> Looks like I am missing something. >>> Thanks Jerry >>> >>>> On Thursday, May 23, 2019 at 10:28:31 AM UTC-7, steeple ian wrote: >>>> Hi Jerry, >>>> >>>> I am glad my first instinct was correct. >>>> >>>> The w34stats.php.tmpl file should be generating the w34stats.php file at >>>> every archive interval. You to make sure you have the correct path >>>> settings in the w34skin skin.conf file. >>>> >>>> I hope that fixes it for you. >>>> >>>> Ian >>>> >>>>> On Thu, May 23, 2019 at 6:16 PM Jd D <[email protected]> wrote: >>>>> Hi, >>>>> I am using PHP7 and was using the previous version of template, I just >>>>> missed that this version is now using php mb functions, so the following >>>>> two commands fixed this for me. >>>>> >>>>> sudo apt-get install php7.0-mbstring >>>>> sudo systemctl restart apache2.service >>>>> >>>>> Also metobridge_lookup.php has the following include >>>>> include('w34stats.php'); >>>>> but only file I see in the install package is w34stats.php.tmpl in the >>>>> skins directory and the apache log has lots of undefineds. >>>>> >>>>> Thanks Jerry >>>>> >>>>>> On Wednesday, May 22, 2019 at 11:30:16 PM UTC-7, steeple ian wrote: >>>>>> Hi, >>>>>> It looks like your PHP installation is missing some modules. Please look >>>>>> at the important information regarding installing PHP in the >>>>>> installation guide. >>>>>> >>>>>> I also recommend that you upgrade to PHP7 or later. >>>>>> >>>>>> Ian >>>>>> >>>>>> Sent from my iPad >>>>>> >>>>>> > On 23 May 2019, at 02:35, Jd D <[email protected]> wrote: >>>>>> > >>>>>> > PHP Fatal error: Uncaught Error: Call to undefined function >>>>>> > mb_internal_encoding() in /var/www/html/pws_new/common.php:5\nStack >>>>>> > trace:\n#0 /var/www/html/pws_new/index.php(59): include_once()\n#1 >>>>>> > {main}\n thrown in /var/www/html/pws_new/common.php on line 5 >>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google Groups >>>>> "weewx-user" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send an >>>>> email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/weewx-user/fc6d7fc0-163e-46fa-b695-ade13f743f46%40googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "weewx-user" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/weewx-user/438b634b-39b6-43f7-b424-963c022c2b7c%40googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "weewx-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/weewx-user/d394fa49-4222-451b-95bd-cae7dccaa6b4%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/7A46EF8B-3E88-4E8A-86D5-22D3153BC5A9%40gmail.com. For more options, visit https://groups.google.com/d/optout.
