Smart Charge Your Electric Vehicle

The following guide covers how to setup the Emon/OpenEVSE charging station and Emoncms DemandShaper module to smart charge an electric vehicle based on day-ahead forecasts for the best time to use power.


You will need:

OVMS: The OVMS Open Vehicle Monitor is a module that plugs into the ODB2 port of an EV. It can access a lot of detailed information about the vehicle and battery status for a wide variety of EV models. The DemandShaper module integrates with OVMS European Server (dexters-web)in order to access the state-of-charge (SoC) to calculate how long a charge session needs to be.

Custom SoC integration: It is also possible to provide the DemandShaper module with a state-of-charge value using an emoncms input e.g openevse-xxxx/soc. If you have a script that reads the state-of-charge you can pass it on to the DemandShaper module using this approach. You can create an Emoncms input openevse-xxxx/soc by posting the SoC to MQTT topic emon/openevse-xxx/soc


1. Start by connecting your OpenEVSE to your home WiFi network and configuring the MQTT settings following the OpenEVSE setup guide.

2. Navigate to the emoncms inputs page where a set of OpenEVSE inputs will appear including charge current, energy used and charger state.


3. Click on the Cog to the top-right of the inputs to bring up the ‘Configure Device’ window. Select the EVSE > OpenEVSE > Default device template.


4. Optional: To create a set of feeds from the OpenEVSE charger so that you can monitor it’s use over time: click Save and then Initialize to confirm.


5. Navigate to the DemandShaper module in the top bar, the OpenEVSE device should now appear in the left hand menu. If it is not present try refreshing the page. Click on the OpenEVSE menu item to bring up the scheduler interface.

Select the demand shaper signal you wish to use. If you are using the Octopus Agile tariff, select the relevant region from the drop down menu.


To enable automatic reading of EV state of charge with OVMS enter your OVMS Vehicle ID and car password at the bottom of the page. Wait 5s for the settings to save and then refresh the page. You should now see the current SOC on the battery bar widget:


Thats it, to schedule a charge enter the time that you wish the charge to complete by and select the battery % that you wish to reach.

If the Demand Shaper is operating correctly the timer should now be set on the OpenEVSE for the scheduled charging time, you can check this on the OpenEVSE WiF interface page.

The DemandShaper Interface and the OpenEVSE interface should not be used at the same time since this can cause conflicts.Switch the Demand Shaper to "Off" if you wish to use the OpenEVSE WiFi interface to control the EVSE..