Our home obtains its electrical power form both the local power company (the Grid)
and from a Solar Electric Panel system.
The power system, while easy to use, is pretty complex to describe and to manage
(especially if you are an engineer and want to know exactly what's happening).
So I needed a system to let me "see" exactly what is going on
and how much power is being processed where.
Outback Mate 3 - Ethernet connected
This package consists of two major parts:
The continuous program is currently a Python console process built using Python 2.71.
It reads the MATE3 real time CGI process every 60 seconds via the LAN
and appends what it receives to the file OBdata.txt in the local web servers ../outback folder.
In addition the program also reads the Mate3 XML config file each hour
and places that information file OBconfig.txt in the local web servers ../outback folder.
- a continuously running program (obServer.py) that collects real-time data
and saves it to a file once a minute. At midnight the file is cleared
and the process begins again.
- a web browser page (mate3.html)that displays both the most recent real-time data and
a set of charts of the most significant items for the current day.
It also reads OBConfig.txt to have that information available.
The web page produced is a variant of Outbacks internal web page
and provides all of the information it does as well as the daily chart set.
The web page provided here is written using features of HTML5
and a browser supporting the protocol is required.
IE currently does not work; firefox 3.6+ & 4+, Chrome 11+, and Safari 5+ are all fine.
Currently the browser code assumes 2 FX Inverters, a FNDC Battery Monitor
and a single MX Charge Controller.
The user can comment out those devices not being used.
It should be noted that while the Slave Inverter is plotted seperate from the Master,
the tabulated information is for the Master alone
(except for the accumulated kWh which includes both).
The Python program observer.py may be placed anywhere on the LAN you desire
so long as it has access to your web servers page folders mentioned above.
The broswer program mate3html (and its attendant parts) must also be placed
in the above mentioned .../outback folder.
The Original Outback Mate - Serial port connected
OB2SG - Outback to JDS Stargate
OB2SG takes advantage of the communications interface of my "Outback Power Systems"
MATE controller to show in tabular and graphical form how the various components are performing.
It also sends alarm information to my StarGate Home controller
to let me know of events like loss of grid power, low battery, etc.
OB2SG performs these multiple functions:
The program is based on a generic Outback Device object with
descendent objects for the FX inverter and MX controller.
Each object knows how to plot its own performance, and log its activity.
- collect performance data from our Solar Power system.
- maintain logs of the collected data for possible future need.
- provide a real-time display of that data in tabular and graphical modes.
- allow historical data to be viewed in various ways.
- send alarms to the SG system when certain parameters exceed their limits.
This allows the program to deal with as many FX and/or MX devices
as may appear in the communications stream.
As each new device reports, a new display screen unique to it will appear.
At any time a user may view:
tabular list of last 30 days for any device;
average day's graph for any device for any past calendar month;
actual performance graph for any past day for any device;
download Delphi source code
Road Surface Management System
web-based version (2)
An unauthorized upgrade(?)
of the Maine DOT distributed
Road surface Management System (RSMS).
It is designed as a web application
using desktop, laptop, tablet or smartphone browsers.
The central data repository is kept in a formal database
which is locally cached at the browser.
As the web pages themselves are also cached in the browser,
independent offline use is possible.
This implementation has been enhanced
to provide for inventory and status of
road culverts, both driveway and cross-road.
This is considered by the author to be
information related to drainage.
Currently the surface analysis functions do
not make any use of this information.
and Off-Line operation
require browsers with that HTML5 support.
Users are strongly encouraged to use
the latest desktop versions of Internet Explorer
Firefox, Safari, Opera, or Google.
All of these work well
as does the Blackberry Browser version 6.0+
(and presumably other mobile browsers based upon Webkit).
This application currently does not work well with
MicroSoft Internet Explorer IE8 and earlier.
Run the online demo
(note: your first run will require you to refresh after the initial load.
This is due to the need to initialize the browser caches.
If asked to allow local storage, please answer 'yes'.
Culvert surveys are not yet available
is an easy to use,
automated library system written in PHP containing OPAC,
circulation, cataloging, and staff administration functionality.
OpenBiblio library administration offers an intuitive interface
with broad category tabs and sidebar.
The best location to download from is SourceForge
Unfortunately it does not come with provisions to look up publications
in an online catalog such as the U.S. Library of Congress -
So I wrote an add-on for it.
This add-on provides a means to enter a ISBN, ISSN, or LCCN number for a publication
and have the forthcoming data placed into the "new Bibliography" form for you.
You may also search by Title & author,
and you can specify Publisher, Publication location and date if necessary.
In the event of multiple hits, you will be able to select the one to use;
(note: The repository for the publication is noted on the results screen.)
The add-on uses the international standard, Z3950, to obtain MARC records and
places them into the correct entry fields of the OpenBiblio form.
It also now supports the newer SRU protocol
The user may specify one or more Z3950 server Libraries to be searched.
The same protocol (SRU or YAZ) will be used for all of them.
Release notes are included in the .zip file.
OpenBiblio - new Member screen
OpenBiblio in it's original form requires the administrator
to enter a previously manually assigned ID number.
This may be suitable for larger libraries with
library id cards having preprinted numbers on them.
However our community is small enough that all patrons are known on sight
so no library cards are issued.
Still OpenBiblio requires a unique card number for each patron.
I have modified the "mbr_Fields.php" file to determine the last assigned
card number, increment that value, and put a proposed new number into the field.
view readme page
(includes release notes updated 2 Mar 2005)
download new-Member files
(version 2 Mar 2005)
WD2SG - WeatherDisplay to JDS Stargate
WD2SG was written to transfer weather data from a weather monitoring program to a
Stargate Home Automation Controller.
In my case, weather data is collected by a Davis Weather Monitor II
whose sensor package is located on my rooftop.
The weather data is presented on a small LCD display on a hallway wall.
From there it is transmitted to my household server
where it is read by a Windows program called
(usually referred to as "WD")
Among other things, WD provides a log file each minute containing
weather data of my choosing.
WD2SG looks for the file each minute, reads it, manipulates the data as needed,
and then sends it in appropriate format via TELNET over my household LAN
to my Stargate controller.
download Delphi source code