Start a new topic

Off grid inverter control of EVSE

 I live in an off grid house and have a hybrid hydro/solar charging system. The solar produces little in the winter and the hydro little in the summer. They are connected to a 12kwh battery bank ( lead acid so only 6kwh useable) . I have a chevy volt that I plug into the house at 12 amps (110v)  and it drains the battery until the state of charge gets to 75%, then i unplug it. On the hydro only I can get 30km per day into the car... which would otherwise be wasted ... if I am attentive to plugging it in and unplugging it at very specific intervals. On solar it can produce enough to charge it nearly completely in perfect conditions and if my car is not at work with me. I want to control the charging with the relay output that is present on either the charge controller or the inverter of the off grid system ( which can be programmed to turn on or off at a specific voltage or battery state of charge). Is there a good place to interface the open evse with the 12v relay control present on the inverter/or cc. I have thought of a few:

At the panel: The 12v relay output could turn on or off a relay right at the panel ... this would turn on and off the branch circuit that the open evse would be plugged into. Is it good to cycle an open evse on and off by essentially unplugging it under load. This sort of is like turning the power off on your computer by pulling the plug. It is the easiest though as the inverter relay control is right beside the panel

In the EVSE :A secondary transistor between the transistor and power relay inside the EVSE controlled via a bluetooth or wifi link( or wire) that overrides the power being sent to the vehicle. It would .... or should be a softer disconnect method and the evse would remain powered up . Would the evse throw an error code?

Ground the Pilot: A transistor or relay that connects the pilot to ground inside the evse that was connected to the relay control on the evse would cause the evse to register an error and turn the relays off I think.

Any thoughts on this. Or other methods that may be easier that I have not thought of. I am looking for a soft method of controlling the on off of the evse charging with a 12 volt signal from an off grid inverter.

I'll email you a section of code that might help in the sending of RAPI commands - along with some additional comments - about your new Bolt!


From an Arduino you would simply send the RAPI command with serial.print.

To set current to 6A

serial.println("$SC 6");


serial.println("$SC 20");

or to sleep


to wake up


Hi Christopher and Mark,

Thank you for helping me. I found a file named OpenEVSE Firmware which gives me the RAPI code and commands. Thank you for the examples of the serial code to send to the OpenEVSE charger. I do not think I will have any trouble with the help you have given me ( pride goes before fall)


I have my OpenEVSE working from my Arduino based offgrid solar diversion control. Thanks to Mark and Chris for helping me. Attached is an Arduino sketch with my diversion control removed for OpenEVSE clarity. It is waking up, incrementing and decrementing as required and then back to sleep as required. Yay!!!

I want to change some of the OE parameters so I have ordered a programmer and spare OE board to play with / destroy.


(9.63 KB)

1 person likes this

I want to read the State of the EVSE to my diversion control. I have the document " Serial Communications with OpenEVSE" that explains the process to read from the EVSE to a serial terminal. I have this working.

Using the $GS command I duplicate what shows on Step 3 of the procedure on my terminal emulator screen (Terra Term).

My next step was to attempt to extract the charge mode number using the Arduino. I have a spare board and got this working on my bench. I send the $GS command and then use to an 8 element array. The state is the 5th element of the array. This works on the bench. When I attempt to use the code to read the OE that I am actually using it does not work. The array size seems to go to 11 bytes from 8 however when I turn the charger on the number of bytes seems to change? The Open EVSE Firmware (Copywrite 2013-2014) Rapi guide indicates that for the $GS command there is an elapsed charge time parameter????? It says valid in state C however the Serial communications document suggests that the states are 1 or 2 or 3 or 4 or 5 not "C". 

So the question is - whats going on?

 Is there an interval timer that is counting as shown in the RAPI guide?

What is State C?

Is there any command that just gets the State of the OE?

Thanks for any replies.


Hi Will;

I was able to get my Leaf to the rural property for actual testing (100 miles requires the intermediate charging for 4-5 hours - both ways!).  Much to my dismay, the arduino would not communicate with the OE and had to scrap the test.  Back at home, I found a loose ground connector inside the OE and once reconnected, the system works fine.  I set up a simulation at my residence and all is working.  However, I do plan on another (long) trip later this spring to do the final confirmation.  

Let me know if you get the "state" information as you want.


I have got the OE charge state status reading to my Arduino. Attached is a stand alone sketch of the code I am using. The array size was changing as the interval time ran. This sketch just takes the status code and then clears the serial buffer of any remaining data.



Login or Signup to post a comment