I shut down weewx and rebooted the Pi as it occurred to me hot plugging the weather station might be a problem, and then restarted Pi again with 'debug=1'. It's not finding the weather station:
Dec 16 14:23:02 weather2 systemd[1]: Stopping LSB: weewx weather system... Dec 16 14:23:02 weather2 weewx[9448]: Stopping weewx weather system: weewx not running.... Dec 16 14:23:02 weather2 systemd[1]: Starting LSB: weewx weather system... Dec 16 14:23:03 weather2 weewx[9472]: engine: Initializing weewx version 3.6.2 Dec 16 14:23:03 weather2 weewx[9472]: engine: Using Python 2.7.9 (default, Sep 17 2016, 20:26:04) #012[GCC 4.9.2] Dec 16 14:23:03 weather2 weewx[9472]: engine: Platform Linux-4.4.34+-armv6l-with-debian-8.0 Dec 16 14:23:04 weather2 weewx[9472]: engine: pid file is /var/run/weewx.pid Dec 16 14:23:04 weather2 weewx[9462]: Starting weewx weather system: weewx. Dec 16 14:23:04 weather2 systemd[1]: Started LSB: weewx weather system. Dec 16 14:23:04 weather2 weewx[9476]: engine: Using configuration file /home/weewx/weewx.conf Dec 16 14:23:04 weather2 weewx[9476]: engine: Initializing engine Dec 16 14:23:04 weather2 weewx[9476]: engine: Loading station type FineOffsetUSB (weewx.drivers.fousb) Dec 16 14:23:04 weather2 weewx[9476]: fousb: driver version is 1.9 Dec 16 14:23:04 weather2 weewx[9476]: fousb: polling mode is PERIODIC Dec 16 14:23:04 weather2 weewx[9476]: fousb: polling interval is 60 Dec 16 14:23:04 weather2 weewx[9476]: fousb: Cannot find USB device with Vendor=0x1941 ProdID=0x8021 Device=None Dec 16 14:23:04 weather2 weewx[9476]: import of driver failed: Unable to find USB device (<class 'weewx.WeeWxIOError'>) Dec 16 14:23:04 weather2 weewx[9476]: engine: Unable to load driver: Unable to find USB device Dec 16 14:23:04 weather2 weewx[9476]: **** Exiting... FineOffset is correct. Fiddling with the cable produced several of these: Dec 16 14:27:50 weather2 kernel: [ 1703.009271] usb 1-1.2: new low-speed USB device number 5 using dwc_otg Dec 16 14:27:50 weather2 kernel: [ 1703.155425] usb 1-1.2: New USB device found, idVendor=1941, idProduct=8021 Dec 16 14:27:50 weather2 kernel: [ 1703.155465] usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0 Dec 16 14:27:50 weather2 kernel: [ 1703.213542] hid-generic 0003:1941:8021.0001: hiddev0,hidraw0: USB HID v1.00 Device [HID 1941:8021] on usb-20980000.usb-1.2/input0 And I have this: pi@weather2:/home/weewx $ sudo lsusb Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter Bus 001 Device 008: ID 1941:8021 Dream Link WH1080 Weather Station / USB Missile Launcher Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Restarted weewx, the tail of syslog: 021] on usb-20980000.usb-1.2/input0 Dec 16 14:30:38 weather2 systemd[1]: Started LSB: weewx weather system. pi@weather2:/home/weewx $ date Fri 16 Dec 14:39:06 GMT 2016 pi@weather2:/home/weewx $ Connection problem, having disturbed a cable that was left to it's own devices for 4 years? New USB cable maybe? On Friday, 16 December 2016 14:15:44 UTC, Tom Keffer wrote: > Take a look at the "driver" option in weewx.conf and make sure it's > correct. > > If that's not the problem, then set debug=1, restart weewx, then follow > Andrew's suggestion of posting more of the log. > > -tk > > On Fri, Dec 16, 2016 at 5:57 AM, Auchtermuchty Weather <[email protected] > <javascript:>> wrote: > >> I was going to say this should be painless after some experimentation and >> realising I just needed (in outline) to copy over /home/weewx, and upgrade >> with setup.py - that was how I originally installed it, and I prefer having >> everything in one directory. >> >> However... Am getting these errors in syslog: >> >> Dec 16 13:32:12 weather2 weewx[625]: import of driver failed: 'module' >> object has no attribute 'getAltitudeM' (<type exceptions.AttributeError'>) >> Dec 16 13:32:12 weather2 weewx[625]: engine: Unable to load driver: >> 'module' object has no attribute 'getAltitudeM' >> Dec 16 13:32:12 weather2 weewx[625]: **** Exiting... >> Dec 16 13:35:34 weather2 rsyslogd-2007: action 'action 17' suspended, >> next retry is Fri Dec 16 13:36:34 2016 [try http://www.rsyslog.com/e/2007 >> ] >> >> There is no output to /home/weewx/public_html being created - the most >> recent time is before I stopped the old Pi. >> >> On Friday, 9 December 2016 10:41:37 UTC, Auchtermuchty Weather wrote: >> >>> I realised that not only am I running an old (2.7) version of Weewx, the >>> RPi it's on is short of room on the SD card - it's an old B model with an >>> SD card. >>> >>> I had a B+ Pi doing nothing (Micro SD card, 4 USB ports) so I put the >>> latest Raspberrian on an 8GB card and then installed Weewx and it's working >>> fine with the simulator - the HTML files are being produced with correct >>> units & layout. >>> >>> Not quite sure what the process of changing the two over is though. I >>> know I will have to copy some stuff across (not a problem as both are on my >>> network), not sure what stuff though. >>> >>> Nor am I sure if there are any 'gotchas' I need to be aware of. >>> >>> -- >> 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] <javascript:>. >> 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]. For more options, visit https://groups.google.com/d/optout.
# WEEWX CONFIGURATION FILE # # Copyright (c) 2009-2015 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 = 0 debug=1 # Root directory of the weewx data file hierarchy for this station WEEWX_ROOT = /home/weewx # 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.6.2 ############################################################################## # This section is for information about the station. [Station] # Description of the station location location = Auchtermuchty, Fife, Scotland # Latitude and longitude in decimal degrees latitude = 56.290145 longitude = -3.231533 # Altitude of the station, with unit it is in. This is downloaded from # from the station if the hardware supports it. altitude = 48, meter # Choose 'foot' or 'meter' for unit # Set to type of station hardware. There must be a corresponding stanza # in this file with a 'driver' parameter indicating the driver to be used. station_type = FineOffsetUSB # 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 # If you have a website, you may optionally specify an URL for # its HTML server. #station_url = http://www.example.com station_url = http://muchty-weather.org.uk/weather ############################################################################## [CC3000] # This section is for RainWise MarkIII weather stations and CC3000 logger. # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0 port = /dev/ttyUSB0 # The station model, e.g., CC3000 or CC3000R model = CC3000 # The driver to use: driver = weewx.drivers.cc3000 ############################################################################## [FineOffsetUSB] # This section is for the Fine Offset series of weather stations. # The station model, e.g., WH1080, WS1090, WS2080, WH3081 model = WH1080 # The polling mode can be PERIODIC or ADAPTIVE polling_mode = PERIODIC # How often to poll the station for data, in seconds polling_interval = 60 # The pressure calibration offset, in hPa (millibars) pressure_offset = 0 # The driver to use: driver = weewx.drivers.fousb ############################################################################## [Simulator] # This section 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. If not specified, the default is to use the present time. #start = 2011-01-01 00:00 # The driver to use: driver = weewx.drivers.simulator ############################################################################## [TE923] # This section is for the Hideki TE923 series of weather stations. # The station model, e.g., 'Meade TE923W' or 'TFA Nexus' model = TE923 # The driver to use: driver = weewx.drivers.te923 # The default configuration associates the channel 1 sensor with outTemp # and outHumidity. To change this, or to associate other channels with # specific columns in the database schema, use the following maps. [[sensor_map]] # Map the remote sensors to columns in the database schema. outTemp = t_1 outHumidity = h_1 extraTemp1 = t_2 extraHumid1 = h_2 extraTemp2 = t_3 extraHumid2 = h_3 extraTemp3 = t_4 # WARNING: the following are not in the default schema extraHumid3 = h_4 extraTemp4 = t_5 extraHumid4 = h_5 [[battery_map]] txBatteryStatus = batteryUV windBatteryStatus = batteryWind rainBatteryStatus = batteryRain outTempBatteryStatus = battery1 # WARNING: the following are not in the default schema extraBatteryStatus1 = battery2 extraBatteryStatus2 = battery3 extraBatteryStatus3 = battery4 extraBatteryStatus4 = battery5 ############################################################################## [Ultimeter] # This section is for the PeetBros Ultimeter series of weather stations. # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0 port = /dev/ttyUSB0 # The station model, e.g., Ultimeter 2000, Ultimeter 100 model = Ultimeter # The driver to use: driver = weewx.drivers.ultimeter ############################################################################## [Vantage] # This section is for a Davis VantagePro2, VantageVue or WeatherLinkIP # Connection type: serial or ethernet # serial (the classic VantagePro) # ethernet (the WeatherLinkIP) type = serial # If the connection type is serial, a port must be specified: # Debian, Ubuntu, Redhat, Fedora, and SuSE: # /dev/ttyUSB0 is a common USB port name # /dev/ttyS0 is a common serial port name # BSD: # /dev/cuaU0 is a common serial port name port = /dev/ttyUSB0 # If the connection type is ethernet, an IP Address/hostname is required: host = 1.2.3.4 ###################################################### # The rest of this section rarely needs any attention. # You can safely leave it "as is." ###################################################### # Serial baud rate (usually 19200) baudrate = 19200 # TCP port (when using the WeatherLinkIP) tcp_port = 22222 # TCP send delay (when using the WeatherLinkIP): tcp_send_delay = 1 # The id of your ISS station (usually 1) iss_id = 1 # How long to wait for a response from the station before giving up (in # seconds; must be greater than 2) timeout = 5 # How long to wait before trying again (in seconds) wait_before_retry = 1.2 # How many times to try before giving up: max_tries = 4 # The driver to use: driver = weewx.drivers.vantage ############################################################################## [WMR100] # This section is for the Oregon Scientific WMR100 # The station model, e.g., WMR100, WMR100N, WMRS200 model = WMR100 # How long a wind record can be used to calculate wind chill (in seconds) stale_wind = 30 # The driver to use: driver = weewx.drivers.wmr100 ############################################################################## [WMR200] # This section is for the Oregon Scientific WMR200 # The station model, e.g., WMR200, WMR200A, Radio Shack W200 model = WMR200 # The driver to use: driver = weewx.drivers.wmr200 ############################################################################## [WMR9x8] # This section is for the Oregon Scientific WMR918/968 # Connection type. For now, 'serial' is the only option. type = serial # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0 port = /dev/ttyUSB0 # The station model, e.g., WMR918, Radio Shack 63-1016 model = WMR968 # The driver to use: driver = weewx.drivers.wmr9x8 ############################################################################## [WS1] # This section is for the ADS WS1 series of weather stations. # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0 port = /dev/ttyUSB0 # The driver to use: driver = weewx.drivers.ws1 ############################################################################## [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 WS23xx # The pressure calibration offset, in hPa (millibars) pressure_offset = 0 # The driver to use: driver = weewx.drivers.ws23xx ############################################################################## [WS28xx] # This section is for the La Crosse WS-2800 series of weather stations. # Radio frequency to use between USB transceiver and console: US or EU # US uses 915 MHz, EU uses 868.3 MHz. Default is US. transceiver_frequency = US # The station model, e.g., 'LaCrosse C86234' or 'TFA Primus' model = LaCrosse WS28xx # The pressure calibration offset, in hPa (millibars) pressure_offset = 0 # The driver to use: driver = weewx.drivers.ws28xx ############################################################################## # 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 = True #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. enable = false username = replace_me password = replace_me # This section is for configuring posts to AWEKAS # If you wish to do this, uncomment the following username and password # lines and fill them with your username and password: #username = your AWEKAS username #password = your AWEKAS password log_success = True log_failure = True [[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 = true station = XX9999 # If you are an APRS (radio amateur) station, you will need a passcode # as well: #passcode = your passcode here eg, 12345 (APRS stations only) # How often we should post in seconds. 0=with every archive record post_interval = 600 log_success = True log_failure = True # 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. enable = true station = XXXXXX password = xxxxxxxx log_success = True log_failure = True [[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. enable = true station = 999999999 #your WOW station ID password = 999999 #your WOW password log_success = True log_failure = True [[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. enable = true station = XXXXXXXX9 #your Weather Underground station ID (eg, KORHOODR3) password = xxxxxxx #your Weather Underground password # Set the following to True to have weewx use the WU "Rapidfire" # protocol. Not all hardware can support it. See the User's Guide. rapidfire = False ############################################################################## # This section specifies what reports, using which skins, to generate. [StdReport] # Where the skins reside, relative to WEEWX_ROOT SKIN_ROOT = skins # Where the generated reports should go, relative to WEEWX_ROOT HTML_ROOT = public_html # The database binding indicates which data should be used in reports. data_binding = wx_binding # 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 [[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. #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 = public_html # Most FTP servers use port 21 port = 21 # Set to 1 to use passive mode, zero for active mode passive = 1 # FTP'ing the results to a webserver is treated as just another report, # albeit one with an unusual report generator! # # If you wish to use FTP, uncomment and fill out the next four lines: #user = replace with your username user = xxxxx #password = replace with your password password = xxxxxxx #server = replace with your server name, e.g, www.threefools.org server = 192.168.999.999 #path = replace with the destination directory (e.g., /weather) path = . #/var/www/muchty-weather/weather # How many times to try to transfer a file before giving up: max_tries = 3 [[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 following three lines determine where files will be sent. #server = replace with the rsync server name, e.g, www.threefools.org #path = replace with the rsync destination directory (e.g., /weather) #user = replace with the rsync username # 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 ############################################################################## # 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 = -40, 120, degree_F inTemp = 10, 120, degree_F outHumidity = 0, 100 inHumidity = 0, 100 windSpeed = 0, 50, mile_per_hour rain = 0, 60, inch pressure = 24, 34.5, inHg ############################################################################## # 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 = prefer_hardware heatindex = prefer_hardware 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 = 300 # How long to wait (in seconds) before processing new archive data. Must # be greater than zero. archive_delay = 15 # 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 #hardware # Whether to include LOOP data in hi/low statistics loop_hilo = True # The data binding used to save archive records data_binding = wx_binding ############################################################################## # This section binds a data store to a database. [DataBindings] [[wx_binding]] # The database must match one of the sections in [Databases]. # This is likely to be the only option you would want to change. database = archive_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 = %(WEEWX_ROOT)s/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 for the user name password = weewx ############################################################################## # 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 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
