The Infinite Monkey Labs Project

Hello from The Infinite Monkey Lab in Raglan, New Zealand :upside_down_face:

Our goals are to:

  • Speed the deployment of grid level energy storage (enabling a faster transition to 99% renewables)
  • Reduce waste of embodied energy by reusing good equipment before eventual recycling
  • Use and produce open source solutions as far as possible
  • Make money & have fun for many years on a planet which does not become a furnace

We (myself, @JimsterCoder & a couple of others) are working hard at developing a grid solution for complete old EV batteries. We have created some fantastic software to interface with the OEM automotive BMS in the packs we use, ensuring that we have automotive grade safety as a foundation.

We are building our first machine which consists mainly of 5 depleted Nissan Leaf packs & 1 Sinexcel 30kW inverter. It is already sold to a community energy organisation here in Raglan with the strong suggestion of more contracts if it goes well and so we have to go from experiments to product quickly :sweat:

We are sourcing an EMS solution and are attempting to understand if OEMS is for us. It looks wonderful in concept & spirit, but currently we are at the steep part of the learning curve and presently does not feel that way! Thank you to all who have created it and have already helped us understand it a little.

We will keep our progress posted here, especially the difficulties-that’s human nature!

Finally, the name is a homage to my favourite BBC radio show & podcast, The Infinite Monkey Cage: British Humour, World Science & sometimes philosophy, highly recommended :+1:

1 Like

We are currently trying to get a deployment of OEMS working with our inverter. Our deployment of is broadly as follows:

  • Ubuntu 22 running in VMware on Mac
  • Bridge Modbus/TCP (connects to the /dev/tty/USB and the inverter IP address)
  • Battery-Inverter Sinexcel (connects to the inverter)
  • Simulator Battery
  • ESS Generic Managed Symmetric
  • Controller ESS Balancing

Our issues so far are:

  • Compiling.
    James has started a topic on this issue here
  • Inverter communication
    Our Inverter is a Sinexcel PWS2-30P-EX. The OEMS module ‘Battery-Inverter Sinexcel’ is written for the slightly older PWS2-30M-EX and annoyingly Sinexcel have changed some of the Modbus registers (for no obvious reason). With the existing module there is some communication but it does not work, unsurprisingly. We need to modify this module before we can test conclusively.
  • UI
    So far we have not been able to get anything onto a UI. When we solve 1 & 2 perhaps we will also have solved this? :unicorn: :rainbow: If not, this topic is where we will attempt to solve it

Update on our OEMS progress:

  • With the help of the community we can now compile.
  • Checking the inverter modbus registers more closely it appears that almost all registers need changing for the newer model. We have not started this yet.
  • We have the ‘Getting Started’ simulation UI running (with a few quirks) :slight_smile:

That is great, two of the three existing tasks are done & the remaining one is understood. Thank you for your support in getting us here.

Now we are trying to run with Edge on a RPI but again are having trouble making the UI work. See this: Help with simulation using Backend and UI.

We are keen to make progress.
We are willing to pay for two or three hour’s consultation to get us through these problems. We are happy to share the solutions. We do not wish to buy privacy, we are investing in a faster result.

If interested, private message me with your rates, experience, timezone & availability. We are in New Zealand, Pacific/Auckland timezone but can be flexible. Thanks :slight_smile:

Could you do us all a favour and NOT open a new Topic for everything? It gets pretty overwhelming i guess :smiley:

Hi Sn0w3y,
I’m confused by your message.
I am keeping a thread going under one topic with a summary of our progress so that others may learn from it in a coherent, structured narrative. James is posting new topics because he thinks they relate to different issues meaning that they are searchable for others.
As per the community guidelines we are trying to improve the discussion.If you have a problem with a particular topic please be specific & suggest what it should be merged with/where it would be better located.
Thanks and have a nice day :smiley:

hello NiallDarwin,

You are using simulator battery, so no real battery attached to the Sinexcel?
Do you have a working setup atm? I also have a Sinexcel PWS2-30P-EX and connected it through modbus TCP. However i have difficulty setting up a battery and thus a ESS in openems. Can you help me out with that?

With kind regards,

Sven Aarts

Hi Sven,

Our battery BMS communicates directly with the inverter over CAN. The inverter doesn’t seem to transmit any data on the modbus and so we can not figure out how to get battery data into OpenEMS (OEMS) with our method. So instead we use ‘simulator battery’ to keep OEMS happy. This means that OEMS doesn’t know what the real battery values are. This is not ideal for visibility but for our system this is not a safety problem because the inverter respects the BMS limits. We are using our own monitoring & data logging on the battery so we have visibility!
*Edit: We have a cludge to get SOC into simulator battery but we did not need this to get OEMS running.

What battery are you using and what communication method does it use (CAN, Modbus, RS485 etc?)

Three months already!

We have managed to get our system working successfully but with some dodgy fixes to make it work. Here’s some of the points which may be helpful for others trying to emulate our work. @Sn0w3y feel free to ignore this if its causing you overload :wink:

We did not get any response to our invitation for paid help. We are going to be paying someone via upwork to modify the ess balance component with a UI to enable easy changing of target setpoint. This will mean we won’t need to have ess fixpower as well as balance.

We have modified the Sinexcel component to work with the latest Sinexcel PWS2-30P EX. This was no small task for @JimsterCoder because the new protocol is very different to the old! Information here: Real Working System, there are problems with the magnitudes of internal values

@JimsterCoder has done a kludge which brings our battery SOC into the simulator battery component and functions OK.

We have yet to implement any security/credentials checking for user access to UI/backend. This is something we are avoiding because we think it will be difficult…

We have 90% built our first 30kW 2 hour machine (or 30kW/60kWh if you prefer). As can seen there’s plenty of room to scale and we have designed for this.

Hardware consists of

  • 5 x Old Leaf Batteries (electrically identical as used in the Leaf but mechanically repackaged)
  • 1 x Sinexcel PWS2-30P-EX inverter
  • Several computers
  • Control/protection systems.

Software is

  • Our own TIML custom BMS communicator which talks to Leaf BMS, Sinexcel & OEMS. It also controls the contactors and safety disconnects
  • Our own TIML data logging
  • OEMS modified to our TIML requirements

We are awaiting approval from the local electrical lines company & electrical inspector signoff then we will be officially running with our prototype. Once its running nicely we’ll be looking for investors to scale the enterprise. Exciting times here :smiley:


Congrats ! :slight_smile:

Just remember to have in mind, that the openEMS UI has a special licence.

See here:

Greetings !

1 Like

Congratulations! looks awesome.

I found the jimstercoder fork and started using that one to, Inverter is working great just having ussues getting the data from the bms (Somehow it just shows -1%). New problem i have is implementing a Meter. Tried a solaredge meter on modbus-rtu but never got anything working on that. Now trying a Janitza RMU 301-CBM with a rs485-1800we cable. Checked the modbus registers with the 96RM which is in OEMS. However i get some errors in the modbus department which i have yet to figure out why. You got any advise on meters?

1 Like

We are using Eastron meters and have had no problems with the RS485. So we have no advice on what to do with problems, sorry.

Please share a little about your system-I’m interested to know what battery etc you’re using and what the application is.

Hi @NiallDarwin, super interesting project you are working on.

I am trying to setup something similar where I have a couple of VW ID3 battery modules but do not have access to a specific VW BMS. I have the Sinexcel PWS2-30M-EX inverter so now I am trying to figure out how to connect everything.

The Sinexcel inverter communicates with a BMS using the SunSpec protocol as I understand it so either I need to find a BMS that utilizes this protocol or create a BMS communicator as you have done I guess.

Do you have any recommendations for a BMS that would suite my needs?

Did you create your BMS communicator as a OpenEMS component or as a standalone module outside of OpenEMS?

To be clear. We are using an Eastron SDM630 meter, which are identical to the Meter Microcare SDM 630 available on OpenEMSEdge. This is connected on Modbus/RTU Serial using an RS485 USB dongle on the RaspberryPi.

See the full description of our system at the top of this post.

Hi Jakob,
Welcome to the forum and thanks for taking an interest :slight_smile:

Our BMS communicator is separate to OEMS and we have been developing it for a few years now. It can manage several batteries and aggregate the data to an inverter. It controls safety relays & contactors, provides multiple logging outputs and is generally great! We like it a lot. Our goal is to make it open source but we haven’t taken that step yet. When we finish the machine we are building & it is operating as a successful demonstrator we will work on our business strategy and decide the best way to progress.

Dala and his acolytes are doing some great work for integrating EV batteries to domestic grade inverters, maybe this can be integrated to the Sinexcel also?

Or you could invest heavily in our baby company and persuade us that we need to integrate to the VW BMS urgently :wink: