added datasheets
This commit is contained in:
185
SmartEVSE-3/docs/REST_API.md
Normal file
185
SmartEVSE-3/docs/REST_API.md
Normal file
@@ -0,0 +1,185 @@
|
||||
# REST API
|
||||
|
||||
The REST API can be accessed through any http tool, here as an example CURL will be used.
|
||||
|
||||
# GET: /settings
|
||||
|
||||
curl -X GET http://ipaddress/settings
|
||||
|
||||
will give output like:
|
||||
```
|
||||
{"version":"21:02:46 @Jan 3 2024","mode":"OFF","mode_id":0,"car_connected":false,"wifi":{"status":"WL_CONNECTED","ssid":"wifi_nomap_EXT","rssi":-82,"bssid":"28:87:BA:D6:B9:DE"},"evse":{"temp":16,"temp_max":60,"connected":false,"access":false,"mode":1,"loadbl":0,"pwm":1024,"solar_stop_timer":0,"state":"Ready to Charge","state_id":0,"error":"None","error_id":0,"rfid":"Not Installed"},"settings":{"charge_current":0,"override_current":0,"current_min":6,"current_max":16,"current_main":25,"current_max_circuit":16,"current_max_sum_mains":600,"solar_max_import":9,"solar_start_current":29,"solar_stop_time":10,"enable_C2":"Always On","modem":"Not present","mains_meter":"InvEastrn","starttime":0,"stoptime":0,"repeat":0},"mqtt":{"host":"10.0.0.28","port":1883,"topic_prefix":"SmartEVSE-51446","username":"homeassistant","password_set":true,"status":"Connected"},"home_battery":{"current":0,"last_update":0},"ev_meter":{"description":"Eastron3P","address":11,"import_active_power":0,"total_kwh":5670.1,"charged_kwh":0,"currents":{"TOTAL":1,"L1":0,"L2":0,"L3":1},"import_active_energy":5670.1,"export_active_energy":0},"mains_meter":{"import_active_energy":8614.8,"export_active_energy":5289.3},"phase_currents":{"TOTAL":75,"L1":57,"L2":6,"L3":12,"last_data_update":1704535684,"charging_L1":false,"charging_L2":false,"charging_L3":false,"original_data":{"TOTAL":75,"L1":57,"L2":6,"L3":12}},"backlight":{"timer":0,"status":"OFF"}}
|
||||
```
|
||||
|
||||
This output is often used to add to your bug report, so the developers can see your configuration.
|
||||
|
||||
NOTE:
|
||||
In the http world, GET parameters are passed like this:
|
||||
curl -X GET http://ipaddress/endpoint?param1=value1¶m2=value2
|
||||
and POST parameters are passed like this:
|
||||
curl -X POST http://ipaddress/endpoint -d 'param1=value1' -d 'param2=value2' -d ''
|
||||
|
||||
Now in the ESP world, we all have picked up the habit of using the GET way of passing parameters also for POST commands. SmartEVSE development not excluded....
|
||||
From version v3.6.0 on, instead of using the Arduino Core webserver libraries, we are now using the Mongoose webserver, which is broadly used. This webserver however sticks to the "normal" http standards.
|
||||
|
||||
This means that if you POST a request to SmartEVSE > 3.6.0, the webserver will be waiting for the -d data until it times out (or you ctrl-C your curl command). -d ''
|
||||
You can prevent this by adding
|
||||
'''
|
||||
-d ''
|
||||
'''
|
||||
|
||||
to your curl POST command. -d ''
|
||||
|
||||
# POST: /settings
|
||||
* backlight
|
||||
|
||||
  Turns backlight on (1) or off (0) for the duration of the backlighttimer.
|
||||
|
||||
```
|
||||
curl -X POST http://ipaddress/settings?backlight=1 -d ''
|
||||
```
|
||||
|
||||
* mode
|
||||
|
||||
  Only following values are permitted:
|
||||
<br>  0: OFF
|
||||
<br>  1: NORMAL
|
||||
<br>  2: SOLAR
|
||||
<br>  3: SMART
|
||||
|
||||
* stop_timer
|
||||
|
||||
  Set the stop timer to be used when there isn't sufficient solar power. Value must be >=0 and <= 60.
|
||||
<br>  Using 0 will disable the stop timer.
|
||||
|
||||
* disable_override_current
|
||||
|
||||
  If this parameter is passed the override current will be reset (value doesn't matter)
|
||||
|
||||
* override_current
|
||||
|
||||
  Works only when using NORMAL or SMART mode
|
||||
<br>  Desired current multiplied by 10
|
||||
<br>  If set to 0, override_current is disabled
|
||||
|
||||
<br>  Examples:
|
||||
<br>  If the desired current is 8.3A the value to be sent is 83
|
||||
```
|
||||
curl -X POST http://ipaddress/settings?override_current=83 -d ''
|
||||
```
|
||||
|
||||
* enable_C2
|
||||
|
||||
  Enables switching between 1 phase mode and 3 phase mode by controlling a 2nd contactor (C2 port)
|
||||
<br>  
|
||||
<br>  Note 1: The 2nd contactor will only be turned ON when state chages to C (Charging)
|
||||
<br>  Note 2: This is just changing the config setting, the contactor will not be controlled immediately but only when there is a
|
||||
<br>  state change.
|
||||
<br>  
|
||||
<br>  If car is charging and you want to change from 1F to 3F or vice versa:
|
||||
```
|
||||
- Change mode to OFF
|
||||
- Enable or disable C2 contactor
|
||||
- Change to desired value: 0 "Not present", 1 "Always Off", 2 "Solar Off", 3 "Always On", 4 "Auto"
|
||||
- Examples:
|
||||
- If the desired C2 mode is "Solar Off", the string to be sent is 2
|
||||
```
|
||||
* starttime
|
||||
|
||||
  Enables delayed charging; always has to be combined with sending the mode in which you want to start charging.
|
||||
<br>  
|
||||
<br>  Note 1: The time string has to be in the format "2023-04-14T23:31".
|
||||
<br>  Note 2: The time must be in the future, in local time.
|
||||
<br>  Note 3: Only valid when combined with Normal or Smart mode. Solar mode will itself decide when to start...
|
||||
<br>  
|
||||
<br>  Examples:
|
||||
<br>  If you want the car to start charging at 23:31 on April 14th 2023, in Smart mode, the strings to be sent are:
|
||||
|
||||
```
|
||||
curl -X POST 'http://ipaddress/settings?starttime="2023-04-14T23:31"&mode=3' -d ''
|
||||
```
|
||||
|
||||
* solar_start_current
|
||||
|
||||
  The Start Current at which the car starts charging when in Solar Mode.
|
||||
<br>  
|
||||
<br>  Examples:
|
||||
<br>  If you want the car to start charging when the sum of all 3 phases of the MainsMeter is exporting 6A or more to the grid,
|
||||
<br>  the value to be sent is 6
|
||||
|
||||
* current_min
|
||||
|
||||
  The Minimum Charging Current in Ampères, per phase.
|
||||
<br>  Usually you should leave this setting at its default value (6A) since this is standarized.
|
||||
<br>  Note: This setting is useful for EV's that don't obey standards, like the Renault Zoe, whose MinCurrents not only differ
|
||||
<br>  from the standard, but also change when charging at 1 phase and charging at 2 phases.
|
||||
<br>  The values even differ per build year.
|
||||
<br>  Examples:
|
||||
<br>  If you want the car to start charging at minimally 6A, the value to be sent is 6
|
||||
|
||||
* solar_max_import
|
||||
|
||||
  The maximum current (sum of all phases) of the MainsMeter that can be imported before the solar timer is fired off,
|
||||
<br>  after expiration the car will stop charging.
|
||||
|
||||
<br>  Examples:
|
||||
<br>  If you want the car to stop charging when the sum of all 3 phases of the MainsMeter is importing 0A or more to the grid,
|
||||
<br>  the value to be sent is 0
|
||||
|
||||
* current_max_sum_mains
|
||||
|
||||
  The Maximum allowed Mains Current summed over all phases: 10-600A
|
||||
<br>  This is used for the EU Capacity rate limiting, currently only in Belgium.
|
||||
<br>  Usually you should leave this setting at its default value (600A)
|
||||
<br>  since your electricity provider probably does not supports this.
|
||||
|
||||
# POST: /currents
|
||||
|
||||
* battery_current
|
||||
|
||||
  Actual home battery current multiplied by 10
|
||||
<br>  A positive number means the home battery is charging
|
||||
<br>  A negative number means the home battery is discharging
|
||||
|
||||
* L1, L2, L3
|
||||
|
||||
  Note: Only works when MainsMeter == API
|
||||
<br>  L1, L2 and L3 must be send all together otherwise the data won't be registered.
|
||||
<br>  Ampere must be multiplied by 10
|
||||
```
|
||||
curl -X POST "http://ipaddress/currents?L1=100&L2=50&L3=30" -d ''
|
||||
```
|
||||
  P.S.: If you want to send your currents through HomeAsistant, look at the scripts in the (integration)[integration] directory.
|
||||
|
||||
# POST: /modem
|
||||
|
||||
* pwm
|
||||
|
||||
  The duty cycle (PWM) multiplied by 10
|
||||
<br>  Examples:
|
||||
<br>  If the desired dutycycle is 5% the value to be sent is 50
|
||||
<br>  Note: EXPERIMENTAL FEATURE ONLY FOR EXPERTS
|
||||
<br>  DO NOT USE THIS IF YOU ARE NOT AN EVSE EXPERT. DANGEROUS!
|
||||
|
||||
|
||||
# POST: /ev_meter
|
||||
|
||||
* L1, L2, L3
|
||||
|
||||
  Note: Only works when EVMeter == API
|
||||
<br>  L1, L2 and L3 must be send all together otherwise the data won't be registered.
|
||||
<br>  Ampere must be multiplied by 10
|
||||
```
|
||||
curl -X POST "http://ipaddress/ev_meter?L1=100&L2=50&L3=30" -d ''
|
||||
```
|
||||
|
||||
* import_active_energy, export_active_energy and import_active_power
|
||||
|
||||
  Note: Only works when EvMeter == API
|
||||
<br>  import_active_energy, export_active_energy and import_active_power must be send all together otherwise
|
||||
<br>  the data won't be registered.
|
||||
<br>  Data should be in Wh (kWh * 1000), for import_active_power data should be in w(att)
|
||||
|
||||
# POST: /reboot
|
||||
|
||||
  Note: no parameters, reboots your device.
|
||||
BIN
SmartEVSE-3/docs/SmartEVSEv3_build.pdf
Normal file
BIN
SmartEVSE-3/docs/SmartEVSEv3_build.pdf
Normal file
Binary file not shown.
256
SmartEVSE-3/docs/configuration.md
Normal file
256
SmartEVSE-3/docs/configuration.md
Normal file
@@ -0,0 +1,256 @@
|
||||
|
||||
# How to configure
|
||||
* First configure all settings that are shown to you (see below); don't configure your MAINSMET
|
||||
* Now you are ready to test/operate your SmartEVSE in its simplest mode, called Normal Mode.
|
||||
* If your EV charges at MAX current, and everything works as expected, and you don't have a MAINSMET, you are done!
|
||||
* If you have a MAINSMET, configure it now; browse through the settings again, since now other options have opened up
|
||||
* If you are feeding your SmartEVSE with MAINS or EV data through the REST API or the MQTT API, make sure you have set up these feeds; as soon as you select "API" for the Meters, the data is expected within 11 seconds! You can use the test scripts in the test directory to feed your MQTT server with test data.
|
||||
* If you configured MULTIple SmartEVSE's, follow instructions below
|
||||
* Put your SmartEVSE in Solar Mode, and some specific settings for Solar Mode will open up
|
||||
* Now your SmartEVSE is ready for use!
|
||||
|
||||
# All menu options on the LCD screen:
|
||||
```
|
||||
MODE:
|
||||
Per default you are in Normal EVSE mode; you can also choose Smart Mode or Solar Mode,
|
||||
but you will have to configure a MAINSMETer to actually use these modes.
|
||||
<Normal> The EV will charge with the current set at MAX
|
||||
<Smart> The EV will charge with a dynamic charge current, depending on MAINSMET
|
||||
data, and MAINS, MAX, MIN settings
|
||||
<Solar> The EV will charge on solar power
|
||||
|
||||
CONFIG Configure EVSE with Type 2 Socket or fixed cable:
|
||||
<Socket> Your SmartEVSE is connected to a socket, so it will need to sense the
|
||||
cable used for its maximum capacity
|
||||
<Fixed> Your SmartEVSE is connected to a fixed cable, so MAX will determine your
|
||||
maximum charge current
|
||||
|
||||
LOCK (only appears when CONFIG is set to <Socket>)
|
||||
Enable or disable the locking actuator (config = socket)
|
||||
<Disabled> No lock is used
|
||||
<Solenoid> Dostar, DUOSIDA DSIEC-ELB or Ratio lock
|
||||
<Motor> Signal wire reversed, DUOSIDA DSIEC-EL or Phoenix Contact
|
||||
|
||||
PWR SHARE ; formerly known as LOADBALANCING.
|
||||
2 to 8 EVSE’s can be connected via modbus, and their load will be balanced
|
||||
<Disabled> Single SmartEVSE
|
||||
<Master> Set the first SmartEVSE to Master. Make sure there is only one Master.
|
||||
<Node1-7> And the other SmartEVSE's to Node 1-7.
|
||||
|
||||
MAINSMET Set type of MAINS meter (only appears in Smart or Solar mode):
|
||||
<Disabled> No MAINS meter connected; only Normal mode possible
|
||||
<Sensorbox> the Sensorbox will send measurement data to the SmartEVSE
|
||||
<API> The MAINS meter data will be fed through the REST API or the MQTT API.
|
||||
<Phoenix C> / <Finder> / <...> / <Custom> a Modbus kWh meter is used
|
||||
|
||||
Note that Eastron1P is for single phase Eastron meters, Eastron3P for Eastron three phase
|
||||
meters, and InvEastron is for Eastron three phase meter that is fed from below (inverted).
|
||||
If MAINSMET is not <Disabled> and not <API>, these settings appear:
|
||||
MAINSADR Set the Modbus address for the kWh meter
|
||||
GRID (only appears when Sensorbox with CT’s is used)
|
||||
3 or 4 wire
|
||||
CAL Calibrate CT1. CT2 and CT3 will use the same cal value.
|
||||
6.0-99.9A A minimum of 6A is required in order to change this value.
|
||||
Hold both ▼and ▲ buttons to reset to default settings.
|
||||
|
||||
EV METER Set type of EV kWh meter (measures power and charged energy)
|
||||
<Disabled> No EV meter connected.
|
||||
<API> The EV meter data will be fed through the REST API or the MQTT API.
|
||||
<Phoenix C> / <Finder> / <...> / <Custom> a Modbus kWh meter is used
|
||||
|
||||
Note that Eastron1P is for single phase Eastron meters, Eastron3P for Eastron three phase
|
||||
meters, and InvEastron is for Eastron three phase meter that is fed from below (inverted).
|
||||
If EV METER is not <Disabled> and not <API>, this setting appears:
|
||||
EV ADR Set the Modbus address for the EV Meter
|
||||
|
||||
MAINS (only appears when a MAINSMET is configured):
|
||||
Set Max Mains current: 10-200A (per phase)
|
||||
|
||||
MIN (only appears when a MAINSMET is configured):
|
||||
Set MIN charge current for the EV: 6-16A (per phase)
|
||||
|
||||
MAX Set MAX charge current for the EV: 10-80A (per phase)
|
||||
If CONFIG is set to <Fixed>, configure MAX lower or equal to the maximum current
|
||||
that your fixed cable can carry.
|
||||
|
||||
CIRCUIT (only appears when PWR SHARE set to <Master>, or when PWR SHARE set to <Disabled>
|
||||
and Mode is Smart or Solar and EV METER not set to <Disabled>):
|
||||
Set the max current the EVSE circuit can handle (load balancing): 10-200A
|
||||
(see also subpanel wiring)
|
||||
|
||||
SWITCH Set the function of an external switch connected to pin SW
|
||||
<Disabled> A push button on io pin SW can be used to STOP charging
|
||||
<Access B> A momentary push Button is used to enable/disable access to the charging station
|
||||
<Access S> A toggle switch is used to enable/disable access to the charging station
|
||||
<Sma-Sol B> A momentary push Button is used to switch between Smart and Solar modes
|
||||
<Sma-Sol S> A toggle switch is used to switch between Smart and Solar modes
|
||||
|
||||
RCMON RCM14-03 Residual Current Monitor is plugged into connector P1
|
||||
<Disabled> The RCD option is not used
|
||||
<Enabled> When a fault current is detected, the contactor will be opened
|
||||
|
||||
RFID use a RFID card reader to enable/disable access to the EVSE
|
||||
A maximum of 20 RFID cards can be stored.
|
||||
<Disabled> / <Enabled> / <Learn> / <Delete> / <Delete All>
|
||||
|
||||
WIFI Enable wifi connection to your LAN
|
||||
<Disabled> No wifi connection
|
||||
<SetupWifi> The SmartEVSE presents itself as a Wifi Acces Point "smartevse-xxxx";
|
||||
connect with your phone to that access point, goto http://192.168.4.1/
|
||||
and configure your Wifi password
|
||||
<Enabled> Connect to your LAN via Wifi.
|
||||
|
||||
MAX TEMP Maximum allowed temperature for your SmartEVSE; 40-75C, default 65.
|
||||
You can increase this if your SmartEVSE is in direct sunlight.
|
||||
|
||||
SUMMAINS (only appears when a MAINSMET is configured):
|
||||
Maximum allowed Mains Current summed over all phases: 10-600A
|
||||
This is used for the EU Capacity rate limiting, currently only in Belgium
|
||||
|
||||
The following options are only shown when Mode set to <Solar> and
|
||||
PWR SHARE set to <Disabled> or <Master>:
|
||||
START set the current on which the EV should start Solar charging:
|
||||
-0 -48A (sum of all phases)
|
||||
STOP Stop charging when there is not enough solar power available:
|
||||
Disabled - 60 minutes (Disabled = never stop charging)
|
||||
IMPORT Allow additional grid power when solar charging: 0-20A (summed over all phases)
|
||||
NOTE: A setting of IMPORT lower thant START + MIN makes NO SENSE and will
|
||||
result in a non-charging SmartEVSE when in Solar mode.
|
||||
You even need to set IMPORT at least a few Amps higher then START + MIN to get
|
||||
a desired charging behaviour if you are charging at 1 phase.
|
||||
You even need to set IMPORT at least a few Amps higher then START + 3 * MIN to get
|
||||
a desired charging behaviour if you are charging at 3 phases.
|
||||
NOTE2: Note that START and IMPORT are summed over all phases, and MIN is per phase!
|
||||
CONTACT2 One can add a second contactor (C2) that switches off 2 of the 3 phases of a
|
||||
3 phase Mains installation; this can be useful if one wants to charge of off
|
||||
Solar; EV's have a minimal charge current of 6A, so switching off 2 phases
|
||||
allows you to charge with a current of 6-18A, while 3 phases have a
|
||||
minimum current of 3x6A=18A.
|
||||
This way you can still charge solar-only on smaller solar installations.
|
||||
<br>
|
||||
IMPORTANT NOTE: You WILL have to wire your C2 contactor according to the schematics
|
||||
in [Hardware installation](docs/installation.md). If you invent your own wiring
|
||||
your installation will be UNSAFE!
|
||||
|
||||
<Not present> No second contactor C2 is present (default)
|
||||
<Always Off> C2 is always off, so you are single phase charging
|
||||
<Always On> C2 is always on, so you are three phase charging (if your Mains are three phase and your EV
|
||||
supports it)
|
||||
<Solar Off> C2 is always on except in Solar Mode where it is always off
|
||||
<Auto> SmartEVSE starts charging at 3phase, but when in Solar mode and not enough
|
||||
current available for 3 phases, switches off C2 so it will continue on 1 phase
|
||||
|
||||
|
||||
```
|
||||
# REST API
|
||||
|
||||
For the specification of the REST API, see [REST API](REST_API.md)
|
||||
|
||||
# MQTT API
|
||||
Your SmartEVSE can now export the most important data to your MQTT-server. Just fill in the configuration data on the webserver and the data will automatically be announced to your MQTT server.
|
||||
|
||||
You can easily show all the MQTT topics published:
|
||||
```
|
||||
mosquitto_sub -v -h ip-of-mosquitto-server -u username -P password -t '#'
|
||||
```
|
||||
|
||||
You can feed the SmartEVSE data by publishing to a topic:
|
||||
```
|
||||
mosquitto_pub -h ip-of-mosquitto-server -u username -P password -t 'SmartEVSE-xxxxx/Set/CurrentOverride' -m 150
|
||||
```
|
||||
...where xxxxx your SmartEVSE's serial number, will set your Override Current to 15.0A.
|
||||
|
||||
Valid topics you can publish to are:
|
||||
```
|
||||
/Set/Mode
|
||||
/Set/CurrentOverride
|
||||
/Set/CurrentMaxSumMains
|
||||
/Set/CPPWMOverride
|
||||
/Set/MainsMeter
|
||||
/Set/EVMeter
|
||||
/Set/HomeBatteryCurrent
|
||||
/Set/RequiredEVCCID
|
||||
```
|
||||
Your MainsMeter can be fed with:
|
||||
```
|
||||
mosquitto_pub -h ip-of-mosquitto-server -u username -P password -t 'SmartEVSE-xxxxx/Set/MainsMeter' -m L1:L2:L3
|
||||
```
|
||||
...where L1 - L3 are the currents in deci-Ampères. So 100 means 10.0A.
|
||||
|
||||
You can find test scripts in the test directory that feed EV and MainsMeter data to your MQTT server.
|
||||
|
||||
# Multiple SmartEVSE controllers on one mains supply (Power Share)
|
||||
Up to eight SmartEVSE modules can share one mains supply.
|
||||
- Hardware connections
|
||||
- Connect the A, B and GND connections from the Master to the Node(s).
|
||||
- So A connects to A, B goes to B etc.
|
||||
- If you are using Smart/Solar mode, you should connect the A, B , +12V and GND wires from the sensorbox to the same screw terminals of the SmartEVSE! Make sure that the +12V wire from the sensorbox is connected to only -one– SmartEVSE.
|
||||
|
||||
- Software configuration
|
||||
- Set one SmartEVSE PWR SHARE setting to MASTER, the others to NODE 1-7. Make sure there is only one Master, and the Node numbers are unique.
|
||||
- On the Master configure the following:
|
||||
- MODE Set this to Smart if a Sensorbox (or configured kWh meter) is used to measure the current draw on the mains supply.
|
||||
It will then dynamically vary the charge current for all connected EV’s. If you are using a dedicated mains supply for the EV’s you can leave this set to Normal.
|
||||
- MAINS Set to the maximum current of the MAINS connection (per phase).
|
||||
If the sensorbox or other MainsMeter device measures a higher current then this value on one of the phases, it will immediately reduce the current to the EVSE’s
|
||||
- CIRCUIT Set this to the maximum current of the EVSE circuit (per phase).
|
||||
This will be split between the connected and charging EV’s.
|
||||
- MAX Set the maximum charging current for the EV connected to -this- SmartEVSE (per phase).
|
||||
- MIN Set to the lowest allowable charging current for all connected EV’s.
|
||||
- On the Nodes configure the following:
|
||||
- MAX Set the maximum charging current for the EV connected to -this- SmartEVSE (per phase).
|
||||
|
||||
# Home Battery Integration
|
||||
In a normal EVSE setup a sensorbox is used to read the P1 information to deduce if there is sufficient solar energy available. This however can give unwanted results when also using a home battery as this will result in one battery charging the other one. <br/>
|
||||
|
||||
For this purpose the settings endpoint allows you to pass through the battery current information:
|
||||
* A positive current means the battery is charging
|
||||
* A negative current means the battery is discharging
|
||||
|
||||
The EVSE will use the battery current to neutralize the impact of a home battery on the P1 information.<br>
|
||||
**Regular updates from the consumer are required to keep this working as values cannot be older than 11 seconds.**
|
||||
|
||||
### Example
|
||||
* Home battery is charging at 2300W -> 10A
|
||||
* P1 has an export value of 230W -> -1A
|
||||
* EVSE will neutralize the battery and P1 will be "exporting" -11A
|
||||
|
||||
The sender has several options when sending the home battery current:
|
||||
* Send the current AS-IS -> EVSE current will be maximized
|
||||
* Only send when battery is discharging -> AS-IS operation but EVSE will not discharge the home battery
|
||||
* Reserve an amount of current for the home battery (e.g. 10A) -> Prioritize the home battery up to a specific limit
|
||||
|
||||
# Integration with Home Assistant
|
||||
There are three options to integrate SmartEVSE with Home Assistant:
|
||||
* through the HA-integration - the easy way<br />
|
||||
|
||||
If you want to integrate your SmartEVSE with Home Asisstant, please have a look at [the SmartEVSE `custom_component` for Home Assistant](https://github.com/dingo35/ha-SmartEVSEv3). This `custom_component` uses the API to share data from the SmartEVSE to Home Assistant, and enables you to set SmartEVSE settings from Home Assistant. You will need firmware version 1.5.2 or higher to use this integration.
|
||||
|
||||
* by manually configuring your configuration.yaml<br />
|
||||
|
||||
Its a lot of work, but you can have everything exactly your way. See examples in the integrations directory of our github repository.
|
||||
|
||||
* by MQTT<br />
|
||||
|
||||
If you don't like the integration, e.g. because it only updates its data every 60 seconds, you might like to interface through MQTT; updates are done as soon as values change.... you can even mix it up by using both the integration AND the MQTT interface at the same time!
|
||||
|
||||
# EU Capacity Rate Limiting
|
||||
An EU directive gives electricity providers the possibility to charge end consumers by a "capacity rate", so consumers will be stimulated to flatten their usage curve.
|
||||
Currently the only known country that has this active is Belgium.
|
||||
For more details see https://github.com/serkri/SmartEVSE-3/issues/215
|
||||
|
||||
* In the Menu screen an item "SumMains" is now available, default set at 600A
|
||||
* This setting will only be of use in Smart or Solar mode
|
||||
* Apart from all other limits (Mains, MaxCirCuit), the charge current will be limited so that the sum of all phases of the Mains currents will not be exceeding the SumMains setting
|
||||
* If you don't understand this setting, or don't live in Belgium, leave this setting at its default value
|
||||
|
||||
# Building the firmware
|
||||
You can get the latest release off of https://github.com/dingo35/SmartEVSE-3.5/releases, but if you want to build it yourself:
|
||||
* Install platformio-core https://docs.platformio.org/en/latest/core/installation/methods/index.html
|
||||
* Clone this github project, cd to the smartevse directory where platformio.ini is located
|
||||
* Compile firmware.bin: platformio run
|
||||
For versions older than v3.6.0:
|
||||
* Compile spiffs.bin: platformio run -t buildfs
|
||||
|
||||
If you are not using the webserver /update endpoint:
|
||||
* Upload via USB configured in platformio.ini: platformio run --target upload
|
||||
67
SmartEVSE-3/docs/installation.md
Normal file
67
SmartEVSE-3/docs/installation.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Hardware installation
|
||||
|
||||
We refer to [this wiring diagram](SmartEVSEv3_build.pdf) for wiring the SmartEVSE.
|
||||
|
||||
|
||||
# Inverted wiring of kWh meter
|
||||
If you are using a 3 phase Eastron kWh meter, you can feed it from below (like in most Dutch power panels). Now the polarity of currents is reversed, so in the MainsMeter or EVMeter configuration you should choose kWh meter type "Inverted Eastron".
|
||||
|
||||
# Subpanel or "garage" configuration
|
||||
If you have other current-users on a Subpanel, use this wiring and the added configuration:
|
||||
|
||||
mains
|
||||
|
|
||||
[main breaker 25A]
|
||||
|
|
||||
[kWh meter "Mains"]
|
||||
|
|
||||
-----------------------------------
|
||||
| | |
|
||||
[group breaker 16A] [subpanel breaker 16A]
|
||||
|
|
||||
[kWh meter "EV"]
|
||||
|
|
||||
----------------
|
||||
| |
|
||||
[washer breaker 16A] [smartevse breaker 16A]
|
||||
|
||||
In this example you configure Mains to 25A, MaxCircuit to 16A; the charger will limit itself so that neither the 25A mains nor the 16A from the subpanel will be
|
||||
exceeded...
|
||||
Note that for this functionality you will need to be in Smart or Solar mode; it is no longer necessary to enable Load Balancing for this function.
|
||||
|
||||
# Second Contactor C2
|
||||
One can add a second contactor (C2) that switches off 2 of the 3 phases of a three-phase Mains installation; this can be useful if one wants to charge of off
|
||||
Solar; EV's have a minimal charge current of 6A, so switching off 2 phases allows you to charge with a current of 6-18A, while 3 phases have a minimum current
|
||||
of 3x6A=18A. This way you can still charge solar-only on smaller solar installations.
|
||||
- one should wire C2 according to this schema:
|
||||
|
||||
N L1 L2 L3
|
||||
| | | |
|
||||
--------------------
|
||||
| 4-p contactor C1 |
|
||||
--------------------
|
||||
| | | |
|
||||
| | ------------------
|
||||
| | |2-p contactor C2|
|
||||
| | ------------------
|
||||
| | | |
|
||||
--------------------
|
||||
| EV-cable |
|
||||
--------------------
|
||||
|
||||
This way the (dangerous) situation is avoided that some Phases are switched ON, and Neutral is switched OFF.
|
||||
Note that it is important that you actually DO NOT switch the L1 pin of the CCS plug with the C2 contactor; some cars (e.g. Tesla Model 3) will go into error;
|
||||
they expect the charging phase to be on the L1 pin when single-phase charging...
|
||||
Note also that in case the phases cannot be detected automatically (especially when no EVmeter is connected), and SmartEVSE _knows_ it is charging at a single
|
||||
phase (e.g. because Contact2 is at "Always Off"), it assumes that L1 is the phase we are charging on!!
|
||||
|
||||
By default C2 is switched OFF ("Not present"); if you want to keep on charging on 3 phases after installing C2, you should change the setting Contact2 in the
|
||||
Setup Menu.
|
||||
|
||||
# Multiple SmartEVSE controllers on one mains supply (Power Share)
|
||||
Up to eight SmartEVSE modules can share one mains supply.
|
||||
Hardware connections
|
||||
* Connect the A, B and GND connections from the Master to the Node(s).
|
||||
* So A connects to A, B goes to B etc.
|
||||
* If you are using Smart/Solar mode, you should connect the A, B , +12V and GND wires from the sensorbox to the same screw terminals of the SmartEVSE! Make sure that the +12V wire from the sensorbox is connected to only -one– SmartEVSE.
|
||||
|
||||
80
SmartEVSE-3/docs/operation.md
Normal file
80
SmartEVSE-3/docs/operation.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Improved starting/stopping through the LCD screen
|
||||
* When pressing o button longer then 2 seconds you will enter the Menu screen
|
||||
* When pressing < button shorter then 2 seconds, you will toggle between Smart/Solar mode
|
||||
* When pressing < button longer then 2 seconds the access will be denied, i.e. the mode will be set to "Off" and charging will stop
|
||||
* When pressing > button longer then 2 seconds the access will be granted, i.e. the previously set mode will be activated and charging will start
|
||||
|
||||
# Webserver
|
||||
After configuration of your Wifi parameters, your SmartEVSE will present itself on your LAN via a webserver. This webserver can be accessed through:
|
||||
* http://ip-address/
|
||||
* http://smartevse-xxxx.local/ where xxxx is the serial number of your SmartEVSE. It can be found on a sticker on the bottom of your SmartEVSE. It might be necessary that mDNS is configured on your LAN.
|
||||
* http://smartevse-xxxx.lan/ where xxxx is the serial number of your SmartEVSE. It can be found on a sticker on the bottom of your SmartEVSE. It might be necessary that mDNS is configured on your LAN.
|
||||
* OTA update of your firmware:
|
||||
- surf to http://your-smartevse/update or press the UPDATE button on the webserver
|
||||
- select the firmware.bin from this archive, OR if you want the debug version (via telnet over your wifi),
|
||||
rename firmware.debug.bin to firmware.bin and select that. YOU CANNOT FLASH A FILE WITH ANOTHER NAME!
|
||||
- if you get FAIL, check your wifi connection and try again;
|
||||
- after OK, wait 10-30 seconds and your new firmware including the webserver should be online!
|
||||
* Added wifi-debugging: if you flashed the debug version, telnet http://your-smartevse/ will bring you to a debugger that shows you whats going on!
|
||||
* OTA upload of rfid lists:
|
||||
- via the "update" button or the /update endpoint you can upload a file called rfid.txt;
|
||||
- file layout: every line is supposed to contain one RFID (=NFC) TAG UID of size bytes in hex format:
|
||||
'''
|
||||
112233445566
|
||||
0A3B123FFFA0
|
||||
'''
|
||||
- before upload all existing RFID's are deleted in the SmartEVSE you are uploading to
|
||||
- if you have PWR SHARE enabled (master/slave configuration), you must upload to every single SmartEVSE; this enables you to maintain different lists for different SmartEVSEs.
|
||||
|
||||
# Mode switching when PWR SHARE is activated
|
||||
* If you switch mode on the Master, the Slaves will follow that mode switch
|
||||
* If you switch mode on one Slave, and your Master does not have a Smart/Solar toggle switch configured, the Master and all the other slaves will follow
|
||||
* If you have a Smart/Solar toggle switch you have to guard yourself that Master and Slaves are all in the same mode. We recommend replacing that toggle switch by a pushbutton switch.
|
||||
|
||||
# Error Messages
|
||||
If an error occurs, the SmartEVSE will stop charging, and display one of the following messages:
|
||||
* ERROR NO SERIAL COM CHECK WIRING<br>No signal from the Sensorbox or other SmartEVSE (when load balancing is used) has been received for 11 seconds. Please check the wiring to the Sensorbox or other SmartEVSE.
|
||||
* ERROR NO CURRENT<br>There is not enough current available to start charging, or charging was interrupted because there was not enough current available to keep charging. The SmartEVSE will try again in 60 seconds.
|
||||
* ERROR HIGH TEMP<br>The temperature inside the module has reached 65º Celsius. Charging is stopped.
|
||||
Once the temperature has dropped below 55ºC charging is started again.
|
||||
* RESIDUAL FAULT CURRENT DETECTED<br>An optional DC Residual Current Monitor has detected a fault current, the Contactor is switched off.
|
||||
The error condition can be reset by pressing any button on the SmartEVSE.
|
||||
|
||||
# Changes with regards to the original firmware
|
||||
* Endpoint to send L1/2/3 data, this removed the need for a SensorBox
|
||||
* Note: Set MainsMeter to the new 'API' option in the config menu when sending L1/2/3
|
||||
* Endpoint to send EvMeter L1/2/3 data (and energy/power)
|
||||
* Note: Set EvMeter to the new 'API' option in the config menu when sending L1/2/3
|
||||
* Callable API endpoints for easy integration (see [REST_API](REST_API.md) and [Home Assistant Integration](configuration.md#integration-with-home-assistant))
|
||||
* Change charging mode
|
||||
* Override charge current
|
||||
* Pass in current measurements (p1, battery, ...) - this eliminates having to use additional hardware
|
||||
* Switch between single- and three phase power (requires extra 2P relais on the c2 connecor, see [Second Contactor](installation.md#second-contactor-c2))
|
||||
|
||||
# Simple Timer
|
||||
|
||||
There is a simple timer implemented on the webserver, for Delayed Charging.
|
||||
* Upon refreshing your webpage, the StartTime field (next to the Mode buttons) will be filled with the current system time.
|
||||
* If you press any of the Mode buttons, your charging session will start immediately;
|
||||
* If you choose to enter a StartTime that is in the future, a StopTime field will open up;
|
||||
If you leave this to the default value it is considered to be empty; now if you press Normal, Solar or Smart mode
|
||||
- the StartTime will be registered,
|
||||
- the mode will switch to OFF,
|
||||
- a charging session will be started at StartTime, at either Normal or Smart mode;
|
||||
- the SmartEVSE will stay on indefinitely.
|
||||
* If you enter a StopTime, a checkbox named "Daily" will open up; if you check this, the startime/stoptime combination will be used on a daily basis,
|
||||
starting on the date you entered at the StartTime.
|
||||
* To clear StartTime, StopTime and Repeat, refresh your webpage and choose either Normal, Solar or Smart mode.
|
||||
* Know bugs:
|
||||
- if your NTP time is not synchronized yet (e.g. after a reboot), results will be unpredictable. WAIT until time is settled.
|
||||
- if your StopTime is AFTER your StartTime+24Hours, untested territories are entered. Please enter values that make sense.
|
||||
|
||||
# EU Capacity Rate Limiting
|
||||
An EU directive gives electricity providers the possibility to charge end consumers by a "capacity rate", so consumers will be stimulated to flatten their usage curve.
|
||||
Currently the only known country that has this active is Belgium.
|
||||
For more details see https://github.com/serkri/SmartEVSE-3/issues/215
|
||||
|
||||
* In the Menu screen an item "SumMains" is now available, default set at 600A
|
||||
* This setting will only be of use in Smart or Solar mode
|
||||
* Apart from all other limits (Mains, MaxCirCuit), the charge current will be limited so that the sum of all phases of the Mains currents will not be exceeding the SumMains setting
|
||||
* If you don't understand this setting, or don't live in Belgium, leave this setting at its default value
|
||||
Reference in New Issue
Block a user