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 weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/e039cd25-7ba9-4546-87bc-3c2cf87a8e6d%40googlegroups.com.

Reply via email to