Creasol DomBusEVSE is a fully tested DIN rail module, designed for Domoticz, Home Assistant, OpenHAB, Node-RED, ioBroker, ... home automation systems, to charge electric vehicles using the standard SAE 1772 and IEC 62196-2 Mode3 (AC charge, up to 22kW power).
It works as stand-alone (with or without any domotic controller) or in managed mode (charging current controlled by a domotic controller).
It supports two different protocols:
- DomBus, an optimized protocol for Domoticz controller
- Modbus RTU, a standard protocol that can be used with any home automation systems
Consult the English version of this page to get the most up-to-date version.
How to make a home-made EV charging station / wallbox
To make a DIY wallbox / EV charging station the following items are needed:
- RCCB: a residual current protection, with 6mA DC current detector
- optionally, a power meter to monitor and account the electric vehicle charging energy, power, voltage and power factor.
- a contactor to enable/disable mains power
- a EVSE module that send a PWM signal to the On Board Charger (inside the vehicle) the max available power (current) to get load balancing avoiding overloads and permitting to set the maximum power that can be drawn from the electricity grid (0 to use only power from photovoltaic/renewable, or 25-50-75-100% of the available grid power)
- a connection between the EVSE module and a power / energy meter that measure the power exchaged with the electrical grid. If the energy meter measuring grid power already exists in your home automation system, you don't need to add another energy meter: just use a simple automation to send the actual power (every 6s or less) to the Grid Power virtual device of EVSE.
Making a wallbox is quite simple: mains power is connected to the RCCB (protection) + optional energy meter + contactor + EV cable. Care should be taken to avoid overheating on wirings and connections, that should be periodically checked!!
The EVSE module is connected to the control-pilot wire of the EV cable, monitors the presence of voltage (on contactor output) and controls the contactor (relay). Also, it may communicate with the main grid power energy meter or, alternatively, with the domotic controller to get the current grid power from the existing energy meter.
Actually DomBusEVSE is able to read DDS238-2 ZN/S energy meter (single phase) to get the current grid power; if an existing single-phase or three-phases energy meter exists and it's connected to a domotic controller (like Domoticz, ...), it's possible to create a simple automation to send to DomBusEVSE, every few seconds, the current grid power (positive if imported, negative if exported).
The power value from the electricity grid is needed by DomBusEVSE to regulate the charging current preventing overloads/disconnections, and also to keep the max charging power set by the user: more info below.
Features
- Mode 3 charging, AC230V (single-phase, up to 7.36kW) or AC400V (three-phase, up to 22kW)
- Manages up to 4 Modbus energy meters DDS238-2 ZN/S (single phase, very accurate class-1 meters), one to measure the charging power/energy, one to measure the power/energy exchanged with the electricity grid. Can also be connected to other 2 energy meters to monitor other loads/circuits, if needed (heat pump, kitchen, ...). As energy meters are really accurate, it's possible to get accurate statistics and charts about energy used to charge the electric vehicle and energy exchanged with the grid.
- Controls an external 2P or 4P contactor to enable or exclude mains power supply to the electric car, and fully check that contactor works as expected (alarm in case of concacts welded or power outage).
- 5 working modes, that can be configured by the Domoticz UI or by 2 UP/DOWN buttons:
- OFF: EV charging disabled (led status: red)
- SOLAR: use only energy from the solar system, assuring that power from grid is less equal than 0 Watt (Grid Power < 0; led status: green).
- 25%: use both solar and grid energy, max 25% of the power availability (for example, with 6kW contract, use max 1500W from grid, + available power from solar) (
- Grid Power < 0.25*EVMAXPOWER; led status: yellow)
- 50%: use both solar and grid energy, max 50% of the power availability (for example, with 6kW contract, use max 3kW from grid) (Grid Power < 0.5*EVMAXPOWER;
- led status: yellow)
- 75%: use both solar and grid energy, max 75% of the power availability (for example, with 6kW contract, use max 4500W from grid) (Grid Power < 0.75*EVMAXPOWER;
- led status: yellow)
- 100%: use both solar and grid energy, max full power (for example, with 6kW contract, use max 6kW) (Grid Power < EVMAXPOWER; led status: yellow). In this mode it's also possible to set a consumption profile which includes two maximum power thresholds which are alternated for the duration of two configured times, to use the really max power from the grid. For example, in Italy with a 6kW contract it's possible to drain max 7.6kW for 90 minutes, than 6.6kW for 90 minutes.
- MANAGED: charging current set by the domotic controller (by a script, for example) (led status: blue)
- STOP charging by pushing DOWN button for 1 second
- AUTOSTART function: if enabled, when the vehicle is plugged again, the charging mode is automatically restored to the previous charging mode. For example, if in the last charging session the EVSE mode was SOLAR, every time the vehicle is plugged again the EVSE mode will be automatically set to SOLAR mode.
AUTOSTART can be disabled so when vehicle is plugged the charging process will not start automatically, but will start manually (UP button to change Mode, or by the Web User Interface) or will start based on time (a simple rule on the domotic controller to start and stop charging in the night, for example). - Possibility to limit charging power by setting EVMAXCURRENT device: useful in the Summer when the car can be used as a soft load just to keep inverter voltage < 253V, preventing solar inverter disconnection or power limiting. In Solar mode the EVSE charge all the available power from solar inverter, but setting EVMAXCURRENT to 12A, for example, EVSE will take max 12A from the solar inverter. EVMAXCURRENT can be changed easily with an automation in your home automation system.
- the domotic controller (Dombus, Home Assistant, OpenHAB, ...) can receive from DomBusEVSE device the following telemetries for real-time display and to show nice charts:
- charging power/energy, that is differentiated into the following two charts
- charging power/energy from solar (photovoltaic or other renewable source)
- charging power/energy from the electricity grid
- charging voltage and power factor
- total power/energy from grid
- grid voltage, power factor and frequency
The following pictures shows charts generated by Domoticz using DomBus protocol; Modbus version can show the same charts, depending by the configuration of the controller (Home Assistant, OpenHAB, NodeRED, ...) - RGB led displaying current EV state:
EV unplugged/disconnected: 1 green flash (CP voltage = 12V)
EV plugged/connected: 2 green flashes (CP voltage = 9V)
EV plugged/connected and EVSE wants to start charging: 3 green flashes (CP voltage = PWM +/- 9V)
EV charging: blue led flashes 1 or more times, indicating the current power (1 blue flash => less than 1kW, 2 blue flashes => less than 2kW, ...) (CP voltage = PWM +/- 6V)
EV error: 1 red flash => On board charger requires external ventilation, 2 red flashes => no mains power supply detected by EVSE module (EV Supply input should be connected to 230V output from contactor), 3 red flashes => mains power supply detected when contactor is OFF: welded contact?
When a new EV mode is selected (from smartphone or using the UP/DOWN button), RGB led shows current mode for 1 second. - Low power consumption: 100mW in stand-by, 400mW while charging
- Terminal blocks to connect external Up/Down double-pushbutton, if needed, that works as internal UP/DOWN button.
- Size: DIN-rail, 3 modules width, 53x89x65mm
- Connection: RS485 (DomBus or Modbus protocols), using common alarm shielded cable (4x0.22mm² or 2x0.22mm²+2x0.5mm²); max connection length: 200m
Note: E/S buttons are not used.
How does an EVSE (wallbox) work?
Although this is a fully tested and CE-certified product, it may be used by technical engineers only for development or demostration. Creasol declines all responsibility for damage to things or people.
Mains power supply (230V single-phase, 400V three-phase) is connected to the vehicle through a 2P or 4P contactor (relays) to assure that no power is applied when charging session is OFF.
Only the Control Pilot wire + earth/ground are connected to the EVSE module: control pilot is protected by transient voltage suppression device.
A smart EVSE module:
- monitors the mains power supply through a energy/power meter
- monitors the charging power supply, through another energy/power meter
- monitors the control pilot to check the vehicle status (disconnected, connected, charging requested, ventilation requested, alarm)
- send to the car a 1KHz PWM signal to specify the max available current for charging
- activates the mains power supply through a contactor
- records all measures to provide nice charts that permit to have a statistic about electric car consumption
With Domoticz, Home Assistant and other opensource controllers, it's also possible to connect the vehicle cloud to get other informations about battery state of charge, odometer, location, speed, ...
Charging session starts when
- vehicle is plugged,
- EVMode is Solar, 25%, 50%, 75% or 100% (Managed mode is not considered, now), and
- GridPower + EVSTARTPOWER < power set by EVMode: for example, setting Solar mode and EVSTARTPOWER=1600W, the charging session starts only if GridPower < -1600W (more than 1600W available from photovoltaic, wind, ...).
Charging session ends if
- EVMode is set to Off,
- GridPower > power set by EVMode for more than EVSTOPTIME seconds (and EVCurrent=6A that is the minimum value for charging current), or
- Vehicle stops charging (maybe because SoC reached the max level).
During charging, the EVCurrent value is updated regularly to keep GridPower to the value set by EVMode. If grid power meter is attached to the A2/B2 bus of DomBusEVSE, the grid power is read every 3 seconds. In case of using existing power meter connected to the home automation systems, it's recommended to update the grid power value every 5s or less. Please note that when power is exported to the grid (photovoltaic produces more than house usage), the GridPower value fed to the EVSE should be negative.
The On Board Charger in the car have 6 seconds of time to reduce its current consumption (Ampere) to the value set by the EVSE module.
DomBusEVSE works even without a grid power meter!
Most users already have a power meter measuring the energy exchange with the grid. Other have a hybrid solar inverter connected to both photovoltaic and accumulator, providing the power exchanged with the grid and with the battery. In these cases there is no need to add another grid power meter, but it's sufficient to create a simple automation to inform the EVSE how much power it's draining. Now we call:
Grid_Power_Meter = power (in Watt) from the electricity grid (negative in case of exported power to the grid)
Battery_Power_Meter = power (in Watt) from the accumulator (negative when battery is charging)
Grid Power = EVSE virtual device that should be updated by the automation to know the usage power
The automation must send to the EVSE module, every 6 seconds or less (better every 3-4 seconds) the sum Grid_Power_Meter + Battery_Power_Meter
Example1: photovoltaic producing with battery, EVSE in Solar mode (use only power from solar)
EVSE in Solar Mode, Off state (not charging), Inverter is charging the battery for 3000W (Battery_Power_Meter=-3000) and sending 1500W to the grid (Grid_Power_Meter=-1500). The automation have to send the number -4500 to the EVSE Grid Power device: if (-4500+EVSTARTPOWER < 0) and (EV battery SoC is not full), the charging process starts to consume all available 4500W (EVSE works to keep Grid Power = 0, in Solar mode).
After 6 seconds from start, it checks the Grid Power device (written by the automation): if Grid Power > 0 it reduces the charging current to get Grid Power <= 0, while if Grid Power < 0 and enough power is available to keep Grid Power <0, it increases the current (Ampere) and wait another 6s before updating the current again.
The 6s time (SAE1772 standard) corresponds with the max time that the OBC can use to modify the consumed power in accordance with what is established by the EVSE module, and can be changed using the parameter EVWAITTIME.
Example2: photovoltaic producing, no battery, EVSE in 100% mode (use all available energy from solar and grid to charge at the maximum speed)
In this case it's sufficient to have an automation that, when Grid_Power_meter changes, set the Grid Power virtual device with that value. Suppose that EVMAXPOWER is 11000 (contractual power = 11kW), EVMAXCURRENT is 32A (max 22kW in three phase).
If Grid_Power_Meter=-3500 (3500W of solar power exported to the grid), this value should be sent to Grid Power so, when EVMode changes from Off to 100% (or when EVMode=100% and the vehicle is plugged in), charging session starts with the power value
(EVMAXPOWER*100%) - Grid_Power_Meter = 11000 - (-3500) = 14500W
Of course, EVSE always check to not exceed EVMAXCURRENT, and the same do the On Board Charger (a resistor inside the EV Cable sets the maximum allowed current).
Example 3: charging using the absolute max power from the Grid
In Italy it's possible to drain always 10% more than the contractual power, and 27% more with duty cycle max 50% and maximum time of 90 minutes.
If the contractual power is 4500W. for example, it's possible to set EVMAXPOWER=4500*1.10=4950, EVMAXPOWER2=4500*1.27=5715, EVMAXTIME=900, EVMAXTIME2=900. In this case the EVSE, when EVMode=100%, will set the charging current to drain from the grid 5715W for 15 minutes (900s) and 4950W for 15 minutes, then 5715W for another 15 minutes, and so on.
How to make a DIY Smart Wallbox (EV charging station), single phase or three-phase with load balancing, using Creasol DomBusEVSE
The following diagram shows the connection of the EVSE module to energy meter, contactor, RCD to get a complete smart wallbox, single-phase 230V, sensing the grid power to get the best charging speed preventing overloads and disconnections. Block diagram is available also in PDF format.
It's possible to make a three phase charger by replacing the contactor with a 4P version and using an three-phase energy meter connected to Domoticz so the current power drained from the electricity grid is fed by Domoticz to the DomBusEVSE module.
This device was designed for technical engineers only, for developing purpose. Creasol declines any responsibility for damage to things or people.
Home-made single-phase smart wallbox 230V 7.3kW max (32A)
- EVSE module Creasol DomBusEVSE
- Type-B RCCB 2P 40A that is able to detect differential currents protecting the circuit even if currents are in DC.
- One energy meter DDS238-2 ZN/S (Modbus version) to keep account of energy fed to the vehicle, charging power, ... This is a very accurate class-1 energy meter. This energy meter is not mandatory: it is possible to omit it saving space and cost, but you would lose the statistics and charts on power and energy used for recharging the vehicle.
- One 2P 40A contactor to enable / remove mains power supply to the vehicle, disconnecting the vehicle if charging process is OFF.
- One energy meter DDS238-2 ZN/S connected to the electricity grid, to detect the import/export power and keep account of energy, voltage, power factor and frequency. This is also good to measure the power and energy consumed by the building, and have nice graphs showing these parameters over the years.
In case of home automation system with an already existing grid power meter, providing power value with max 10s interval, it's possible to use it without connecting the meter to DomBusEVSE, but adding a simple automation that set a virtual device Grid Power on DomBusEVSE when power changes; the power value should be negative in case that power is exported to the grid. - Type-2 cable or Type-1 cable to connect the vehicle, and of course some wires to connect all parts together. EV cable for single-phase recharge has 4 wires: Line, Neutral, PE and Control Pilot.
- If 13.6Vdc power supply is missing, a power supply unit 13.6V 15W is needed
DomBusEVSE module works in both stand-alone (without a domotic controller) and with a domotic controller like Home Assistant, Node-RED, Domoticz, ... In the latter case a USB/RS485 adapter is needed to interface the domotic controller with the DomBuseEVSE module. Please note that RS485 bus needs two terminating resistors (100 - 150 Ohm, connected between A and B terminal blocks) on the bus ends: if needed, it's possible to open the EVSE module (unscrewing the 4 screws) and shorting, by a solder iron, the 2 PCB pads named Rb.
Configuration
Make all wirings as indicated in the diagram above (click to get the PDF schematic with higher resolution), but connect only the energy meter that measures energy to the electric vehicle.
We suggest to put the wallbox modules in a indoor switchbox, possibly near the point where you'll park your car, but also near the main switchbox or solar inverter, if exists, to minimize cable length: use 6mm² (or 10mm²) wires for the mains power supply. Then place a small 10x10cm box where the electric car is parked, indoor or outdoor, connected by 3x 6mm² (or 10mm²) wires (L,N,PE) plus a shielded 2x0.22mm² cable (standard cable for alarm systems): one wire is connected to the CP terminal block (control pilot), and other wire + shield are connected to PE/GND. The Type-2 or Type-1 cable (with only plug connector to the vehicle) will be connected to the small box.
In case that device is used as stand-alone, without attached domotic controller, energy meters must be already configured with Modbus address=2 (to EV) and address=3 (to Grid): they can be purchased from Creasol Store asking to get address already programmed. Also it's possible to ask that EVSE module is preprogrammed with the right value of EVMAXPOWER (max power from grid), EVMAXCURRENT (max current supported by the EV cable).
Finally, DomBusEVSE has additional support for:
* SPST relay output RL2, with 250V 5A capability, that can be used for any purpose
* up to 4 energy meters, so 2 additionally energy meters (with address=4 and 5) can be connected to get power statistics for the heat pump, kitchen, ....
All parts should be available in the Creasol Store
Configuration with Domoticz
The next instructions are relative to Domoticz controller, a free open-source home automation controller that let a full control of the wallbox and is highly recommended: it works in cheap hardware like Rock PI-S or Raspberry PI4, as like Linux computers, windows and Mac.
It's recommended to install Domoticz Beta, which is up-to-date, Python Plugin Manager (not available in Windows), then it's possible to install the Creasol DomBus plugin from Python Plugin Manager: in this way it's possible to get notifications about future updates of the DomBus plugin, and auto upgrade.
DomBusEVSE can be connected to the domotic controller / PC by a USB/RS485 adapter: a device will be automatically added to Domoticz -> Switches panel, with factory-default address ffe3.1: click on Edit button and add to the Description ,HWADDR=0x0001 or other unique address, then click Save button: click on Dashboard and then on Switches again to see, in the bottom, the EVSE devices: EVSE On, RL2, EVSE Supply, EVSE Mode, EVSE State, EVSE Current. Click on EVSE Mode, and edit the EVMAXPOWER and EVMAXCURRENT parameters, then save.
Create a new room to group all EVSE device: Setup -> More Options -> Plans -> Room Plan, add a new room Wallbox or something else, and add all devices with address corresponding with the HWADDR set before. Then, click on Dashboard and select the Wallbox room.
As energy meters are factory programmed with Modbus address 1, first connect the energy meter between Type-B RCCB and contactor, and assign address = 2 in this way: select Domoticz -> Utility -> M1 Addr device, click on Edit button and write in the Description field ,ADDR=2 then save. Then connect the main energy meter (that measure the power exchanged with the grid) and assign address=3: select Domoticz -> Utility -> M1 Addr device, click on Edit button and write in the Description field ,ADDR=3 then save.
If a energy meter connected to the electricity grid is already available, it's sufficient to install a simple script that, when the power from grid changes, update the value of the "virtual device" Grid Power that is automatically created.
Configuring DomBusEVSE module to be used with Home Assistant
Please check the Home Assistant page.
Home-made single-phase smart wallbox 400V 11kW or 22kW max (32A)
- EVSE module Creasol DomBusEVSE
- Type-B RCCB 4P 25 or 40A that is able to detect differential currents protecting the circuit even if currents are in DC.
- One three phase energy meter DTS238-4 ZN/S (Modbus version) to keep account of energy fed to the vehicle, charging power, ... This is a very accurate class-1 energy meter. This energy meter is not mandatory: it is possible to omit it saving space and cost, but you would lose the statistics and charts on power and energy used for recharging the vehicle.
- One 4P 25A or 40A contactor to enable / remove 400V mains power supply to the vehicle, disconnecting the vehicle if charging process is OFF.
- One three-phase energy meter DTS238-4 ZN/S connected to the electricity grid, to detect the import/export power and keep account of energy, voltage, power factor and frequency. This is also good to measure the power and energy consumed by the building, and have nice graphs showing these parameters over the years. This energy meter is not needed in case that you're using the EVSE module in a home automation system with an already existing grid power meter, providing power value with max 10s interval: you may add a simple automation that set the virtual device Grid Power on DomBusEVSE when power changes; the power value should be negative in case that power is exported to the grid.
- Type-2 cable or Type-1 cable to connect the vehicle, and of course some wires to connect all parts together. EV cable for single-phase recharge has 4 wires: Line, Neutral, PE and Control Pilot.
- If 13.6Vdc power supply is missing, a power supply unit 13.6V 15W is needed
DomBusEVSE module works in both stand-alone (without a domotic controller) and with a domotic controller like Home Assistant, Node-RED, Domoticz, ... In this case a USB/RS485 adapter is needed to interface the domotic controller with the DomBuseEVSE module.
Configuring DomBusEVSE to work with three phase electric power
It's mandatory to set the parameter EVMETERTYPE=1 even if no energy meters are directly connected to the EVSE module: this is need to let the EVSE module know that three-phase power source is used, regulating the charging current accordingly.
Some parameters may be changed, like:
EVMETERTYPE=1 (use three-phase power source)
EVMAXPOWER=9000 (max power that can be drained from the grid)
EVSTARTPOWER=4200 (minimum available power to start charging session)
Smart home-made wallbox that can switch between single-phase and three-phase charging
EV On-Board Chargers require a minimum current of 6A to start, corresponding to about 1000W in single-phase and 3600W in three-phase.
Who have a photovoltaic system on the roof and three-phase house normally wants to charge the vehicle using only solar power (operating in single-phase to charge the car down to 1000-1200W) and sometimes, when a fast charging session is required, charge at full power using energy from the electric grid (three-phase).
DomBusEVSE, since Rev. 02i7, is able to drive two 2P contactors:
- one 2P contactor (40A), driven by RL1 output, to connect L1 and N to the EV cable (single-phase)
- another 2P contactor (25A or 40A), to also connect L2 and L3 (three-phase) to the EV cable
In this case it's needed to configure RL2 device as EV3PSELECT (EVSE with DomBus firmware: adding ,EV3PSELECT to the RL2 device description; EVSE with Modbus firmware: setting register 513 with the value 254).
When RL2 is configured as EV3PSELECT, it's possible to
1. stop charging (EVMode=Off) and wait that EVState=Connected (not charging)
2. enable RL2 device
3. start charging (EVMode=Solar or 25% or more): EVSE module will activate both contactors simultaneously, enabling three-phase charging (quick charging, up to 22000W).
1. stop charging (EVMode=Off) and wait that EVState=Connected (not charging)
2. disable RL2 device
3. start charging (EVMode=Solar or 25% or more): EVSE module will activate only the contactor driven by EV On, enabling single-phase charging (slow charging, down to 1000W).
Application:
- in the early morning, when solar photovoltaic power is low, start charging the vehicle in single phase.
- later, when solar photovoltaic power increases over 4kW, stop single-phase charging session, set RL2, then start session again, using three-phase. RL1 and RL2 relays inside the EVSE module will be activated simultaneously to activate both contactors.
This operation can be done manually, or using an automation that stop charging session and restart it in three or single phase as needed. The EVSE do not switch from single and three phase, or vice-versa, automatically.
Watch the video below!
2x 2P connectors connection diagram
Domoticz and DomBusEVSE
The following picture shows the integration in Domoticz of the EV (Kia Niro car, using the plugin available with Python Plugin Manager) and DomBusEVSE module; it shows a trip to Garda Lake, Northern of Italy, with a short charging session at a 11kW station, and then a long charging session using DomBusEVSE wallbox in SOLAR mode (only energy from photovoltic).
During the charging session at home, in SOLAR mode, both the washer machine and the oven were switched on: in this cases the EVSE module reduced the charging current to the minimum and after 90 seconds ended the session until available power returned above the EVSTARTPOWER parameter. As displayed in the charts below, the module assure that no power comes from the grid, in SOLAR mode.
Domoticz + Grafana dashboard
DomBusEVSE Modbus RTU capabilities (for the Modbus version)
At power-on, the module shows on red LED the current Modbus slave address (register address=8192) in decimal format, on green LED the serial baudrate (reg. 8193), and finally on red LED the serial parity (reg. 8194).
If a value is zero, a long flash is emitted.
For example, if reg(8192)=227, reg(8193)=0, reg(8194)=0, at power the following led flashes will be shown:
2 red flashes, pause, 2 red flashes, 7 red flashes (slave address= 0xe3 = 227 in decimal), pause, 1 long green flash (reg(8193)=0 => baudrate=115200bps), pause, 1 long red flash (reg(8194)=0 => parity=None).
Device will be operative only when address/baudrate/parity parameters have been shown: then module will accept commands by Modbus RTU, and periodically shows output status for all ports, from 1 to max port: green flash means that port status is Off, red flash means that port is On.
Default slave address: 227 (0xe3)
Addr | Name | Values | Description |
0 | RL EV EV On |
0=OFF, 1=ON (EV charging ON) | Read-only register showing the status of EV On relay output, connected to the contactor used to enable mains power supply to the vehicle. It is ON while charging. |
1 | RL2 | 0=OFF, 1=ON (relay ON), 2-65279=ON for the specified time (see below). |
Aux relay that can be used for EV cable lock, courtesy light, or other purpose Please note that, setting RL2 option as 254 (addr=513, value=254) it's possible to use RL2 to switch between single-phase and three-phase. Please check the dedicated section. In this case, reading RL2 returns the status of the relay. |
2 | In EV EV Supply |
0=OFF, 1=ON | Read only value associated to the 230Vac optoisolated input connected to the mains power supply after the contactor. It's used to check the presence of mains supply |
3 | EV Mode |
0=OFF |
EV charging mode: set the value of power that can be sinked from the Grid. For example, if EVMAXPOWER=6000W, setting EV Mode to 1 let the EVSE using no more than 0W from the electrical grid (only power from photovoltaic). Setting EV Mode to 3 let the EVSE using 3kW from the grid. |
4 | EV State | 1=Disconnected 2=Connected 3=Charging 4=Charging + ventilation requested by the car 5=Vehicle error 6=Power outage error (no mains power supply available: check RCBO/RCCB) 7=Welded contactor error (mains power supply is detected even if contactor is OFF) |
Read only: shows the electric vehicle status. |
5 | EV Current | 0=OFF 6-32: charging current in Ampere |
Charging current in Ampere. When EV mode is set in Managed mode, this value can be set by the home automation controller (by a automation) to change the EV charging power. |
6 | EV Power | 0=0W , 6420=6420W | Read only: current charging power in Watt (EV Solar + EV Grid) |
7 | EV Solar | 0=0W, 3100=3100W | Read only: current charging power from renewable source |
8 | EV Grid | 0=0W, 3320=3320W | Read only: current charging power from the electrical grid |
9 | EV Voltage | 232=232V | Read only: current charging voltage |
10 | EV PF | 0=0 910=0.91 1000=1 |
Read only: current charging power factor (the best value is 1000, corresponding to a Power Factor=1 (no reactive power, no harmonics) |
11 | Grid power | 0=0W 3320=3320W 65535=-1W (negative => 1W to the grid) 65336=-200W (negative => 200W to the grid) |
Read/Write: current power from the electrical grid. If negative, the power flows from the building to the grid. Negative value when > 32768: in this case negativePower=value-65536 Can be written by the home automation system in case that an energy meter already exists in the building, so it's not needed to add an extra energy meter connected to the EVSE module. To get a stable charging, the current power from grid must be sourced to the EVSE module every 6 seconds or less. |
8192 | Slave Address | 1-247 | Permits to change the slave address of the module, so it's possible to add other modules to the same bus. Write-only |
8193 | Serial bitrate | 0=115200bps, 1=57600, 2=38400, 3=19200, 4=9600, 5=4800, 6=2400, 7=1200bps | Serial speed, default 115200 bps 8,n,1. Write-only |
8194 | Serial parity | 0=None, 1=Even, 2=Odd | Serial parity, default none (115200 bps 8,n,1). Write-only |
8198 | Revision, major | Read only | Get firmware version, major number. For example "02" means that revision is "02XX" where XX defined by parameter 8199 |
8199 | Revision, minor | Read only | Get firmware version, minor number. For example "h1" means that revision is "XXh1" where XX defined by parameter 8198 |
9001 | EVMAXCURRENT | Range: 6-36 A, default 16A. Max current in Ampere (depends by EV cable) |
Maximum current [A], limited by the EV cable and electric system. Normally 16 or 32A, def. 16A) |
9002 | EVMAXPOWER | Range: 1000-25000 W, default 3300W. 3300=3.3kW, 6000=6kW, 16000=16kW |
Maximum power [W] that can be sinked from the grid (for example 6000W, def. 3300W) |
9003 | EVSTARTPOWER | Range: 800-25000 W, default 1200W. 1600=start charging if at least 1600W are available |
Minimum available power [W] to start charging process (for example 1000W, def. 1200W) |
9004 | EVSTOPTIME | Range: 5-600 s, default 90s. 90=stop charging after 90s if available power is always below the power set by EV Mode |
Time [S] after which the charging process is terminated in case the available power is lower than the power set by EV Mode |
9005 | EVAUTOSTART | Range: 0-1, default 1. 0=autostart OFF => if EV Mode was OFF, charging does not start 1=autostart ON => if EV Mode was OFF, charging start using the EV Mode used in the last charging process |
Enable or disable the automatic charging when the vehicle is connected, and previous state was OFF |
9006 | EVMAXPOWER2 | Range: 0-25000 W, default 0. 0=function disabled. 7600=7600W max power from grid |
Absolute maximum power from grid (see below) |
9007 | EVMAXPOWERTIME | Range: 0-43200 s, default 0. 0=function disabled. 900=900s (15m) |
Max time [S] the charging should work at EVMAXPOWER before switching to EVMAXPOWER2 (see below) |
9008 | EVMAXPOWERTIME2 | Range: 0-43200 s, default 0. 0=function disabled. 870=870s (14m30s) |
Max time [S] the charging should work at EVMAXPOWER2 before switching to EVMAXPOWER (see below) |
9009 | EVWAITTIME | Range: 3-60 s, default 6s. When current value (ampere) has changed, wait for this amount of time before changing it again. |
Time [S] to wait before changing the current value again, to let the OBC (On Board Charger) adjust the charging current. SAEJ1772 states that OBC should adjust the current within 6 seconds. |
9010 | EVMETERTYPE | 0=DDS238 ZN/S (single phase), 1=DTS238 ZN/S (three-phase) | Set the type of energy meter used. If no energy meter is used (energy meters directly controlled by the domotic system), set this parameter to 1 in case of three-phase power supply |
It's possible to activate one or more outputs for a certain amount of time (monostable/timer output) as indicated in the table. The parameter corresponding to the needed time can be computed using the following rules:
From 0 to 60s => 31.25ms resolution 2=62.5ms, 3=93.75ms, ... 1920=60s => value=time_in_milliseconds/31.5
From 1m to 1h with 1s resolution 1921=61s, 3540+1920=5460=1h => value=(time_in_seconds-60)+1920
From 1h to 1d with 1m resolution 5461=1h+1m, 1380+5460=6840=24h => value=(time_in_minutes-60)+5460
From 1d to 1500 days with 1h resolution 6841=25h, 6842=26h, and so on => value=(time_in_hours-24)+6840
The following tables show some Modbus commands examples.
Slave Addr | Func. Code | Reg.Addr | Reg.Value | Frame | Description |
227 | 06 | 8192 | 1 | [51][06][20][00][00][01][xx][xx] | Change slave address from 227 (0xe3) to 1 |
01 | 06 | 8193 | 4 | [01][06][20][01][00][04][D2][09] | Set serial speed to 9600bps mbpoll -v -b115200 -Pnone -mrtu -a1 -0 -1 -r8193 /dev/ttyUSB0 4 |
01 | 06 | 8194 | 1 | [01][06][20][02][00][01][E2][0A] | Set even parity |
49 | 10 | 8192 | 1,4,1 | [31][10][20][00][00][03][06][00][01][00][04][00][01][B1][71] | With a single command, set slave address to 1, serial speed to 9600bps, even parity. Original modules address was 49 (0x31) in this example. |
01 | 06 | 0 | 65280 | [01][06][00][00][FF][00][C8][3A] | Activate RL1 output forever (65280=0xff00) |
01 | 06 | 1 | 960 | [01][06][00][01][03][C0][D8][AA] | Activate RL2 for 960/32=30s |
01 | 06 | 255 | 0 | [01][06][00][FF][00][00][B9][FA] | Disable all outputs (Reg.Addr=255) |
01 | 10 | 0 | 32,0,0,65280 | [31][10][00][00][00][04][08][00][20][00][00][00][00][FF][00][E6][5C] | Set RL1 On for 1s (32), RL2 Off, RL3 Off, RL4 On - Max 10 registers can be set in one command |
01 | 03 | 255 | 1 | [01][03][00][FF][00][01][B4][3A] | Read a 16bit value with ports status. For example if returned value is 0xd1 (0b11010001), output status is: RL8=On, RL7=On, RL6=Off, RL5=On, RL4=Off, RL3=Off, RL2=Off, RL1=On |
01 | 03 | 8198 | 2 | [01][03][20][06][00][02][2F][CA] | Read 4 bytes within module version. For example, if returned value is <30><32><68><31> (in hex format), the corresponding ASCII value is "02h1" (Firmware 02h1) |
01 | 0F | 0 | 8,1,0xd1 | [01][0F][00][00][00][08][01][D1][3E][C9] | Set coil status to 0xd1 (0b11010001), activating RL8, RL7, RL5, RL1 and disabling other relays |
01 | 01 | 0 | 8 | [01][01][00][00][00][08][3D][CC] | Read coil status. If returned value is 0xd1 (0b11010001), it means that RL8, RL7, RL5 and RL1 are On |
Modbus protocol can be tested easily using a modbus program, like mbpoll for Linux:
mbpoll -v -m rtu -0 -1 -a1 -b115200 -Pnone -r 0 /dev/ttyUSB0 32 0 64 128 0 0 0 65280
to activate RL1 for 1s, R3 for 2s, RL4 for 4s and RL8 forever.
mbpoll -v -m rtu -0 -1 -a1 -b115200 -Pnone -r 255 -c 1 /dev/ttyUSB0
to read all port states.
Using DomBusEVSE module with Home Assistant
The modbus version of DomBusEVSE can be used with the HomeAssistant hub using the native Modbus integration. More information in the page specific for Home Assistant.
DomBusEVSE wallbox in Managed Mode
When DomBusEVSE module is configured in managed mode, the domotic controller is responsible to set the charging current as preferred. Obviously, all protections regarding max current, min current and any alarms from the car are correctly managed by the EVSE module. This operational mode is useful only in certain cases, where many wallboxes are used and charging current should be fully controlled by the home automation system. Stand-alone mode is the preferred operational mode.
In managed mode it's possible, for example, to make a custom automation on your domotic system that:
1. set the minimum and maximum EV battery level
2. set the maximum charging current
3. when EV battery level is below the minimum threshold, charge at the max power permitted by the electricity meter (in Italy, alternating 90 minutes at maximum power + 27% and 90 minutes at maximum power + 10%, it's not possible to charge faster!). The electrical system must be checked carefully when using maximum power, to avoid overheating and fires!!
4. when battery level is between minimum and maximum, charge using only power from renewable energy from photovoltaic
Also, the max grid power can be adjusted to get the maximum from the grid. The chart below shows the case of Italy, where the max available power is P+10% forever, and P+27% for max 90 minutes every 180 minutes. Charging current should be updated by the automation every 6-10 seconds to take care about other building appliances.
Click to see a video of DomBusEVSE working in managed mode, controller by a Domoticz script
To start a charging session in "Managed" mode, EVMode parameter should be set to MANAGED (6) and EVCurrent should be set to 6 (Ampere) or more: if EV is plugged, the Led will flash green 3 times (PWM signal sent to the vehicle) and when the vehicle accept charging, contactor will be activated and Led start flashing blue N times (N indicating the charging kW-1, for example N=1 means that charging power is less than 1kW, N=2 if charging power is between 1 and 2kW, ...). If the vehicle battery is already full, the EVSE continues flashing green 3 times for 16 seconds (sending PWM signal to the car to start charging), then stops sending PWM signal for 16 seconds (Led flashes green 2 times), then it restarts again sending the PWM signal again for 16 seconds and so on.
Charging electric car when a stationary battery is available
In case that a stationary accumulator is installed in the building, two cases are possible:
1. the DomBusEVSE grid energy meter is installed before the stationary accumulator/inverter sensor (mains power supply -> DomBusEVSE energy meter -> battery sensor)
2. the DomBusEVSE grid energy meter is installed after the stationary accumulator/inverter sensor (mains power supply -> battery sensor -> DomBusEVSE energy meter)
To explain these two cases, let assume that photovoltaic is producing 3kW, house is consuming 1kW, max power from battery is 5kW, max power from grid is 6kW
EVSE Mode | OFF | SOLAR | 25% | 50% | 75% | 100% |
Case #1 charging power (EVSE meter, then battery meter) |
0 | 3-1=2kW | 3-1+1.5=3.5kW | 3-1+3=5kW | 3-1+4.5=6.5kW | 3-1+6=8kW |
Case #2 charging power (battery meter, then EVSE meter) |
0 | 3-1+5=7kW | 3-1+5+1.5=8.5kW | 3-1+5+3=10kW | 3-1+5+4.5=11.5kW | 3-1+5+6=13kW |
Obviously, a parameter set the max current supported by the cable, that usually is 32A, so the charging power is limited to 7-8kW in single phase.
Instructions
First activation and Warnings
- Assure that hardware is assemblied correctly, wires size are chosen properly and connections are well done: please note power dissipation depends by I² and 32A is a huge current for a charging session that can last several hours!
- Set the EVMAXCURRENT parameter to 16 or 32 Ampere, depending by the cable used to connect the vehicle
- Set the EVMAXPOWER parameter to the max available power from the electrical grid (3000, 6000, 6600, ...)
- Other parameters can be set later, if needed.
- Follow the instructions below to start a charging session: the first time that charging session is started using full available power, please terminate the session after 5-10 minutes to check the temperature on all connections and wires!
Start and stop charging sessions
- Connect the cable to the vehicle, if not already connected: the DomBusEVSE LED should flash twice green (vehicle plugged)
- Using the Up/Down button or domotic controller, set EVMode to Solar, 25%, 50%, 75% or 100%: if EV battery level is low, charging starts and blue LED on DomBusEVSE will flash N times indicating the current charging power in kW; for example, if blue led flashes 5 times, charging current now is between 4 and 5kW.
- To stop charging push the Down button for 1 second.
- If the parameter EVAUTOSTART is On, next time the vehicle is plugged, the charging session will start automatically using the same EVMode used last time.
Programming charging
Use the home automation system connected to the DomBusEVSE module to start and stop charging at certain hours, depending by energy cost. For example who has a large photovoltaic system should disable charging between 7 and 11 and between 18 and 22 to help the electricity grid exporting power rather than consuming it charging the car.
Also, if vehicle is connected to the home automation system, it's possible to create a simple script that compares the EV battery State-of-Charge with a minimum SoC that must be guarantee using both Solar+Grid energy to charge it in the faster way (EVMode=100%); above the minimum SoC, charge using only reneable energy (EVMode=Solar).
Solar inverter, V>=253V in the Summer and power limiting/disconnecting
When the solar inverter is feeding a high power (current) to the electric grid, the voltage raise to a high value. Solar inverters are usually programmed to disconnect or limit their output power to avoid output voltage greater than 253V (230V+10%).
To prevent this problem, when a vehicle is at home, just charge it; if the car SoC is almost full, to have a longer charging session, set DomBusEVSE in Solar mode (use only energy from solar inverter) and set EVMAXCURRENT to a low value (in the range 6-32A, for example 12A) to keep mains voltage below 253V.
Also, it's possible to create an automation, in your home automation system, that sets EVMAXCURRENT to a low value when the car is almost full, and full value (16A or 32A depending by your cable and your needs) when the car have to be charged quickly.