TraceGUI screenshot

I'm currently working on a GPL'd, Linux-based, power management system for off grid houses. As I own an off-grid house, I figured I'd put my 20 year background in embedded systems, robotics, and factory automation to work.

The heart of AbelMon is it's ability to use a multitude of sensors and devices through carefully designed APIs. The core concept behind AbelMon is simple. It's pretty common in an off-grid situation to have fully charged batteries, but still have power from photovoltaic panels, or wind generators. Most folks living off grid learn to do things like wait till this time to do laundry, pump water, etc...

What AbelMon is intended to do is to mix data logging and power monitoring to enable the software to control where the power gets distributed in this case automatically. Many things, like running heaters, pumping water into a cistern, or occasionally turning on a basement vent fan to get rid of trapped radon gas. Most diversion load systems handle only one simple relay, and have no logic behind them.

How the power is distributed is based on a device profile. Some devices, like water pumps can be turned on and off at any time with no damage done. Other operations, like doing a load of laundry has a certain amount of time and power they need to finish the operation once started. AbelMon uses this data to efficiently schedule how much power goes where.


When AbelMon is initially released, it will support the following features. This is not vaporware, just a huge project in it's early stages of development, and currently, entirely self funded by my other consulting work.

Save settings in a file
Save and load settings for programming your favorite device, like a Trace inverter, or the macro settings on an X10 controller.
Power Management functions
Use AbelMon to more efficiently use what power you have.
Power Monitoring
Monitor power from multiple sources to enable better higher level decision making by AbelMon.
Data Logging
Data Logging is done using a database, so it's possible to record or playback data at any time.

Open Source
AbelMon is 100% free software. For more information on the GPL, go to the Free Software Foundation web site.
TraceGUI screenshot

TraceGUI is the standalone component that controls a Trace Inverter via the serial port. It offers all the features of the Trace remote software, plus a whole lot more. To start with, TraceGUI runs on any Linux based system, and offers more power management functionality, than just being a remote interface for a Trace inverter.

Other similar products, but for WinDoze are Right Hand Engineer's Winverter, or Maui Solar Software's TraceTools.

TraceGUI screenshot Here's a screen shot of TraceGUI with both the Setup Menu, and the User Menu open at the same time:

TraceGUI screenshot

AbelSim is a backend component of AbelMon, and is a full simulator for most of the devices supported by AbelMon. The simulator uses the same XML config files as the rest of AbelMon, but also supports having a dynamic library implement the device functionality. I initially wrote this to help me debug devices that I had specifications for, but no hardware.

Initially this supports the GDB protocol, (for remote debugging :-), the X10 CM11A protocol, which is very common for a wide range of devices, and Trace inverters. The simulators are great for regression testing and debugging protocols, cause you can talk to both ends of the connection. On startup, AbelSim creates a pseudo tty for the other programs to connect to just like there was a real serial cable.

The heart of AbelSim is it's XML based serial protocol engine. The protocol engine uses an XML file to describe the various behaviours of the protocol transmission, and the serial handling code does the rest. This enables one to simply add support for any serial based device, like X10 controllers.

Copyright © 2012 Seneca Software & Solar, Inc