Skip to content
Choose a tag to compare
  • Autodetection of openevse controller hardware V5.5+, PD7 is tied high on 5.5 Controllers and LOW (by default) on pre v5 #define OEV6. Backwards compatible with older hardware.
Choose a tag to compare

Required for WiFi V4.x

Choose a tag to compare

RAPI V5.1.3

RAPI version 5 - Requires ESP32 WiFi with firmware V3.0.3 or greater or ESP8266 WiFi Firmware V2.9.0 or greater

  • get rid of LoadThresholds()/g_DefaultThreshData to save space
    -> fixes a bug that crept in to DoPost() when hardcoded value changed to
    if (reading >= m_ThreshData.m_ThreshAB) {
    -> was testing against m_ThreshData before initializing it, so the code was executing, even when an EV connected
  • fix compiler warning in SetupMenu::Select()
Choose a tag to compare

RAPI V5.1.3

RAPI version 5 - Requires ESP32 WiFi with firmware V3.0.3 or greater or ESP8266 WiFi Firmware V2.9.0 or greater

20200507 SCL V7.0.1

  • added $SV command to set VRMS voltage - setting VRMS from MQTT (e.g emonPi) enabled in WiFi firmware V3.2.0

20200507 SCL V7.0.0

  • added OpenEVSE V6 support
    • detection by looking for PD7 LOW
    • RELAY_PWM - close relay w/ DC and the switch to PWM for hold
    • if not V6 hardware detected same behaviour as before on charging pin
  • added $SC M to set max hardware current capacity. Can be written only once

D6.3.0 2020420 SCL

  • merge $SC M code from oev6 branch
  • merge PR#120 lincomatic#120 Added debug statements to Heartbeat Supervision
Choose a tag to compare

RAPI version 5.1.0 - Requires ESP32 WiFi with firmware V3.0.3 or greater or ESP8266 WiFi Firmware V2.9.0 or greater

  • fixed SetAmmeterDirty(1) compile error

D6.2.1 20200327 SCL

  • doPost() - don't compare against hardcoded 900 .. use ThreshAB
  • send $AT during sleep if EV connect/disconnect

D6.2.0 20200327 SCL

  • fix 1 sec delay in showing current when charging starts
  • make space by taking stuff out of button menu that is still accessible via WiFi NOSETUP_MENU 9c487b5
  • add RAPI $FF B to enable/disable front button
  • fix bug in $AT.. was supposed to send GetCurrentCapacity(), not GetMaxCurrentCapacity()
  • send $AT during sleep for EV connect/disconnect faf39ff
  • change $GC .. new 4th returned parameter is max set current capacity 68f362c
  • bump RAPIVER to 5.1.0.
    -> n.b. shouldn't really be using RAPIVER.. should just test for working
    commands and # returned parameters
Choose a tag to compare



Release tag v6.3.1 was mistakenly used, actual version number is v6.1.3

RAPI version 5.0.0 - Requires ESP32 WiFi with firmware V3.0.3 or greater or ESP8266 WiFi Firmware V2.9.0 or greater

  • change $GS to return state(hex) elapsed(dec) pilotstate(hex)
  • $AB async notification sent at boot
  • $AT replaces $ST async notification
  • $GS has new extra parameters, and first parameter, state, is now HEX instead of DEC, for consistency with $AT
  • Sequence ID always enabled
  • $FF command always enabled, deprecating old redundant commands
  • $WF enabled only if RAPI_WF defined (Request client WiFi mode)
  • get rid of RAPI_RESPONSE_CHK define.. always enabled
  • added ECVF_UI_IN_MENU... flag is set/unset when in/out of UI menus..$AT is sent on transition

Auth Lock

  • if AUTH_LOCK != 0 or using hardware lock pin, always lock automatically in State A
  • display auth lock status on LCD in disabled & sleeping states

Bug Fixes

  • for consistency/safety sake, force reboot after exiting Setup menu
  • fix bug in relay opening delay code for SLEEP state - wasn't reading/comparing charging current correctly.. was always reading too low, so would instantly open the contactor lincomatic/open_evse@21cfccd
  • change SLEEP delay threshold current from 3A -> 1A
  • update EVSE status after receiving $S4 command (set auth lock)
  • Fix negative temperature display
  • Fix lifetime total KWh total


  • Add HEARTBEAT_SUPERVISION lincomatic#109
  • Heartbeat Supervision. $SY , $GY as in SY heartbeatinterval hearbeatcurrentlimit
  • If you do not send open_evse a heartbeat more frequently than every (uint16_t)heartbeatinterval seconds then open_evse will reduce system ampacity to (uint8_t)hearbeatcurrentlimit amperes
  • Bring PlatformIO inline with Arduino build lincomatic#108
  • Add language pack support lincomatic#59

Full RAPI command list:

Choose a tag to compare
  • Change session time & charge limits to be absolute instead of extending the current session. e.g. already charged 2kWh.. set limit to 3kWh ... stop @ 3kWh instead of 5kWh
Choose a tag to compare

Full change log:

20180523 SCL
- when RTC not defined, g++ bug pops out:
	open_evse:2384: error: unable to find a register to spill in class 'NO_REGS'
D5.0.0 20180518 SCL
- implement $F1 RAPI command to simulate front panel short press
- SAFETY: don't allow $SC to raise current capacity during over temperature event
- SAFETY: SetCurrentCapacity() -> when nosave set, don't allow current capacity to be
	raised above EEPROM value
	-> don't allow $SC with V to raise current capacity above value in EEPROM
	-> don't allow PP to set current capacity higher than EEPROM
- PP code cleanup
- don't allow SetCurrentCapacity() to go above PP value
- implement over current protection. if OVERCURRENT_THRESHOLD is set,
	then if EV draws >= OVERCURRENT_THRESHOLD amps for >=
	OVERCURRENT_TIMEOUT ms -> hard fault
Choose a tag to compare
  • revert change from D4.12.0: delay timer would always wait for EV finish charging before ending.
    -> timer will go to sleep at end of specified time window unless charge or time limit set -> charge or time limit will still override timer end. Fixes lincomatic#85
  • cleanup of time/charge limit zeroing code: fix $ST bug couldn't set with all leading zeros lincomatic@03a689c