Weewx not working after update

311 views
Skip to first unread message

David Johns

unread,
Nov 27, 2016, 12:13:25 PM11/27/16
to weewx-user
Hi,
My weewx has been running great for a couple of years on my ubuntu server 14.04LTS and so I thought it was time to update the owfs to 3.1p4 and weewx to 3.6.2. The updates went fairly swimmingly but when I try and start weewx, I get this mess in the syslog:-


Nov 27 12:31:15 localhost weewx[23208]: engine: Initializing weewx version 3.6.2
Nov 27 12:31:15 localhost weewx[23208]: engine: Using Python 2.7.6 (default, Jun 22 2015, 17:58:13) #12[GCC 4.8.2]
Nov 27 12:31:15 localhost weewx[23208]: engine: Platform Linux-3.13.0-88-generic-x86_64-with-Ubuntu-14.04-trusty
Nov 27 12:31:15 localhost weewx[23208]: engine: pid file is /var/run/weewx.pid
Nov 27 12:31:15 localhost weewx[23212]: engine: Using configuration file /etc/weewx/weewx.conf
Nov 27 12:31:15 localhost weewx[23212]: engine: Loading station type OWFS (user.owfs)
Nov 27 12:31:15 localhost weewx[23212]: engine: Caught unrecoverable exception in engine:
Nov 27 12:31:15 localhost weewx[23212]: **** libow-3.1.so.4: cannot open shared object file: No such file or directory
Nov 27 12:31:15 localhost weewx[23212]: **** Traceback (most recent call last):
Nov 27 12:31:15 localhost weewx[23212]: **** File "/usr/share/weewx/weewx/engine.py", line 841, in main
Nov 27 12:31:15 localhost weewx[23212]: **** engine = engine_class(config_dict)
Nov 27 12:31:15 localhost weewx[23212]: **** File "/usr/share/weewx/weewx/engine.py", line 70, in init
Nov 27 12:31:15 localhost weewx[23212]: **** self.setupStation(config_dict)
Nov 27 12:31:15 localhost weewx[23212]: **** File "/usr/share/weewx/weewx/engine.py", line 94, in setupStation
Nov 27 12:31:15 localhost weewx[23212]: **** import(driver)
Nov 27 12:31:15 localhost weewx[23212]: **** File "/usr/share/weewx/user/owfs.py", line 166, in
Nov 27 12:31:15 localhost weewx[23212]: **** import ow
Nov 27 12:31:15 localhost weewx[23212]: **** File "/usr/lib/python2.7/dist-packages/ow/init.py", line 33, in
Nov 27 12:31:15 localhost weewx[23212]: **** from ow import _OW
Nov 27 12:31:15 localhost weewx[23212]: **** ImportError: libow-3.1.so.4: cannot open shared object file: No such file or directory
Nov 27 12:31:15 localhost weewx[23212]: **** Exiting.

My owfs is actually located in opt/owfs as it is compiled to the latest version. The latest on offer through Ubuntu is only 2.9 and I believe this does not support the new Hobbyboards barometer.

My previous version of weewx was 3.2.1.

I can actually get weewx to run if I set the driver to Simulated.

I would appreciate some assistance in getting my weather station running again.

 
David

mwall

unread,
Nov 27, 2016, 12:26:51 PM11/27/16
to weewx-user
On Sunday, November 27, 2016 at 12:13:25 PM UTC-5, David Johns wrote:
Nov 27 12:31:15 localhost weewx[23212]: **** File "/usr/lib/python2.7/dist-packages/ow/init.py", line 33, in
Nov 27 12:31:15 localhost weewx[23212]: **** from ow import _OW
Nov 27 12:31:15 localhost weewx[23212]: **** ImportError: libow-3.1.so.4: cannot open shared object file: No such file or directory
Nov 27 12:31:15 localhost weewx[23212]: **** Exiting.

My owfs is actually located in opt/owfs as it is compiled to the latest version. The latest on offer through Ubuntu is only 2.9 and I believe this does not support the new Hobbyboards barometer.


david,

where was owfs in your previous installation/configuration?  did you build/install it yourself, or did you install it using your system's package manager?

you probably just need to set LD_LIBRARY_PATH so that weewx can find the shared libraries.  for example, try something like this:

export LD_LIBRARY_PATH=/opt/owfs/lib
weewxd /etc/weewx/weewx.conf


if that works, then set LD_LIBRARY_PATH in your rc script

simulator works because it does not use owfs

m

David Johns

unread,
Nov 27, 2016, 12:41:38 PM11/27/16
to weewx...@googlegroups.com

Hi

owfs was installed in /opt/owfs as I believe that is the default when it was installed by compiling.

With regards to the rest, I don't understand where to put LD_LIBRARY_PATH and also the weewxd

Weewx is being run as a service. ie sudo service weewx start

There is no RC script as far as I am aware.


David

--
You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/mbldmY3J7o4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

mwall

unread,
Nov 27, 2016, 1:04:23 PM11/27/16
to weewx-user
On Sunday, November 27, 2016 at 12:41:38 PM UTC-5, David Johns wrote:
With regards to the rest, I don't understand where to put LD_LIBRARY_PATH and also the weewxd

first try these two lines at the command prompt:

export LD_LIBRARY_PATH=/opt/owfs/lib
weewxd /etc/weewx/weewx.conf
 
the LD_LIBRARY_PATH tells weewxd where to find shared libraries.  most of the time you don't have to set LD_LIBRARY_PATH, because libraries live in locations that are already known, e.g., /lib or /usr/lib.  /opt/owfs is a standard way to install owfs, but /opt/owfs/lib is not in the list of known library locations.

Weewx is being run as a service. ie sudo service weewx start

There is no RC script as far as I am aware.


/etc/init.d/weewx is the RC script.  it is invoked when you do 'sudo service weewx start'

if setting the LD_LIBRARY_PATH worked in the experiment above, then you need to set it when weewxd is run via the rc script.

one way to do that is to put this near the top of the rc script:

LD_LIBRARY_PATH=/opt/owfs

a safer way to do that is to put it in the defaults file for weewx:

echo "LD_LIBRARY_PATH=/opt/owfs" | sudo tee /etc/defaults/weewx

that way you won't have to modify /etc/init.d/weewx every time up upgrade weewx.

m

David Johns

unread,
Nov 27, 2016, 1:12:04 PM11/27/16
to weewx...@googlegroups.com

Hi,

I tried those two lines didn't work and have thrown thias up:-

Nov 27 18:05:35 localhost weewx[27915]: engine: Initializing weewx version 3.6.2
Nov 27 18:05:35 localhost weewx[27915]: engine: Using Python 2.7.6 (default, Jun 22 2015, 17:58:13) #012[GCC 4.8.2]
Nov 27 18:05:35 localhost weewx[27915]: engine: Platform Linux-3.13.0-88-generic-x86_64-with-Ubuntu-14.04-trusty
Nov 27 18:05:35 localhost weewx[27915]: engine: Using configuration file /etc/weewx/weewx.conf
Nov 27 18:05:35 localhost weewx[27915]: engine: Loading station type OWFS (user.owfs)
Nov 27 18:05:38 localhost weewx[27915]: owfs: driver version is 0.18
Nov 27 18:05:38 localhost weewx[27915]: owfs: interface is localhost:4304
Nov 27 18:05:38 localhost weewx[27915]: owfs: sensor map is {'Temp': '/uncached/28.05AF5B010000/temperature12', 'windDir': '/uncached/1F.CB6C05000000/main/20.BA8400000000', 'windSpeed': '/uncached/1F.CB6C05000000/main/1D.604A01000000', 'extraTemp1': '/uncached/1F.CB6C05000000/aux/26.D1FA80000000/temperature', 'rain': '/uncached/1F.056505000000/main/1D.FEC40D000000', 'barometer': '/uncached/1F.056505000000/aux/EF.307520150000/barometer', 'Temp2': '/uncached/1F.056505000000/aux/EF.307520150000/barometer/temperature', 'outTemp': '/uncached/1F.1B5D05000000/main/26.DA158F010000/temperature', 'outHumidity': '/uncached/1F.1B5D05000000/main/26.DA158F010000/humidity'}
Nov 27 18:05:38 localhost weewx[27915]: owfs: sensor type map is {'windDir': 'aag_windvane', 'windSpeed': 'aag_windspeed', 'rain': 'rainwise_bucket'}
Nov 27 18:05:38 localhost weewx[27915]: owfs: polling interval is 10
Nov 27 18:05:38 localhost weewx[27915]: owfs: sensor unit system is metric
Nov 27 18:05:38 localhost weewx[27915]: engine: StdConvert target unit is 0x11
Nov 27 18:05:38 localhost weewx[27915]: wxcalculate: The following values will be calculated: barometer=prefer_hardware, windchill=prefer_hardware, dewpoint=prefer_hardware, appTemp=prefer_hardware, rainRate=prefer_hardware, windrun=prefer_hardware, heatindex=prefer_hardware, maxSolarRad=prefer_hardware, humidex=prefer_hardware, pressure=prefer_hardware, inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, cloudbase=prefer_hardware
Nov 27 18:05:38 localhost weewx[27915]: wxcalculate: The following algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
Nov 27 18:05:38 localhost weewx[27915]: engine: Archive will use data binding wx_binding
Nov 27 18:05:38 localhost weewx[27915]: engine: Record generation will be attempted in 'software'
Nov 27 18:05:38 localhost weewx[27915]: engine: Using archive interval of 300 seconds (specified in weewx configuration)
Nov 27 18:05:38 localhost weewx[27915]: engine: Using binding 'wx_binding' to database 'weewx'
Nov 27 18:05:38 localhost weewx[27915]: manager: Starting backfill of daily summaries
Nov 27 18:05:38 localhost weewx[27915]: manager: Daily summaries up to date
Nov 27 18:05:38 localhost weewx[27915]: restx: StationRegistry: Station will be registered.
Nov 27 18:05:38 localhost weewx[27915]: restx: Wunderground-PWS: Data for station INORTHAM16 will be posted
Nov 27 18:05:38 localhost weewx[27915]: restx: PWSweather: Posting not enabled.
Nov 27 18:05:38 localhost weewx[27915]: restx: CWOP: Posting not enabled.
Nov 27 18:05:38 localhost weewx[27915]: restx: WOW: Posting not enabled.
Nov 27 18:05:38 localhost weewx[27915]: restx: AWEKAS: Posting not enabled.
Nov 27 18:05:38 localhost weewx[27915]: engine: Starting up weewx version 3.6.2
Nov 27 18:05:38 localhost weewx[27915]: engine: Starting main packet loop.
Nov 27 18:05:40 localhost weewx[27915]: engine: Caught unrecoverable exception in engine:
Nov 27 18:05:40 localhost weewx[27915]:     ****  could not convert string to float:
Nov 27 18:05:40 localhost weewx[27915]:     ****  Traceback (most recent call last):
Nov 27 18:05:40 localhost weewx[27915]:     ****    File "/usr/share/weewx/weewx/engine.py", line 847, in main
Nov 27 18:05:40 localhost weewx[27915]:     ****      engine.run()
Nov 27 18:05:40 localhost weewx[27915]:     ****    File "/usr/share/weewx/weewx/engine.py", line 186, in run
Nov 27 18:05:40 localhost weewx[27915]:     ****      for packet in self.console.genLoopPackets():
Nov 27 18:05:40 localhost weewx[27915]:     ****    File "/usr/share/weewx/user/owfs.py", line 441, in genLoopPackets
Nov 27 18:05:40 localhost weewx[27915]:     ****      last_data, p['dateTime'])
Nov 27 18:05:40 localhost weewx[27915]:     ****    File "/usr/share/weewx/user/owfs.py", line 194, in gauge
Nov 27 18:05:40 localhost weewx[27915]:     ****      return get_float(path)
Nov 27 18:05:40 localhost weewx[27915]:     ****    File "/usr/share/weewx/user/owfs.py", line 190, in get_float
Nov 27 18:05:40 localhost weewx[27915]:     ****      v = float(sv)
Nov 27 18:05:40 localhost weewx[27915]:     ****  ValueError: could not convert string to float:
Nov 27 18:05:40 localhost weewx[27915]:     ****  Exiting.


David

mwall

unread,
Nov 27, 2016, 1:24:24 PM11/27/16
to weewx-user
On Sunday, November 27, 2016 at 1:12:04 PM UTC-5, David Johns wrote:

Hi,

I tried those two lines didn't work and have thrown thias up:-


good!  the LD_LIBRARY_PATH works.  be sure to put

LD_LIBRARY_PATH=/opt/owfs/lib

into the file /etc/default/weewx

now you have a problem reading a sensor.

please install owfs 0.19rc1.  it will provide more details about the sensor problem.

http://lancet.mit.edu/mwall/projects/weather/releases/weewx-owfs-0.19rc1.tgz

m

David Johns

unread,
Nov 27, 2016, 1:55:16 PM11/27/16
to weewx...@googlegroups.com

Hi,

Ok. There is no such directory as etc/defaults on this version of ubuntu. So I have added the LD_LIBRARY_PATH to the weewx file in /etc/init.d/

It still did not work starting weewx in the usual way (service weewx start) and threw up the original errors.

However, I tried the way you said by running weewxd /etc/weewx/weewx.conf and gives the following output. However running as a  service still does not work and still complains about "libow-3.1.so.4: cannot open shared object file: No such file or directory".

Nov 27 18:49:20 localhost weewx[28868]: engine: Initializing weewx version 3.6.2
Nov 27 18:49:20 localhost weewx[28868]: engine: Using Python 2.7.6 (default, Jun 22 2015, 17:58:13) #012[GCC 4.8.2]
Nov 27 18:49:20 localhost weewx[28868]: engine: Platform Linux-3.13.0-88-generic-x86_64-with-Ubuntu-14.04-trusty
Nov 27 18:49:20 localhost weewx[28868]: engine: Using configuration file /etc/weewx/weewx.conf
Nov 27 18:49:20 localhost weewx[28868]: engine: Loading station type OWFS (user.owfs)
Nov 27 18:49:22 localhost weewx[28868]: owfs: driver version is 0.19rc1
Nov 27 18:49:22 localhost weewx[28868]: owfs: interface is localhost:4304
Nov 27 18:49:22 localhost weewx[28868]: owfs: sensor map is {'Temp': '/uncached/28.05AF5B010000/temperature12', 'windDir': '/uncached/1F.CB6C05000000/main/20.BA8400000000', 'windSpeed': '/uncached/1F.CB6C05000000/main/1D.604A01000000', 'extraTemp1': '/uncached/1F.CB6C05000000/aux/26.D1FA80000000/temperature', 'rain': '/uncached/1F.056505000000/main/1D.FEC40D000000', 'barometer': '/uncached/1F.056505000000/aux/EF.307520150000/barometer', 'Temp2': '/uncached/1F.056505000000/aux/EF.307520150000/barometer/temperature', 'outTemp': '/uncached/1F.1B5D05000000/main/26.DA158F010000/temperature', 'outHumidity': '/uncached/1F.1B5D05000000/main/26.DA158F010000/humidity'}
Nov 27 18:49:22 localhost weewx[28868]: owfs: sensor type map is {'windDir': 'aag_windvane', 'windSpeed': 'aag_windspeed', 'rain': 'rainwise_bucket'}
Nov 27 18:49:22 localhost weewx[28868]: owfs: polling interval is 10
Nov 27 18:49:22 localhost weewx[28868]: owfs: sensor unit system is metric
Nov 27 18:49:22 localhost weewx[28868]: engine: StdConvert target unit is 0x11
Nov 27 18:49:22 localhost weewx[28868]: wxcalculate: The following values will be calculated: barometer=prefer_hardware, windchill=prefer_hardware, dewpoint=prefer_hardware, appTemp=prefer_hardware, rainRate=prefer_hardware, windrun=prefer_hardware, heatindex=prefer_hardware, maxSolarRad=prefer_hardware, humidex=prefer_hardware, pressure=prefer_hardware, inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, cloudbase=prefer_hardware
Nov 27 18:49:22 localhost weewx[28868]: wxcalculate: The following algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
Nov 27 18:49:22 localhost weewx[28868]: engine: Archive will use data binding wx_binding
Nov 27 18:49:22 localhost weewx[28868]: engine: Record generation will be attempted in 'software'
Nov 27 18:49:22 localhost weewx[28868]: engine: Using archive interval of 300 seconds (specified in weewx configuration)
Nov 27 18:49:22 localhost weewx[28868]: engine: Using binding 'wx_binding' to database 'weewx'
Nov 27 18:49:22 localhost weewx[28868]: manager: Starting backfill of daily summaries
Nov 27 18:49:22 localhost weewx[28868]: manager: Daily summaries up to date
Nov 27 18:49:22 localhost weewx[28868]: restx: StationRegistry: Station will be registered.
Nov 27 18:49:22 localhost weewx[28868]: restx: Wunderground-PWS: Data for station INORTHAM16 will be posted
Nov 27 18:49:22 localhost weewx[28868]: restx: PWSweather: Posting not enabled.
Nov 27 18:49:22 localhost weewx[28868]: restx: CWOP: Posting not enabled.
Nov 27 18:49:22 localhost weewx[28868]: restx: WOW: Posting not enabled.
Nov 27 18:49:22 localhost weewx[28868]: restx: AWEKAS: Posting not enabled.
Nov 27 18:49:22 localhost weewx[28868]: engine: Starting up weewx version 3.6.2
Nov 27 18:49:22 localhost weewx[28868]: engine: Starting main packet loop.
Nov 27 18:49:24 localhost weewx[28868]: owfs: Failed to get sensor data for barometer (gauge): could not convert string to float:
Nov 27 18:49:37 localhost weewx[28868]: owfs: Failed to get sensor data for barometer (gauge): could not convert string to float:
Nov 27 18:49:51 localhost weewx[28868]: owfs: Failed to get sensor data for windDir (aag_windvane): '/uncached/1F.CB6C05000000/main/20.BA8400000000/volt.ALL'
Nov 27 18:49:52 localhost weewx[28868]: owfs: Failed to get sensor data for barometer (gauge): could not convert string to float:


But, I need weewx to run as a service as it did before.


David

mwall

unread,
Nov 27, 2016, 2:44:21 PM11/27/16
to weewx-user


On Sunday, November 27, 2016 at 1:55:16 PM UTC-5, David Johns wrote:

Hi,

Ok. There is no such directory as etc/defaults on this version of ubuntu. So I have added the LD_LIBRARY_PATH to the weewx file in /etc/init.d/

It still did not work starting weewx in the usual way (service weewx start) and threw up the original errors.

However, I tried the way you said by running weewxd /etc/weewx/weewx.conf and gives the following output. However running as a  service still does not work and still complains about "libow-3.1.so.4: cannot open shared object file: No such file or directory".


david,

i mistyped.  the directory is /etc/default, not /etc/defaults.  so do this:

echo "LD_LIBRARY_PATH=/opt/owfs/lib" | sudo tee /etc/default/weewx

that should make weewx run properly when you invoke it using the 'service' command.

your second problem is actually a bigger issue - owfs is not returning data for your sensors.  is the owfs server running?  (it looks like you are reading from the owfs server, not from a serial/i2c/usb interface)

m

David Johns

unread,
Nov 27, 2016, 2:51:48 PM11/27/16
to weewx...@googlegroups.com

Hi,

I've done that but I am still getting this:-


Nov 27 19:49:55 localhost weewx[29712]: engine: Initializing weewx version 3.6.2
Nov 27 19:49:55 localhost weewx[29712]: engine: Using Python 2.7.6 (default, Jun 22 2015, 17:58:13) #012[GCC 4.8.2]
Nov 27 19:49:56 localhost weewx[29712]: engine: Platform Linux-3.13.0-88-generic-x86_64-with-Ubuntu-14.04-trusty
Nov 27 19:49:56 localhost weewx[29712]: engine: pid file is /var/run/weewx.pid
Nov 27 19:49:56 localhost weewx[29716]: engine: Using configuration file /etc/weewx/weewx.conf
Nov 27 19:49:56 localhost weewx[29716]: engine: Loading station type OWFS (user.owfs)
Nov 27 19:49:56 localhost weewx[29716]: engine: Caught unrecoverable exception in engine:
Nov 27 19:49:56 localhost weewx[29716]:     ****  libow-3.1.so.4: cannot open shared object file: No such file or directory
Nov 27 19:49:56 localhost weewx[29716]:     ****  Traceback (most recent call last):
Nov 27 19:49:56 localhost weewx[29716]:     ****    File "/usr/share/weewx/weewx/engine.py", line 841, in main
Nov 27 19:49:56 localhost weewx[29716]:     ****      engine = engine_class(config_dict)
Nov 27 19:49:56 localhost weewx[29716]:     ****    File "/usr/share/weewx/weewx/engine.py", line 70, in __init__
Nov 27 19:49:56 localhost weewx[29716]:     ****      self.setupStation(config_dict)
Nov 27 19:49:56 localhost weewx[29716]:     ****    File "/usr/share/weewx/weewx/engine.py", line 94, in setupStation
Nov 27 19:49:56 localhost weewx[29716]:     ****      __import__(driver)
Nov 27 19:49:56 localhost weewx[29716]:     ****    File "/usr/share/weewx/user/owfs.py", line 166, in <module>
Nov 27 19:49:56 localhost weewx[29716]:     ****      import ow
Nov 27 19:49:56 localhost weewx[29716]:     ****    File "/usr/lib/python2.7/dist-packages/ow/__init__.py", line 33, in <module>
Nov 27 19:49:56 localhost weewx[29716]:     ****      from ow import _OW
Nov 27 19:49:56 localhost weewx[29716]:     ****  ImportError: libow-3.1.so.4: cannot open shared object file: No such file or directory
Nov 27 19:49:56 localhost weewx[29716]:     ****  Exiting.


David

mwall

unread,
Nov 27, 2016, 3:32:10 PM11/27/16
to weewx-user
david,

please post /etc/init.d/weewx and /etc/default/weewx

m

David Johns

unread,
Nov 27, 2016, 4:24:03 PM11/27/16
to weewx...@googlegroups.com

Hi,

/etc/init.d/weewx

#! /bin/sh
# Author: Tom Keffer <kef...@gmail.com>
# Startup script for Debian derivatives
#
# the skeleton script in debian 6 does not work properly in package scripts.
# the return/exit codes cause {pre|post}{inst|rm} to fail regardless of the
# script completion status.  this script exits explicitly.
#
# the skeleton script also does not work properly with python applications,
# as the lsb tools cannot distinguish between the python interpreter and
# the python code that was invoked.  this script uses ps and grep to look
# for the application signature instead of using the lsb tools to determine
# whether the app is running.
#
### BEGIN INIT INFO
# Provides:          weewx
# Required-Start:    $local_fs $remote_fs $syslog $ntp
# Required-Stop:     $local_fs $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: weewx weather system
# Description:       Manages the weewx weather system
### END INIT INFO

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
LD_LIBRARY_PATH=/opt/owfs/lib
WEEWX_BIN=/usr/bin/weewxd
WEEWX_CFG=/etc/weewx/weewx.conf
DESC="weewx weather system"
NAME=weewx
WEEWX_USER=root:root
PIDFILE=/var/run/$NAME.pid
DAEMON=$WEEWX_BIN
DAEMON_ARGS="--daemon --pidfile=$PIDFILE $WEEWX_CFG"
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$WEEWX_BIN" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# start the daemon/service
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
# check using ps not the pid file.  pid file could be leftover.
do_start() {
    NPROC=$(count_procs)
    if [ $NPROC != 0 ]; then
        return 1
    fi
    start-stop-daemon --start --chuid $WEEWX_USER --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 2
    return 0
}

# stop the daemon/service
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
do_stop() {
    # bail out if the app is not running
    NPROC=$(count_procs)
    if [ $NPROC = 0 ]; then
        return 1
    fi
    # bail out if there is no pid file
    if [ ! -f $PIDFILE ]; then
        return 1
    fi
    start-stop-daemon --stop --pidfile $PIDFILE
    # we cannot trust the return value from start-stop-daemon
    RETVAL=2
    c=0
    while [ $c -lt 24 -a "$RETVAL" = "2" ]; do
        c=`expr $c + 1`
        # process may not really have completed, so check it
        NPROC=$(count_procs)
        if [ $NPROC = 0 ]; then
            RETVAL=0
        else
            echo -n "."
            sleep 5
        fi
    done
    if [ "$RETVAL" = "0" -o "$RETVAL" = "1" ]; then
        # delete the pid file just in case
        rm -f $PIDFILE
    fi
    return "$RETVAL"
}

# send a SIGHUP to the daemon/service
do_reload() {
    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE
    return 0
}

count_procs() {
    NPROC=`ps ax | grep $WEEWX_BIN | grep $NAME.pid | wc -l`
    echo $NPROC
}

RETVAL=0
case "$1" in
    start)
        log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
            0) log_end_msg 0; RETVAL=0 ;;
            1) log_action_cont_msg " already running" && log_end_msg 0; RETVAL=0 ;;
            2) log_end_msg 1; RETVAL=1 ;;
        esac
        ;;
    stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
            0) log_end_msg 0; RETVAL=0 ;;
            1) log_action_cont_msg " not running" && log_end_msg 0; RETVAL=0 ;;
            2) log_end_msg 1; RETVAL=1 ;;
        esac
        ;;
    status)
        NPROC=$(count_procs)
        if [ $NPROC -gt 1 ]; then
            MSG="running multiple times"
        elif [ $NPROC = 1 ]; then
            MSG="running"
        else
            MSG="not running"
        fi
        log_daemon_msg "Status of $DESC" "$MSG"
        log_end_msg 0
        RETVAL=0
        ;;
    reload|force-reload)
        log_daemon_msg "Reloading $DESC" "$NAME"
        do_reload
        RETVAL=$?
        log_end_msg $RETVAL
        ;;
    restart)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
            0|1)
           do_start
           case "$?" in
               0) log_end_msg 0; RETVAL=0 ;;
               1) log_end_msg 1; RETVAL=1 ;; # Old process still running
               *) log_end_msg 1; RETVAL=1 ;; # Failed to start
           esac
           ;;
            *)
           # Failed to stop
           log_end_msg 1
           RETVAL=1
           ;;
        esac
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload}"
        exit 3
        ;;
esac

exit $RETVAL





/etc/default/weewx

LD_LIBRARY_PATH=/opt/owfs/lib


Regards

David

mwall

unread,
Nov 27, 2016, 5:16:53 PM11/27/16
to weewx-user
since LD_LIBRARY_PATH is only set, not exported, weewxd never sees it.  you probably need to preface the LD_LIBRARY_PATH with an export.  so /etc/default/weewx should contain this:

export LD_LIBRARY_PATH=/opt/owfs/lib

and you can remove the LD_LIBRARY_PATH from /etc/init.d/weewx

m

David Johns

unread,
Nov 27, 2016, 10:23:05 PM11/27/16
to weewx...@googlegroups.com

Thanks M......

That has sorted Weewx from crashing. I also did have the unrecoverable error below but I have corrected that by comparing my config with weewx.conf.dist. I found I had some old template tags from when I was messing with different templates months ago. No idea why they would have caused problems now but I am glad I resolved this one.

I also messed up my templates as they had been overwritten in the upgrade but I have now corrected these.

I realise I have a problem with my AAG wind instrument and I think I will take it down tomorrow and give it a service in an attempt to resolve this.

The remaining problem I have now is that I cannot get either my new HB barometer or the EDS0066 pressure sensor to work.


Solved:

Nov 28 02:48:33 localhost weewx[4420]: owfs: Failed to get sensor data for windDir (aag_windvane): '/uncached/1F.CB6C05000000/main/20.BA8400000000/volt.ALL'
Nov 28 02:50:26 localhost weewx[4420]: manager: added record 2016-11-28 02:50:00 GMT (1480301400) to database 'weewx'
Nov 28 02:50:26 localhost weewx[4420]: manager: added record 2016-11-28 02:50:00 GMT (1480301400) to daily summary in 'weewx'
Nov 28 02:50:29 localhost weewx[4420]: restx: Wunderground-PWS: Published record 2016-11-28 02:50:00 GMT (1480301400)
Nov 28 02:50:32 localhost weewx[4420]: cheetahgenerator: Generated 14 files for report StandardReport in 2.72 seconds
Nov 28 02:50:32 localhost weewx[4420]: genimages: Generated 12 images for StandardReport in 0.38 seconds
Nov 28 02:50:32 localhost weewx[4420]: reportengine: copied 9 files to /var/www/html/weewx
Nov 28 02:50:32 localhost weewx[4420]: reportengine: Caught unrecoverable exception in generator weewx.cheetahgenerator.CheetahGenerator
Nov 28 02:50:32 localhost weewx[4420]:         ****  'skin'
Nov 28 02:50:32 localhost weewx[4420]:         ****  Traceback (most recent call last):
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 238, in run
Nov 28 02:50:32 localhost weewx[4420]:         ****      obj.start()
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 271, in start
Nov 28 02:50:32 localhost weewx[4420]:         ****      self.run()
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 150, in run
Nov 28 02:50:32 localhost weewx[4420]:         ****      ngen = self.generate(gen_dict[section_name], self.gen_ts)
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 219, in generate
Nov 28 02:50:32 localhost weewx[4420]:         ****      ngen += self.generate(section[subsection], gen_ts)
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 219, in generate
Nov 28 02:50:32 localhost weewx[4420]:         ****      ngen += self.generate(section[subsection], gen_ts)
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 234, in generate
Nov 28 02:50:32 localhost weewx[4420]:         ****      self.skin_dict['skin']))
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/lib/python2.7/dist-packages/configobj.py", line 567, in __getitem__
Nov 28 02:50:32 localhost weewx[4420]:         ****      val = dict.__getitem__(self, key)
Nov 28 02:50:32 localhost weewx[4420]:         ****  KeyError: 'skin'
Nov 28 02:50:32 localhost weewx[4420]:         ****  Generator terminated
Nov 28 02:50:32 localhost weewx[4420]: genimages: Generated 12 images for HTMLPages in 0.30 seconds
Nov 28 02:50:32 localhost weewx[4420]: reportengine: Caught unrecoverable exception in generator weewx.reportengine.CopyGenerator
Nov 28 02:50:32 localhost weewx[4420]:         ****  'skin'
Nov 28 02:50:32 localhost weewx[4420]:         ****  Traceback (most recent call last):
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 238, in run
Nov 28 02:50:32 localhost weewx[4420]:         ****      obj.start()
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 271, in start
Nov 28 02:50:32 localhost weewx[4420]:         ****      self.run()
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 415, in run
Nov 28 02:50:32 localhost weewx[4420]:         ****      self.skin_dict['skin']))
Nov 28 02:50:32 localhost weewx[4420]:         ****    File "/usr/lib/python2.7/dist-packages/configobj.py", line 567, in __getitem__
Nov 28 02:50:32 localhost weewx[4420]:         ****      val = dict.__getitem__(self, key)
Nov 28 02:50:32 localhost weewx[4420]:         ****  KeyError: 'skin'
Nov 28 02:50:32 localhost weewx[4420]:         ****  Generator terminated
Nov 28 02:50:35 localhost weewx[4420]: genimages: Generated 6 images for BigImages in 2.83 seconds
Nov 28 02:50:36 localhost weewx[4420]: genimages: Generated 6 images for SmallImages in 0.88 seconds
Nov 28 02:50:41 localhost weewx[4420]: restx: StationRegistry: Published record 2016-11-28 02:50:00 GMT (1480301400)



David

David Johns

unread,
Nov 28, 2016, 3:28:35 AM11/28/16
to weewx...@googlegroups.com

Hi,

I've just looked at the wind direction sensor which is causing the errors using owhttpd and I've got this invalid argument error. Apart from this and my barometers, the station appears to be working fine. I am thinking of building my own barometer from David Bray's version 3 schematics etc:-





David




On 27/11/2016 22:16, mwall wrote:
Reply all
Reply to author
Forward
0 new messages