Add support for Vevor EV Charger with Tuya integration

Add support for Vevor EV Charger with Tuya integration.
https://eur.vevor.com/portable-ev-charger-c_11497/vevor-portable-ev-charger-type-2-16a-3-7-kw-electric-vehicle-car-charger-with-28-ft-charging-cable-cee-7-7-plug-iec-62196-home-ev-charging-station-with-storage-bag-charging-cable-hook-ip66-p_010786880117

Currently apprears in Tuya device as “EU_230V_16A(EA) (unsupported)”

Standard status set:

Code	Type	Values
forward_energy_total	Integer	{
		  "unit": "kW·h",
		  "min": 0,
		  "max": 99999999,
		  "scale": 2,
		  "step": 1
		}
		
work_state	Enum	{
		  "range": [
			"charger_free",
			"charger_insert",
			"charger_free_fault",
			"charger_wait",
			"charger_charging",
			"charger_pause",
			"charger_end",
			"charger_fault"
		  ]
		}
		
charge_cur_set	Integer	{
		  "unit": "A",
		  "min": 8,
		  "max": 16,
		  "scale": 0,
		  "step": 1
		}
		
sigle_phase_power	Integer	{
		  "unit": "kW",
		  "min": 0,
		  "max": 99999999,
		  "scale": 3,
		  "step": 1
		}
		
power_total	Integer	{
		  "unit": "kW",
		  "min": 0,
		  "max": 99999999,
		  "scale": 3,
		  "step": 1
		}
		
connection_state	Enum	{
		  "range": [
			"controlpi_12v",
			"controlpi_12v_pwm",
			"controlpi_9v",
			"controlpi_9v_pwm",
			"controlpi_6v",
			"controlpi_6v_pwm",
			"controlpi_error"
		  ]
		}
		
work_mode	Enum	{
		  "range": [
			"charge_now",
			"charge_pct",
			"charge_energy",
			"charge_schedule"
		  ]
		}
		
clear_energy	Boolean	"{true,false}"
		
switch	Boolean	"{true,false}"
		
temp_current	Integer	{
		  "unit": "℃",
		  "min": -40,
		  "max": 200,
		  "scale": 0,
		  "step": 1
		}
		
charge_energy_once	Integer	{
		  "unit": "kW·h",
		  "min": 1,
		  "max": 999999,
		  "scale": 2,
		  "step": 1
		}

Standard instruction set:

Code	Type	Values
charge_cur_set	Integer	{
		  "unit": "A",
		  "min": 8,
		  "max": 16,
		  "scale": 0,
		  "step": 1
		}
		
work_mode	Enum	{
		  "range": [
			"charge_now",
			"charge_pct",
			"charge_energy",
			"charge_schedule"
		  ]
		}
		
clear_energy	Boolean	"{true,false}"
		
switch	Boolean	"{true,false}"

Thank you.

Hello,
I also got a Vevor (Tuya) EV Charger: VEVOR Tragbares EV-Ladegerät mit LCD-Display 3,68 kW Ladegerät für Elektrofahrzeuge EV-Ladekabel Typ 2(IEC62196) CEE 7/7 Stecker 16A 1-Phasig EV-Ladestation 8,6m Kabellänge IP66 Wasserdicht Wallbox  | VEVOR DE

I installed tuya local, now im wondering if I’m able to “add” a new device by manual DPS

I was able to map single values to Switch, Select etc. but it’s not final yet. Like mentioned here: GitHub - rospogrigio/localtuya: local handling for Tuya devices

Just wondering if i can use the device json to make it easier to integrate…

I swapped from “Standard Instruction” “DP Instruction”, now a have some more Datapoints.

Standard Instruction Set:

Code	Type	Values
charge_cur_set	Integer	
{
  "unit": "A",
  "min": 8,
  "max": 32,
  "scale": 0,
  "step": 1
}
work_mode	Enum	
{
  "range": [
    "charge_now",
    "charge_pct",
    "charge_energy",
    "charge_schedule",
    "charge_delay"
  ]
}
clear_energy	Boolean	
"{true,false}"
switch	Boolean	
"{true,false}"
online_state	Enum	
{
  "range": [
    "offline",
    "online"
  ]
}
timer_on	Integer	
{
  "unit": "h",
  "min": 0,
  "max": 12,
  "scale": 0,
  "step": 1
}
mode_set	Raw	
{
  "maxlen": 128
}

Standard Status Set

{
  "unit": "kW·h",
  "min": 0,
  "max": 99999999,
  "scale": 2,
  "step": 1
}
work_state	Enum	
{
  "range": [
    "charger_free",
    "charger_insert",
    "charger_free_fault",
    "charger_wait",
    "charger_charging",
    "charger_pause",
    "charger_end",
    "charger_fault"
  ]
}
charge_cur_set	Integer	
{
  "unit": "A",
  "min": 8,
  "max": 32,
  "scale": 0,
  "step": 1
}
sigle_phase_power	Integer	
{
  "unit": "kW",
  "min": 0,
  "max": 99999999,
  "scale": 3,
  "step": 1
}
phase_a	Raw	
{
  "maxlen": 128
}
power_total	Integer	
{
  "unit": "kW",
  "min": 0,
  "max": 99999999,
  "scale": 3,
  "step": 1
}
fault	Bitmap	
{
  "label": [
    "ov_cr",
    "ov2_cr_fault",
    "ov_vol",
    "undervoltage_alarm",
    "contactor_adhesion",
    "contactor_fault",
    "earth_fault",
    "meter_hardware_alarm",
    "scram_fault",
    "cp_fault",
    "meter_commu_fault",
    "card_reader_fault",
    "cir_short_fault",
    "adhesion_fault",
    "self_test_alarm",
    "leakagecurr_alarm"
  ],
  "maxlen": 16
}
connection_state	Enum	
{
  "range": [
    "controlpi_12v",
    "controlpi_12v_pwm",
    "controlpi_9v",
    "controlpi_9v_pwm",
    "controlpi_6v",
    "controlpi_6v_pwm",
    "controlpi_error"
  ]
}
work_mode	Enum	
{
  "range": [
    "charge_now",
    "charge_pct",
    "charge_energy",
    "charge_schedule",
    "charge_delay"
  ]
}
clear_energy	Boolean	
"{true,false}"
switch	Boolean	
"{true,false}"
system_version	String	
{
  "maxlen": 255
}
temp_current	Integer	
{
  "unit": "℃",
  "min": -40,
  "max": 200,
  "scale": 0,
  "step": 1
}
charge_energy_once	Integer	
{
  "unit": "kW·h",
  "min": 1,
  "max": 999999,
  "scale": 2,
  "step": 1
}
online_state	Enum	
{
  "range": [
    "offline",
    "online"
  ]
}
timer_on	Integer	
{
  "unit": "h",
  "min": 0,
  "max": 12,
  "scale": 0,
  "step": 1
}
mode_set	Raw	
{
  "maxlen": 128
}

I was able to map some of the datapoint. i can read e.g. Temperatur, work_state, connection_state, version. but i can’t get all data…

I’m also able to set charge current, but can’t start charging or change work_mode