"... and no one shall work for money, and no one shall work for fame; But each for the joy of the working, and each, in his separate star, shall draw the thing as he sees it, for the god of things as they are"

-Kipling

 

Kimono:
Monitoring Tool for Outback Solar Systems

Overview

The Kimono software is a monitoring solution for solar power systems based on Outback Power PV equipment. Kimono runs on your Windows PC, talks to the Mate3s controller via that device's integrated web server and displays and records data sent to it from the PV system. It cannot update the configuration of the Outback equipment - it is purely read only.

The Kimono software is free, open source and is released under the MIT License. You can download it here or pull the source from the repository and compile it yourself (it is written in C#).

Although the Kimono software is simple to use, it incorporates quite a few interesting features. You should definitely watch the Tutorial Video in order to get a sense of how to work with it.

The Backstory

One of my projects is the implementation of a semi-offgrid solar power system. In an ideal world everything would be totally off-grid and it would supply my entire house. Sigh, reality is what it is and since I live on the north side of a hill in a _very_ rainy part of the northern hemisphere I will have to be content with a setup that powers my garage/workshop as best it can and uses supplemental grid power during the many grey days.

I used Outback Power equipment for the solar panel system and they provide (at no charge) an interesting cloud based monitoring solution called OpticsRE. This software, which runs in a browser, is quite sophisticated and can even be used to update the configuration of a solar panel setup remotely. There is also a third party solution called WattPlot which can also be used to provide comprehensive monitoring and control of an Outback PV system. WattPlot runs on your local PC rather than being a browser based solution up on the Internet.

But, for me, there is a problem - I have yet another project brewing. This (as yet un-named) project could reasonably be sub-titled as "The Quest for the Ultimate Diversion Load". You see, even though I need to supplement the solar power much of the time there are still times where there is a considerable surplus of PV power going unused (my system does not feed into the grid). Well... I can't be having that - leaving Watts on the table and photons going spare. So the idea is to send power to a diversion load (sometimes also known as an opportunity load or, less accurately, a dump load) in order to find some good use for all those extra Watts. This is all a long winded way of saying that I intend to max out the capabilities of the PV array and send any surplus power to a heater to help keep my workshop toasty.

As you might imagine, I am not the first person to think of this and the topic does get some discussion on the Outback Forums. There are a number of solutions and they mostly all seem to boil down to having the equipment activate a relay to turn on a load at a certain battery voltage point and turn it off again when the voltage drops a bit. As far as I can tell it's really a kind of binary on/off thing and the system can't really provide data which says "you are using this many Watts but you could be using this many". I want to build a variable diversion load that constantly monitors the state of the system and adjusts it's power requirements appropriately. Well, thats still in the future, but the guts of the Kimono software does form the beginnings of the monitoring part of that project. I may be mistaken, but it seems that the existing monitoring solutions simply cannot provide the level of complex control needed to implement such a variable device.

Since I needed fine grained access to the system state and a user definable triggering mechanism anyways, I decided to tidy it up and make Kimono into a configurable monitoring solution. I also thought I would make it generally available in case someone else might find it to be useful.

Why the Name "Kimono"

All of my projects have silly code names and, in fact, I am not really comfortable working on a project until I think of one. Since the software is a monitoring solution for Outback PV systems, I was playing around with the portmanteau of "MonO". Turns out that, besides all of the other meanings, "MonO" is not at all that rare a bit of text in the world of monitoring software so it was hard to find a name that did not collide with something else. Eventually I came up with "Kimono", gave up thinking about it and started in on the coding.

How does Kimono Work

First of all you have to have your Outback PV system connected to your local area network and accessible via a IP address. This is done by adding a device called a Mate3s to the system or, alternately, by adding a device called an AXS Port. The AXS Port is kind of industrial and, unlike the Mate3s, has no user interface. Both devices can provide information on the Outback system state via a protocol known as ModBus over TCP/IP. The Mate3s does lots of other things besides just serving ModBus information. As well as a user interface, the Mate3s also implements a webserver which can provide the information to a standard web browser (lets call this the http/web method for short).

So, there are two basic ways of getting state information from an Outback system - ModBus and http/web. The ModBus method is considerably more sophisticated and this is the mechanism that the previously mentioned OpticsRE and WattPlot solutions use. Besides offering more information, the system can also be remotely updated via ModBus - something that is not possible with http/web access. So while it is not as comprehensive, the http/web access method does give you some basic data on the system state and for many purposes this may be sufficient. Below is an example of a web browser displaying some sample output from an Outback System. Click on the images to make them bigger.

Kimono is simple. It gets its information via http/web in exactly the same way as a web browser does. As mentioned previously, you don't get as much detail that way but you do get enough for an overview and the access is far simpler. The read-only aspect of the monitoring can also be advantageous in certain circumstances.

Important Point: This brings us to an important point. If you cannot type in the IP address of your Mate3s into your web browser and see a page similar to the ones above, then Kimono will not work for you. Do what you need to do in order to get that working first and then try Kimono. Kimono cannot fix or diagnose a connection problem for you. Please also note that the address used above (192.168.1.103) is probably not going to be the same as the one you need to use on your system.

Once it has the state information from the Outback system, Kimono uses it to update the screen and then, optionally, stores it in a database. The screen update frequency and the database write frequency are independently configurable. This means you can have your screen statistics update frequently without totally flooding the database with data you will never use.

Once you have the data coming into Kimono, you can configure a grid of software devices called Monitor Blocks to display that information. You may wish to have another look at the image of the Kimono software at the top of the page to refresh your memory.

The Kimono software does not baby you. When you first start Kimono all you will see is a Monitor Block in the upper left corner telling you the System Battery Voltage. It is up to you to configure the rest of the Monitor Blocks as you wish. There is no point telling you how to do this here or in discussing all of the other features - watch the tutorial video - it will quickly show you how to work the software better than any written text can do.

Having said that, there are a large number of pre-configured Monitor Blocks (called PreSets) that you can just drag and drop onto the screen to see interesting system information. The listbox on the lower right hand side of the contains the available PreSets.

You'll also note that the grid of Monitor Blocks looks a bit like an array of big spreadsheet cells. Spoiler alert, they do have a similar capability - again, the video will demonstrate this.

As mentioned previously, the incoming data can be periodically written to a database. This is done so that historical data can later be retrieved and plotted graphically. Lots of nice plot features are available. It should be noted that the downside to this mode of operation is that if the Kimono software is not running, then the data is not collected. This means the Kimono software must be running on a PC which is constantly connectable to your Mate3s or there will be "holes" in your data. Not a problem for the Kimono software but, when reviewing your data, you will see no records for missing time periods.

The State of the Project

The Kimono software is currently out of beta and in full release mode. The author is interested in receiving feedback, bug reports and suggestions for improvements.

License

The Kimono software is provided "as is" without any warranty of any kind and without any claim to accuracy. Please be aware that the information it provides may be out-of-date, incomplete, erroneous or simply unsuitable for your purposes. Any use you make of such information is entirely at your discretion and any consequences of that use are entirely your responsibility. All source code is provided under the terms of the MIT License.

Download the Kimono Software

Before downloading please note the license and warranty statement above.

Kimono is open source so, if you wish, you can pull the code from the Github repo and compile it yourself. However, if you just want to use the code as-is, a pre-compiled Kimono.exe executable file is available below. The software is known to work on 64 bit Windows 10, on an extremely under-resourced 32 bit Windows 7 notebook and will probably work on Windows 11.

Tutorial Video

How to Install the Kimono Software

What the Kimono Software Does

What the Kimono Software Does Not Do

The Source Code

The Kimono Application is open source and is released under the MIT License. Visual Studio 2019 C# was used for development of Kimono. You can download, clone, fork or create pull requests at the following address:

https://github.com/OfItselfSo/Kimono

Acknowledgments