Hi all,
I've enjoyed playing with Weewx and WS2080 for the past few months - thanks!
I've wanted to extend this with solar panel information too, thinking weewx
sounds great for this. I got most of the way to writing a tool/driver to
read the data, then noticed that Matthew Wall recently released something
similar as Weewx driver too. Doh! Though my 'driver' might be more
flexible .. stay tuned.
However, its taken me longer than I'd expect or like to get my head around
such a Weewx driver and how to 'use' it. Some of it is Weewx is arguably
simpler to use than the documentation implied, and so I thought much more
would be required on top of a driver to use it - e.g. services, database
etc. Even after reading the documentation several times it wasn't obvious
that a 'driver' should almost just work in Weewx - together with some not
quite so obvious edits to weewx.conf and StdArchive etc. Something that
may help is more of an intro to the 'system architecture' in the
customization documentation, possibly at the very start e g. below. I
think if I'd have read something like the 'document' below I'd have picked
things up faster. Also, if these drivers/examples could more automatically
setup their separate database and some example reports would be great for
newbie users.
Anyway, once I got my head around this 'architecture' getting these graphs
out has been almost a pleasure - see below, still some tidying to do. I
really wanted the 'day/night' shading, and the graphs clearly show the
voltage low point through the night and the current dropping off as the
battery reaches full charge. With a bit more finesse I'll upload my driver
/ skin etc to Github to share. Though a future step may be to look at the
gorgeous Belchertown style graphs :)
System Architecture
-
A weewx process normally handles the monitoring of one station - e.g. a
weather station. The process is configured with a weewx.conf file.
-
Multiple weewx processes may be run simultaneously to monitor multiple
stations, using separate weewx.conf files to refer to different driver and
databases etc. More advanced weewx processes might create reports across
multiple other weewx station databases, e.g. as a dashboard.
-
A weewx process has at most one ‘driver’ to communicate with the station
hardware and receive ‘high resolution’ (i.e. every few seconds) measurement
data in the form of LOOP packets. The driver is single-threaded and
blocking, so no more than one driver can run in a weewx process.
-
LOOP packets may contain arbitrary data from the station/driver in the
form of a Python dictionary. LOOP packet fields should conform to defined
Weewx measurement units and measurement groups so they can then be
summarised
automatically (e.g. average of temperature, or sum of rainfall) by weewx
over a set interval period (e.g. 5 minutes) into ‘archive records’.
-
A number of services may be configured within the weewx process to
operate on the LOOP, archive record and database data - triggering when new
data or timed events arise. Typically these services run at 5 minute
intervals. Standard services include -
-
StdArchive - automatically create a database based on a user ‘schema’
(a database table definition held as a python array in the driver or
service) then write archive records as they arise. Only archive record
fields which match the schema will be written to database.
-
StdReport - generate reports based on database archive records,
stored by StdArchive.
-
etc
-
In addition some simpler services may generate archive records directly
rather than from a driver (e.g. pmon example) and possibly store to their
own database, partly configured through weewx. These would be ‘low
resolution’ measurements taken at the same frequency services are run (e.g.
5 minutes) and without the statistical summarisation weewx can provide.
-
Weewx Extensions may consist of a combination of driver, service,
database and/or skin code. However, only one station and associated driver
can be run at a time.
[image: weewx.png]
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/e039cd25-7ba9-4546-87bc-3c2cf87a8e6d%40googlegroups.com.