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.
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.
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.
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.
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
Hi,
I tried those two lines didn't work and have thrown thias up:-
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
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".
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
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
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:
David
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:-