AndOwwClient — An Oww Client for Android

If you have an Android device you can now try my Android client to connect to Oww.

Main screen

0.86.2 – New Feature

Now compatible with the Hobbyboards soil moisture and leaf wetness sensors.

Soil moisture / leaf wetness board

Soil moisture / leaf wetness board

New command (when running "owwnogui -i"):


This is a means of providing device-specific setup. Currently two devices will accept special commands - the soil moisture / leaf wetness sensor and the WSI603A weather instrument.

For a soil moisture / leaf wetness sensor choose the device when presented with the list. You will then be asked to select a channel and the channel sensor type.

For a WSI603A you are asked for the LED mode, level and threshold values (when required). This lets you turn off the LEDs from Oww.

Oww News

Working on Raspberry Pi

Following reports of success with owwnogui on the Raspberry Pi I thought I'd have a go myself. There were no major problems, except that for the full gui version Oww expects Gtk 2.24, whereas currently the Debian Squeeze distribution provides 2.20. If you edit oww.ui with an editor such as nano to downgrade the version requirement it will work, albeit with a couple of warnings. I had to add the pi user to the dialout group. Besides a few other typical library dependcies (e.g. libcurl4-gnutls-dev, libusb-dev) I found I needed to add some X11 fonts for it to look right. Here is a screen grab:

Oww running on Raspberry Pi under LXDE

Version 0.86.1 – Bug Fix

UV sensors now saved to / read from the devices file.

Version 0.86.0 – New Feature – Read DS2760 (TAI8560) as a thermocouple

A few versions back I added support for the TAI8560, but just as a general ADC. I have now added support for thermocouple readout. See the calibration page for information on thermocouple settings.

I have also renamed and altered the units for the ADC function.

Owwl protocol now handles the new data types.

I have changed the mechanism for generating the GTK user interface.

The glade file (which is xml) is now distributed with oww, and is read-in at start up to construct the GUI. If you like you can mess around with the file using glade3.

Version 0.85.1 – Bug Fix

This version fixes a bug in uploads to Weunderground &c, introduced with 0.85.0.

Version 0.85.0 – New Feature - Support for Hobby Boards UVI sensor (UVI2-R1-A)

Oww can now read UVI from the UVI2-R1-A sensor.

UVI board

Also I have made an improvement to T reading from the AAG WSI603 weather station. Please let me know how well this works for you.


I just received a BeagleBone (for a project at work):

Naturally I had a go with Oww. After installing a few developer packages (using the opkg system - much like ipkg on Optware) building owwnogui natively on the BeagleBone was quite straight-forward. The kernel driver for the AAG TAI603B was already installed, so no problem. Even a DS9490R works.


Just thought I'd share this news, as the BeagleBoard makes a neat little embedded computer. Its abilities go way beyond running a little thing like Oww of course.

Version 0.84.0 – New Feature - WOW Upload

This version adds upload capability for the UK Met Office WOW format. Please see the WOW home page for registering your station.

New setup/setupNG lines will look like this:

httpwowid [Your ID]
httpwowpin [Your PIN]
httpwowon 1

N.B. Corrected 2011-11-23

This will upload to WOW on each log update.

I have also changed the number formatting for uploads.

Version 0.83.3 – Bug fixes.

This release addresses a problem with USB and 32-bit architectures. The previous bug fix for time-keeping had the unfortunate side-effect of stopping USB operations waiting long enough to complete.

There is still an issue with libusb on Optware, as a patch for digitemp has made it imcopatible with Oww. Please use libusb - 0.1.12-1

Version 0.83.1 – Bug fixes.

This is a bug-fix release. Please update to this version as 1-wire performance can be pretty ropey with the previous version on some set-ups.

Version 0.83.0

There are several updates in this release:

Thanks for user contributions.

Please report any issues.

AAG WSI603B 1-wire Adaptor

The Silicon Labs CP2101 USB-to-serial adaptor used in the WSI603B is not well-supported under Linux. The un-patched kernel driver doesn't seem to work. You can try this patch from Paul Erkkila which he has kindly allowed me to post here.

Version 0.82.2 – Bug fixes.

This has a couple of bug fixes, including sending the correct user name and password for Ham Weather uploads. Statistics reset is a bit more sensible for 1-shot operation now.

Version 0.82.1 – Bug fixes.

The main changes affect cwop, swapping two of the rain statistics.

A change to the statistics reset scheme should help 1-shot operation.

I've fed the latest changes into the RISC OS version, but note that I don't recommend using the WUnderground fast update on RISC OS, as there is a memory leak using the http fetcher module.

Version 0.82.0

Changes to libusb calls
Oww should now operate correctly with recent Linux kernels
Waveform slew/timing adjustments for DS2490.
This may help in installations where a DS2490 is having trouble driving your cables.
The new settings are ds2490slew, ds2490write and ds2490samp in the devices file.
Locale settings (numeric)
The locale is now set to POSIX when creating output for wunderground, &c - so you can log e.g. with comma as decimal separator, but wunderground gets a full stop.
Remote rain
Rain from a remote source is integrated for upload (but please could people check if this works for you).
DS2760 (TAI8560) support
Initial support for DS2760 - e.g. AAG TAI8560 thermocouple adapter (but the thermocouple Voltage isn't interpreted yet).
You may read out ADC current, temperature and Voltage with iadc, tadc or vadc respectively.
Escapes in parser strings
Added facility for placing control characters in parser strings, as C-style escape sequences.
Daily rain statistic
Added dailyrain statistic for wunderground uploads, &c.
For parser output use dailyrain, dailyrainin or dailyrainmm.
Rapid update
Implemented rapid update for wunderground.
httpwundon may now take a value of 2, in which case rapid updates will be sent to wunderground, transmitting data after every update.

Version 0.81.9

Linux et al.:
A bug in Web upload was fixed.

Version 0.81.8

Bug fix release

Fixed problem with module area memory consumption, caused by http uploads.
Linux et al.:
Web upload has changed from the ghttp library to libcurl. This is much more reliable, especially when you have a flakey network link.
Changes to USB for openslug problem.
Setup files moved to $sysconfdir/oww. Typically this is /usr/local/etc/oww for the default ./configure call, or /etc/oww if you call "./configure --prefix=/". You must move your existing manually.
Added specs file, for creation of RPMs.
Ignore extraneous blanks in setup files.
Removes Unix sockets on exit.
Hygrochron with stopped clock no longer fatal (but it still won't try to read it).
CWOP - Fix for eastings/northings less than 1 deg west/south.

New translation

Many thanks to Petr for giving us the Czech translation.

RISC OS source release

With this release I've included a zip of the source and Makefile for the RISC OS version.


Java Oww Client, for MIDP 2 mobile phones. See the Miscellaneous page for more information.

Version 0.81.7

Bug fix release:

This corrects a problem with libusb 0.1.10a.

Oww should now work with 64-bit systems.

Version 0.81.6

Added support for DS1923 hygrochron.

Note that since it is, in principal, possible to destroy the hygrochron from software, I have added to the disclaimer in the README file as follows:

In particular I make no guarantee that the software will not cause damage to your 1-wire devices. For example, users should note that according to the data sheet of the DS1923 "hygrochron", it is in principal possible to put the device into a locked-up state by incorrect software commands, effectively destroying it. Whilst I aim not to introduce any such faults, I cannot give any guarantee that this, or similar problems, will not occur.

I have also fixed a potentially serious bug (Unix version only) to do with timing, that may have had consequences for the reliability of readout from some sensor classes.


I have added a page about making plots with rrdtool. There is a new package on Sourceforge containing scripts for this.

Version 0.81.5

Bug fix release:

Timing changes to facilitate use with USB-serial adaptors and Eclo 1-wire USB adaptor

Slug NSLU2 Linux

The NSLU2 Linux project has produced improved Flash ROM images for the Linksys NSLU2 (< £60 from Amazon). This Linux-based device is now able to run a whole range of applications, downloaded from a big on-line feed. I've now got Oww cross-compiling, so it is on that feed.

Once you have obtained your "Slug" (pet name for the NSLU2), your first step is to go "unslung". Be sure to follow the instructions very carefully, or your Slug may become a "brick"!

Once you are logged in to your new toy as root, you may install extra packages using theipkg command. To get Oww (owwnogui actually) all you need do is:

ipkg install oww

You can read more about the Slug on my hardware page.

Version 0.81.4

Changes / additions to interactive mode:

Added assign, cal, reset (rain), save stats, and wipe (vane IDs).

Various bug fixes - see ChangeLog

Version 0.81.3

Extra rain reset options added. Besides manual or daily rain reset, you may now choose weekly or monthly. This is set in the setup dialogue, or by the "raindaily" line in your setup file:

  1. manual reset
  2. daily reset
  3. weekly reset
  4. monthly reset

You may set the day/date for weekly/monthly resets with the "rainday"/"raindate" setup entries, respectively. You may also adjust the hour of the reset with "rainhour".

Two new translations have been added:

There were lots of internal changes. I've actually reduced the size of the oww executable by a few percent.

A "mozilla" option has been added for Map pages. Firefox picks this up too, if you have it running.

Owwnogui now reports the source of both its setup and devices files.

A few other bugs were fixed.

Version 0.81.2

Added support for LCD displays.

Later type wind vane now re-tried on error.

Logging of data from a remote Oww server should now work, as should daemon mode.

Changed default update interval to 10s.

Added some new units: m/s, knots, kPa

Powered thermometers are now read more quickly.

GPC "events" (an increment in count between "gust" updates) are now counted. See the parser documentation.

Internationalization support was updated, with a translation to Norwegian bokmål.

Many thanks to Steinar Midtskogen for these last two items.

Version 0.81.1

Unix - Fixed bug in error reporting. This was causing various extraneous errors to be produced.

RISC OS - Fixed solar thermiic broadcast scaling (now value/10)

Version 0.81.0

Replaced code derived from Dalsemi v.2 OWPD (mlan) with code derived from Dalsemi v.3 OWPD (ownet).

This means that (on Linux systems - still having trouble on BSD - this is very unlikely ever to be supported on RISC OS) Oww can now use the DS9490 USB 1-wire adaptor. To select this enter "USB" in the device field of the "devices" dialogue. N.B. do not suffix it with e.g. /dev - it's just "USB".

DS2438 may now be set as a Thermometer.

Numbers of devices (max values) may be set at build time (see ./configure --help)

[RISCOS users - ask me to build a !RunImage with the settings you need, or I can provide the source.]

Added devices setup option "autoalloc", which sets whether or not auto-allocation of devices found on the 1-wire net is enabled. "autoalloc 1" is the dafault (enabled). If you have devices on hub branches, make sure the branch devices are saved in the devices file, as Oww will not explore the branches with autoalloc 0.

Added units to solar values (W/m2) - but it's up to the user to arrange the calibration! Also set fixed (0) precision.

Gtk version now has a main window display for the primary solar sensor.

Added setup option "smax" to set the maximum level for the solar main window display.

Fixed gust readings. Note that the unit for gusttime (in the setup file) is centi-seconds. So the 3-second default is 300. Oww imposes a lower limit of 50 cs, as shorter times will cause problems with quantization errors.

Fixed setup dialogue problem with toggle buttons. (Initial setup settings were double-toggling)

RISC OS - Thermiic broadcast - removed wind direction, and scaled solar readings down by a factor of 10. The order is now (up to a maximum of 8 channels in total):

Version 0.80.2

GTK+-2 Version:
A problem with some scrambled settings in the setup dialogue was fixed.

Version 0.80.0

This is the first Unix release of Oww based on Gtk+ 2. Also, it is no longer using libglade. If you have a recent distribution it will most likely include Gtk+ 2. If you are using Gnome 2 you will certainly have it. You can make sure by running:

pkg-config gtk+-2.0 --modversion

Version 0.71.1

Fixed rainrate log output

Version 0.71.0-1 [Unix]

Fixed problem with owwnogui interactive mode. This is now built by default. To disable it, use:

./configure --disable-interactive

To run owwnogui in interactive mode use:

owwnogui -i

Version 0.71.0

Added support for DS2438-based solar sensors (i.e. current monitor).

Added support for Citizen Weather Observer Program (CWOP). See the page in the documents section.

Minor update to rain reset function.

Minor update to logging - should be more regular.

Version 0.70.1

Changed messages from errors to warnings for TAI-8570.

Updated Web site URL.

Version 0.70.0

This version brings support for the AAG TAI-8570 barometer. These may be mixed with DS2438-based barometers if required, up to a total of 8.

Note that the TAI-8570 contains two DS2406 1-wire switch devices. These are used to bit-bang the 3-wire serial port of the pressure sensor AAG have used One is used to send command sequences, and the other to read back the results. Because bit-banging is not very fast, you may experience reduced responsiveness from Oww whilst it reads the barometer.

It is important that the correct assignment is made for each device. For the first barometer, the device names are "Barometer 1" and "TAI8570 writer 1". Oww may not get the assignment right by itself, so you should check the label on the back of the barometer, which gives the IDs. Note, however, that AAG list them in the opposite byte order to Oww.

The pressure sensor is factory-calibrated. Calibration values are read out on start-up. This means that the four barometer calibration values stored with the devices setup are redundant for the TAI-8570, with the exception of the barometer slope. This is still used, so that station pressure can be rescaled to equivalent sea-level pressure. At sea level, set the slope to 1. At higher altitudes you will need to set it slightly higher than 1.

There is no excact formula for calculating this factor, because all the models have to make assumptions about how pressure and temperature vary with altitude. However, an often-quoted fit to empirical data is the following power law:

P0 = P * (1 - h/44329m)^-5.255876
P0 = P * (1 - h/145442 ft)^-5.255876

So, for my location in Caerphilly, Wales, at 150 m, my correction factor is:

(1 - 150/44329)^-5.255876 = 0.9966 ^ -5.255876 = 1.01797

Bug fixes -

A few of these, including GPC delta logging.

Version0.68.14 / 0.69.0

I made some changes to DS2438 (RH / BP) readout, that might help reliability on (slower) RISC OS machines.

Changes to error / warning message system:

Error reporting now controlled by three setup variables:

debugfile the file name for error logging
debuglevel the level of messages sent to the debug file
messagelevel the level of messages displayed on-screen

The levels used in debuglevel and messagelevel are as follows:

  1. None
  2. Fatal errors only
  3. All errors
  4. Errors and warnings
  5. Debug level 0 (some debug messages)
  6. Debug level 1 (lots of debug messages)
  7. Debug level 2 (not used)
  8. Debug level 3 (not used)

These options may also be set from a new section in the setup dialogue.

[RISC OS] Errors (as opposed to warnings) alert the user with a standard wimp error box. This halts the program, pending user action. For unattended operation, you might like to switch off all messages, and set a debug file.

Please ignore any references to TAI-8570 devices. This is a work in progress.

[Unix] owwnogui users might like to try out:

./configure --enable-interactive
owwnogui --interactive

This is not finished, but will let you change setup values and perform a search, from within owwnogui.

Version 0.68.13

Dodgy temperature readings from DS2438 (humidity and BP) will invalidate the reading and restart after one retry. A short delay between DS2438 operations was added to improve reliability.

Anemometer readings are now taken between updates (the default is every 3 seconds), so that meaningful "gust" values may be recorded when the update interval is long (either because you wanted it long, or because you have very many thermometers). The interval is controled by the "gusttime" setup entry (given in centi-seconds).

A small mistake that would upset BSD builds was located and fixed.

Version 0.68.11

I had forgotten one more small change needed to stop the log resets.

Version 0.68.10

New (faster) DS2480 parameters weren't working very well on my "real world" setup. Rather than just go back to the original values, I've added two new entries in the devices file. These are:

Entry Description Default
ds2480samp Data sample offset: 3-10us (integer) 10
ds2480write Write 1 low time: 5-15us (integer) 12

The current Dallas example source uses values of 8 and 12, respectively, which you might like to try.

Station restarts were causing a reset of log statistics. Now they shouldn't.

Version 0.68.9

Minor changes:

Version 0.68.8

Fixed bug in windchill (new WCT) calculation.

Introduced “sultriness” – heat index / humidex.

Revised dew point calculation (different constants for T < 0 since vapour pressure over ice is lower than over water)

Log time snap (e.g. 300-s interval with snap -> 00:00, 00:05..., not 00:01, 00:06...). Also the timing of log lines was revised, to make it more regular.

Setup gui elements for log time snap, WC type and HI type.

Version 0.68.7

Bug fix release:

[RISC OS] Added alternative sprites file (thanks to Mark J.) as separate download. Use as-is with altres resource file, or merge with the main Sprites file.

Version 0.68.6

Lot's of work on this one - mostly bug fixes.

Here's the entry from the NEWS file:

Fixed various potential buffer over-runs.

Added choice of wind chill formulae.

This is specified by "wctype" in the setup file:

  1. Steadman - as used by UK Met Office and elsewhere
  2. NWS 1992b - the USA / Canada "Old" wind chill
  3. New WCT - the new USA / Canada standard

Added barometer temperature sensing. New parseout tokens: tb, tbc, and tbf. Actually this probably isn't very useful! In an enclosed box with two voltage regulators, the temperature comes up to the high 20s, even up in my cold loft.

Changed default calibration values to suit barometer delivered with normal calibration settings:

i.e. 1.25 V => 950 mB, 8.25 V => 1050 mB.
(This gives a slope of 14.29 V/mB and offset 932 mB.)

Logging from remote server now works.

Serving data from remote sources to Oww clients now works.

Reconnect timing to remote servers now more sensible.

Confusion over which sensors you have, switching between local and remote, fixed.

Fixed Tmin / Tmax problem (Arne output)

Long http data were being curtailed. This broke long Dallas station listings, so I removed it. I've been trying to make device reading generally more robust, especially for devices behind a "hub".

Ocassionally temperature readings have been corrupted, causing "nan" (not a number) to appear in logs / upload URLs. These should now be trapped, and output debug level 0 warnings.

UNIX / Cygwin - Added "uninstall" target

UNIX / Cygwin - Procedure for building owwnogui alone changed:

./configure --disable-gui

i.e. you no longer have to cd to src and execute "make owwnogui"

On Cygwin / BSD you will still need --disable-seriallock

UNIX / Cygwin - Improved search for libghttp:

/usr, /usr/local, and /opt/gnome are now checked for libghttp
configure will complain if it doesn't find it! You may also use:

--with-libghttp=DIR to override the search with your known location (DIR), or --without-libghttp to disable the search

I also had to update oww_client (0.3.1) to display the new Tb values.

Barometer Module

Simon Atkin has very kindly sent me a free barometer module. I've got this installed in my loft. You can follow the pressure plots on WUnderground.

Introducing Oww Client [Version 0.3]

This is a new program based around Owwl – my Oww Library. Owwl provides a programmer's interface to the protocol used by Oww to transmit data through TCP or Unix sockets. Oww Client uses the protocol to receive weather data from one or more Oww servers.  
Oww Client Connect Dialogue

Version 0.68.5

[RISC OS] Vane ring colouring setup is now rrggbb rather than bbggrr.

Fixed bug in server, mainly affecting unix sockets (invalid argument to accept())

Version 0.68.4b

Bug fix (hopefully) for buffer over-run in messages code. Wunderground has been acting up, and possibly very long return messages have caused Oww to crash.

Version 0.68.4a

Added setup variable rainbackreset (defaults to '1' - on). With this on, in the event that the rain gauge reads less than the previous reset value (i.e. the rain gauge has gone backwards!) it will be reset again, straight away. This might be usefull if the rain gauge has no battery backup.

Version 0.68.4 (not released)

Setup / Devices lines may now be arbitrarily long. This is to allow arbitrarily long lines for certain setup entries:


Dodgy readings from any DS2438 devices (reset during read) will now result in retries.

Another error message was down-graded to a warning.

Version 0.68.3

0.68.2 didn't see the light of day, because I thought of a better way to do the wind vane ADC. See the News file for details.

Everything else is as for 0.68.2:

Thermometers may now be DS1820, DS18S20, DS18B20 or DS1822 parts.

[RISC OS] Changed some AltRes icons for better fit.

Various error messages down-graded to warnings.

Introduced “errorlog” setup entry. This can declare a file name for logging errors. When “debugfile” is used, all error messages go there. But when “debugfile” is not set, errors and warnings are logged to "errorlog".

Version 0.68.1a – RISC OS Auxilliary Window

New RO auxwinHot on the heels of yesterday's version, this new RISC OS-only release prints the text in the auxillairy window using the desktop font, so long as you have a Window Manager version of 3.22 or later. 0.68.1 is still available from the download area in case I messed up.

I've also down-graded “http upload timeout” to a debug-only message. I've been getting this error a lot from my Wunderground uploads. I suppose their server is sometimes a bit slow to respond.

Version 0.68.1 – Various updates / bug fixes

There was a bug in the data reading code that could have caused crashes for people with a barometer but without any GPCs. This has been fixed.

The RISC OS aux window has been completely re-worked. Hopefully the new version will not suck up memory. This has meant abandoning the scrolllist toolbox gadget, and falling back on VDU 5 graphics.

Added setup line for vane dispersion ring palette:

ringcol colour_0 colour_1 ... colour_15

This defines the 16 colours used, from 0 readings at a given direction, to 15 readings. The colours are in hexadecimal form, RRGGBB. For example, ffffff for white, 0 for black, 880000 for a dark red, &c.

The default Dallas upload URL was updated to use their new host IP of

The URL for maps is now read from a setup string - mapurl This define C printf-style format string, and must include two "%f" entries. The first of these is replaced with the station latitude, and the second the station longitude. The default entry points to mapquest.

[RISC OS only] Another patch for 0.68.0

This patch fixes a memory leak.

[RISC OS only] Patch for 0.68.0

I missed out the auxilliary window menu entry from the alternative Res files. New version (0.68.0a) and a patch (Res files only) uploaded.

Version 0.68.0 – Auxilliary Window

This version introduces a new window – the “Auxilliary WIndow”. This shows all of Oww's readouts, updated at the same time as the main window.

aux window - unix aux window - RISC OS
Unix version RISC OS version

I'm Uploading to Wunderground!

With a Dallas unit on my TV mast and ADSL finally installed, I've got Oww uploading data to the Weather Underground.

Version 0.67.13a [Linux only]

Commented out some development code that might cause trouble, in applctn.c

Version 0.67.13 – Wind Vane Dispersion Ring

“Linux” and RISC OS versions with the new wind vane display are now on the site.

Wind Vane – Experimental Display

See my thoughts on an addition to the wind vane display.

This has been well received on the interest group. I have made good progress adding it to both the Linux and RISC OS versions of Oww. Currently I have chosen to use a white-to-black colour scheme.

Version 0.67.12a – Linux bug fix

Fixes Linux build without libghttp (of course Web upload / download won't work without this library).

Version 0.67.12 – Bug fixes

Updated parser and setup documentation.

Version 0.67.11 – Bug fix

Another go at fixing port release for text server. Got it this time!(?)

Minor tidy up to forgo compiler warnings.

Version 0.67.10 – Bug fix

Setup dialogue rain reset enabled when only GPCs available.

Version 0.67.9 – Text server (Not released)

Fixed swapped labels on RH sensor calibration.

Added text server.

This is yet another server function, activated by a non-zero value of txttcpport (tcp/ip) or a non-null string for txtname (unix socket - not RISC OS) in your setup file. You may then make a connexion to the listening socket, e.g. telnet to txttcpport (default 8891) on the server and you will receive each data update in a textual form. The format of the line is set by a new parser format string - txtform. You can change this just as you would the log format string. Just disconnect the session when you're done.

Client / server connexions now get an immediate update on initial connexion.

Weather Station Installed

Finally I got a weather station aloft! So far it's just a Dallas WS and rain gauge. RH sensor to follow.

I'm wondering how often I'll have to get that ladder out again, with this being quite a moist area (Wales). For the moment I'm connecting my cables using RJ11s, as intended. Perhaps I'll hard-wire the connexions later, or add a terminal block.

Under the eaves looks a nice place to put an RH sensor. I'm pondering on whether or not to use a fan to drag air over it.

I'm expecting to get an always-on ADSL connexion sometime soon, when I will be able to leave Oww uploading to Wunderground.

Oww is running on a silent A7000+ computer, sat in my network cupboard. Data are logged to RAM disk, with the hard disk spun up a couple of times a day for permanent storage.

Weather Station chez Melhuish

Version 0.67.8 – GPCs (Not released)

Added provision for up to 8 general purpose counters.

These work much the same way as a rain gauge, except they lack some of the stats functions. You can allocate a counter as a "GP [general purpose] counter" from the devices dialogue. You can set a calibration value to scale the counts to whatever is meaningful. There is no on-screen output at present. Data may be output to log files, &c, using the following parser tokens:

gpc   calibrated count value (since "rain" reset)
gpcdelta   change in calibrated count since last update
gpcmono   monotonic count (integer) - no reset
gpcrate   calibrated counts per hour

You must follow the token with the counter number (1-8). For example, you could add the following to your logform definition in setup:

$gpc1$, $gpcdelta1$, $gpcrate1$, $gpcmono1$

Added a token to parser for MySQL times (you could build the time format yourself, but this makes it easier):


Moved house!

Nearly a fortnight after moving house we've still got mountains of boxes strewn about. But I've got the computers back together now, and should resume Oww developement any day. And now we're getting ADSL, so I can play some more at higher speed.

I was somewhat gob-smacked by the number of downloads of 0.67.7 last month – 126 in all!

Version 0.67.7 – Client for Dallas Weather Servlet

Added client for Dallas weather servlet. To use this, first click List in the setup window. This will request a list of stations from the Dallas server. Once the list is returned you may choose a station from the popup menu, select Dallas as the source, and click "update".

The title of the main window now reflects the source of the readings.

A Map menu entry has been added. This will request a MapBlast page showing the station's location.

Version 0.67.6a – Client for Arne Henriksen's WServer format

With this release I added client support for Arne's format, sent from WServer. This means you can watch data logged by WServer under Windows, using Oww on Linux or RISC OS. Note that although Oww can also serve clients using Arne's format, it's better to use Oww's own format, because more information is transferred.

There were also some bug fixes with this release, including proper closing of TCP/IP sockets.

Version 0.67.5 – UNIX sockets client / server


Added server for LOCAL (aka UNIX) connexions. This uses the same protocol (the same code mostly) as for TCP/IP connexions, but the data flow is kept off the network. So, you may turn off the network port if you are concerned about security, i.e. have this setup line:

owwtcpport 0

The default setup line for the LOCAL port is:

owwlocalname /tmp/oww_trx_un

So to connect to a local server set the data source as oww and the address as "/tmp/oww_trx_un". Any time the client code reads a '/' at the begining of the host name it connects with a LOCAL socket instead of TCP/IP.

Sadly this option is not available with RISC OS

Bugfixes in this version
command line option parsing
devices fine loading
[Unix - minor error in oww server session startup]

Version 0.67.4 – Calibration GUI

Added entries in the devices dialogue to change device calibration values.

Added user interface for calibration values, in the devices dialogue.

Where no units are given for slope values, they are dimensionless scaling factors, e.g. for wind speed. Offset (y intercept) values always have a unit.

Version 0.67.3 – Barometer support

Barometric pressure now displayed on the main window (had to move some things around). Added setup option for mBar or inches of mercury.

Devices file now holds slope and offset values for some sensors - thermometers, RH, raing gauge and barometers. Units for barometers are mBar per Volt (slope) and mBar (offset).

New parser commands are:

bar, barinhg, and barmbar

e.g. $barmbar1$

Version 0.67.2 – Daemon mode, bug fix, &c

[Linux] Added daemon mode. Owwnogui can now detach itself from its parent process and become a "daemon" process. This way it will keep going when you close your terminal. In this mode error reports will be sent to the system log (syslogd) and the console.

Added long versions of command line arguments:

Usage: owwnogui [options]

  -s | --setup      setup_file
  -S | --stats      stats_file
  -D | --devices    devices_file
  -d | --daemon 

In one-shot mode (i.e. interval 0) owwnogui will wait for http exchange to complete before exiting. Set httptime 0 for this to work.

Version 0.67.1 – Bug fix, &c

Changed command line option passing. Now using simple parser (shame popt hasn't been ported to RISC OS!).

Usage: OwwNoGui [-s setup_file] [-S stats_file] [-D devices_file]

Changed behaviour after repeated 85C temperature errors. Oww will now execute a restart, causing a reset of all bus devices.

Fixed a bug in Oww data exchange (T < 0C [32F] were coming out crazy).

[Linux / BSD / Cygwin] New build options.

My locking function for the serial port appears to fail on BSD and Cygwin (anyone know how I should do it?). So, to turn it off you can use:

./configure --disable-seriallock

Users may like to experiment with how many goes at T conversion Oww tries, on 85C failure condition. You can set this with:

./configure --enable-temptries=N

where N is the number of tries to make

Version 0.67.0 – Client / server data exchange 10/2/2

Added Oww client / server data protocol.

If setup variable owwtcpport is set non-zero Oww will listen on this port (subject to restrictions on port numbers if you are running without super user privileges on Linux) for connexion requests from clients. Then, each time weather data are read from the weather station hardware, data will be sent to each client.

For a client to use this protocol it must have "Oww" selected as its data source, rather than "Local". In the setup file this corresponds to "datasource 2" rather than "datasource 1". You must specify the host name and port number also.

Note that when running as a client, Oww's update interval is determined by the server.

Adding client support for Arne Henriksen's format and Dallas Web download is on the "to do" list.

Note that if you are using separate server and clients on one machine you will need to run each with a different setup file. Typically, on Linux at least, you would run owwnogui as the server. Therefore, owwnogui now looks for a different setup file (SetupNG on RISC OS, PACKAGE_DATA_DIR/setupNG or ./.oww_setupNG on Linux). If this file is not found, owwnogui reverts to the standard setup file name. To simplify the setup process, the Setup dialogue now has a "SaveNG" action button, to save the current setup to this location. Having saved the setup for owwnogui, you can then go back to your client setup, and save that with the normal "Save" button. Note that owwnogui won't pick this up if it is already running - you will have to start it again.

Host name lookup is performed by the gethostbyname function, which blocks (halts execution) whilst it performs the lookup. Therefore, unless you have a local dns, you should add host names to your "hosts" file, or use numeric IPs if possible; otherwise you might notice pauses in execution.

Now including time.h in wstypes.h and process.c - this is to allow building on FreeBSD.

Version 0.66.1 – Minor bug fix 6/11/1

Really only of interest to RISC OS users with no TCP/IP stack configured, this version gives up on failed socket calls, rather than giving repeated errors.

Version 0.66.0 – Hub support 29/10/1

This version brings support for the DS2409-based “hub”. This device uses the micro-lan couplers to add branches to a 1-wire trunk network, improving reliability, and providing for external powering. A hub design has been described by Simon Atkin at

Since this has required several updates to core functions please treat this release as alpha quality. The previous version is still available from the download page. Please report success or failure to me.

RISC OS bug fix – 2/8/1

This release fixes a couple of bugs in the RISC OS version only. These were to do with the setup dialogue, which was confusing values on saving.

3/6/1 – 0.65.7

More bug fixes (nogui version cpu usage, Dallas upload time)

10/5/1 – 0.65.6

Fixed problems with CPU usage.

You can now run without a weather station - e.g. thermometers only.

Moved serial device selection from setup window to devices window.

Added support for DS2450 wind vane.

6/3/1 – 0.65.1

Fixed bug with time sent on Dallas upload

28/2/1 – 0.65.0

Thanks to the very kind donation, by Eric Laird, of a humidity sensor kit, I have been able to add RH support to Oww. You may use up to eight sensors, and data from the first are displayed in the main window. Other values may be written to logs, &c, using new parser tokens for RH and dew point.

Sylvan Butler has contributed some patches to allow the nogui version of Oww to be compiled for MS Windows (win32). Here is what Sylvan says:

This is a Win32 build of the no-gui version of OWW. It does data collection and will work with Arne's client from

Now, if somebody will work on the GUI... :)

This was compiled with the free MinGW32 compiler from and maybe additional utilities from

It is compiled to use COM2 by default. If your DS2480 is on a different com port, specify that in your setup file like this example:

driver com3
arneudpport 8890
arnetcpport 8888
interval 5

Good luck,

It is recommended that you compile Oww yourself, but in case you prefer not to Sylvan has provided a binary.

I have fixed a few bugs:

23/1/1 – 0.64.1

22/1/1 – 0.64.0

I have added data broadcasting by UDP (the RISC OS version already had broadcasting by WIMP messages). This is in the format used by Arne Henriksen. This means that you may use his client to view Oww updates on a computer running MS Windows. Enter arneport 0 in the setup file if you want to turn this off.

In response to a request on the weather station mailing list I have added the option to upload weather data to, as well as The Weather Underground and Dallas.

Wind chill data are now available through the parser. The parser tokens are: $wchill$, $wchillc$ and $wchillf$.

Please note that there have been some changes to the setup file, and a new stats file has been introduced. From the setup dialogue, click the rain gauge / stats reset button and the save button. There should then be no complaints the next time Oww is run.

Almost latest – 12/1/1 – 0.63.1

This version has support for up to eight DS1820 (or DS18S20) thermometers. From the devices dialogue you should be able to find the extra sensors using the Search function. Assign them to thermometer numbers 1 – 8 as you see fit. Note that still only Thermometer 1 is displayed in the main window. All eight channels are available as $t1$$t8$ (or $tc1$$tc8$, $tf1$$tf8$) in output streams (log files, command lines or [RISC OS] ThermIIC messages); you will need to edit the setup entries appropriately.

Recent – 8/1/1 – 0.63.0

A recent change to Oww is the new parser, which generates log lines and commands to pass to the shell (command line) from setup strings. This gives you the flexibility to:

Please note that some setup entries have changed. So save out a fresh setup file and re-enter any local modifications.

Other changes since 0.62

23/12/0 – 0.62.2


Another Makefile mistake in the Linux version. This time it was src/Makefile.nogui – missing refs to devices.o, a new file for 0.62. This is the only change since 0.62.1. Thanks Carl!

21/12/0 – 0.62.1


Found a crucial line was missing from the top-level which meant the directory for resources was not created automatically. Duhh! This is the only change since 0.62.0

19/12/0 – 0.62.0

Updated ‘Devices’ dialogue

With a view to adding more devices, I have developed an improved ‘Devices’ dialogue. A scan of the 1-wire bus generates a list of Weather Station devices. These are automatically assigned to their various functions. These allocations may then be changed by the user, according to a list of possible allocations for each type of device. Thus, in the example, you might reassign the counter currently allocated to the rain gauge to use as the anemometer. The anemometer counter will then become the rain gauge. If your scan of ROM IDs for the wind vane went wrong, you may reassign each ID to get them in the right order. In the future this will also permit the assignment of multiple temperature sensors, &c.


New devices window
‘Devices’ dialogue

9/12/0 – 0.61.0

New feature

From version 0.61 Oww provides for weather data upload to both the Dallas Semiconductor weather servlet and the personal weather station project at The Weather Underground.

Please report any problems with this new feature to me.

Please note that there have been several changes to the setup file.

I'd like to compile a list of users contributing data to either server, so that I can provide a table here to link to your results. If you'd like to be included please contact me with your particulars.

You can keep track of my uploads from here. But beware – these data are just from bench tests for now. It's not really this warm outdoors in Macclesfield at this time of the year!

Rainfall rate

An offshoot of my work on Weather Underground upload is that I now calculate the rainfall rate. I wanted to see how this would look, so I ran some tests with a coffee filter funnel.

17/11/0 – 0.60.3dev

New (interim) release for Linux, 0.60.3dev, fixes bugs with logging-related setup values.

27/10/0 – Oww 0.60.2

Many thanks to the user who spotted the problem with Fahrenheit conversion. The problem was with src/convert.c – you can download the patched version 0.60.2, or just that source file. Note that is affects the RISC OS version too.

25/10/0 – Oww 0.60.1

Many thanks to the user who found the problem creating setup and devices files in the shared area (/usr/…) written to by root. The problem was with src/choices_linux.c – you can download the patched version 0.60.1 (replaced by 0.60.2), or just that source file. This also changes the default names for setup and devices files (to .oww_setup and .oww_devices) when saved by a user to their current working directory.


Oww 0.60

Oww main windowOww is now available for Linux as well as RISC OS. I have duplicated the RISC OS Toolbox user interface using GTK (the GIMP tool kit). Because I had to do a lot of reworking of Oww to this end, 0.60 must be considered a development version, until a few people have tried it successfully. I will leave 0.51 (RISC OS only) in the downloads area, in case there are any problems.

New features:

Further online Oww documentation is now available:


Revised raingauge calibration instructions – US fluid ounces are bigger than ours! (So US pints aren't quite so small). That'll teach me not to make assumptions about ‘English’ measures! Logo    SUMMARY  · PROJECTS  · SIMON  · MELHUISH.INFO