I have two EVs, and just finished assembling my second 40A OpenEVSE w/Wifi, but only one 50A circuit. I could run another circuit, but it's difficult and I'd rather not. Also, it's really not necessary, since even with two cars the circuit is idle the majority of the time.
I have an algorithm in mind for how to make two OpenEVSEs cooperate to avoid pulling more than 40A combined, while still allowing either to pull up to the limit when the other is idle, using only the RESTful RAPI interface, with no explicit coordination.
However, before I put too much time into testing the algorithm, I want to check to see if someone else has done this, and whether there is a better approach.
Thanks Christopher. I'll go read the MQTT code and see where I could hook in. That seems like a nice solution.
My basic idea was to have both devices query the other via RAPI to discover their current state and then "be polite", taking only what the other side isn't using (as evidenced by current limit) and voluntarily reducing their own current limit whenever the draw falls below, say, 80% of current current limit and the other EVSE is drawing > 80% of its current current limit. The 80% threshold seems to work pretty well in my experiments.
With the WiFi board you could use MQTT to publish energy stats for both boxes. The logic could be created in NodeRED and fed back into OpenEVSE using the Solar Divert feature. The Solar Divert is really just an "Available power" input.
I've been thinking about doing a similar thing as a long term project. My current setup has the OpenEVSE limited to 16 amps (230 volts). My next car will be able to use 32 amps. Our house has a single phase connection limited to 63 amps.
My plan is to place a current sensor on the house feed and based on the reading from this reduce the current available to the car that results in the house load staying at or below 60 amps.
I would have the OpenEVSE setup so that when first powered on the car would not charge (or would charge at a very low rate if I couldn't stop the charging).
To do this I'd use a microcontroller and control the OpenEVSE via RAPI commands.
You could do a similar thing using a microcontroller and two OpenEVSE with built in current sensors.