VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Überwachung der Solaranlage per eMail oder Pushover und Steuerung von Geräten mit Smart Home Zentralen. PV-Überschuss Steuerung verbunden mit Geräten und Tasmota Firmware. Wallbox Steuerungen und API Schnittstelle, über die Daten in die Solaranzeigen Datenbanken geschrieben und gelesen werden können. Alles, was man für Steuerungsaufgaben benötigt.

Moderator: Ulrich

ralphi
Beiträge: 8
Registriert: Sa 7. Jan 2023, 22:48
Wohnort: Landshut / Bayern

VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von ralphi »

Hallo Community,
das Solaranzeigeprojekt ist ganz schön umfangreich. Bevor ich mich da drann wage, probier ichs erst mal mit einem µC (ESP8266).
Als Schnittstelle zum RS485 nutze ich einen der unzähligen (ebay) Module.
Aufgefallen ist mir nur, das der Charger die Pluspole (PV-BAT-LOAD) verbunden hat und die GND’s unabhängig floaten.
Also VCC vom µC an Load und RS486 GND von Bat zu verbinden ist keine gute Idee...

ich habe ein Problem die Register des Ladereglers eigens auszulesen / zu steuern.

Die Beispiele (Register Protokoll) funktionieren auf Anhieb.

zB runstate:

Code: Alles auswählen

AA 01 00 01 00 03 00 00 1A 37
gibt mir (habs formatiert):

Code: Alles auswählen

{ 
"ESmart_ChgMode":1, 
"ESmart_PvVolt":104.10, 
"ESmart_BatVolt":25.30, 
"ESmart_ChgCurr":2.10, 
"ESmart_OutVolt":0.00, 
"ESmart_LoadVolt":25.20, 
"ESmart_LoadCurr":3.90, 
"ESmart_ChgPower":53, 
"ESmart_LoadPower":98, 
"ESmart_BatTemp":9, 
"ESmart_InnerTemp":35, 
"ESmart_BatCap":58, 
"ESmart_CO2":0.00 
} 
Wenn ich mir das Protokoll selber zusammenstelle, reagiert er nicht.
zB. Auslesen des Bat-Registers

Code: Alles auswählen

"AA 01 00 01 03 00 00 14 3D"
Mit Offset 0x0000 und erwartete Daten 0x14
oder

Code: Alles auswählen

"AA 01 00 01 00 54" 
Ohne Daten

Mit dem Kopf
0xAA = Startbyte
0x01 = Lader (kein WR)
0x00 = Broadcast
0x01 = lesen
0x03 = anzahl folgender Datenbytes
0x00 00 = Adressstart (Offset)
0x14 = Erwartete Respose-Bytes
0x3D = checkbyte = 0 - Summe Bytes (ohne Checkbyte natürlich) & 0xFF (untere Byte)

Was mach ich falsch?
Hausdach: 2x5kW Nord-Südseite, SMA STP10.0, BYD 10kWh
Carport: 2x1kW, eSmart3 Laderegler, 4x12V 100Ah Bleiakkus, WR Benny BYM600
EcoFlow DELTA Max 1600 Powerstation

nardev
Beiträge: 2
Registriert: So 7. Jan 2024, 09:30

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von nardev »

Hi,

have you ever been able to decode those messages?

How did you manage to decode this:

Code: Alles auswählen

{ 
"ESmart_ChgMode":1, 
"ESmart_PvVolt":104.10, 
"ESmart_BatVolt":25.30, 
"ESmart_ChgCurr":2.10, 
"ESmart_OutVolt":0.00, 
"ESmart_LoadVolt":25.20, 
"ESmart_LoadCurr":3.90, 
"ESmart_ChgPower":53, 
"ESmart_LoadPower":98, 
"ESmart_BatTemp":9, 
"ESmart_InnerTemp":35, 
"ESmart_BatCap":58, 
"ESmart_CO2":0.00 
} 
I do clearly get responses but i'm unable to decode it correctly, what ever i do i end up having 12.2 current instead of voltage etc.

Can you share your esp8266 code pls?

ralphi
Beiträge: 8
Registriert: Sa 7. Jan 2023, 22:48
Wohnort: Landshut / Bayern

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von ralphi »

Hi,
Ich dachte fälschlicherweise, ich könnte den Ausgangsstrom regeln.
Der ESmart begrenzt den Strom aber nicht sondern schaltet bei Überschreitung nur aus. :cry:
Hier sind die Befehle die ich (Wemos mini pro) sende:

Code: Alles auswählen

    const uint8_t cmd_get[][10] = {
    //                     Com      Reg   len   off x0000 *** expect len minus offset 2Byte !!
    // { 0xaa, 0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x1a, 0x37 }, // 0 - GET - run state     exp:26 bytes
    { 0xaa, 0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x20, 0x31 }, // 0 - GET - run state     exp:32 bytes
    { 0xaa, 0x01, 0x00, 0x01, 0x01, 0x03, 0x00, 0x00, 0x14, 0x3c }, // 1 - GET - battery    exp:18 bytes 
    { 0xaa, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2c, 0x23 }, // 2 - GET - energie    exp:44 bytes
    { 0xaa, 0x01, 0x00, 0x01, 0x03, 0x03, 0x00, 0x00, 0x1a, 0x34 }, // 3 - GET - korrektur
    { 0xaa, 0x01, 0x00, 0x01, 0x04, 0x03, 0x00, 0x00, 0x16, 0x37 }, // 4 - GET - ONOFF PV LOAD
    { 0xaa, 0x01, 0x00, 0x01, 0x07, 0x03, 0x00, 0x00, 0x0e, 0x3c }  // 7 - GET - Protection    exp:14 bytes
    };
    
    const uint8_t cmd_set[][11] = {
    // LOAD ONOFF
    //                     Com      Reg   len   data ..
    { 0xaa, 0x01, 0x00, 0x02, 0x04, 0x04, 0x01, 0x00, 0xfe, 0x13, 0x39 }, // 0 - SET - Load off 
    { 0xaa, 0x01, 0x00, 0x02, 0x04, 0x04, 0x01, 0x00, 0xfd, 0x13, 0x3a }, // 1 - SET - Load on

    // PV ONOFF
    { 0xaa, 0x01, 0x00, 0x02, 0x06, 0x04, 0x01, 0x00, 0x01, 0x00, 0x47 }, // 5 - SET - charge start
    { 0xaa, 0x01, 0x00, 0x02, 0x06, 0x04, 0x01, 0x00, 0x02, 0x00, 0x46 }, // 6 - SET - charge stop
    
    //5118 - 254,19 - 0xfe 0x13 off 
    //5117 - 253,19 - 0xfd 0x13 on

    { 0xaa, 0x01, 0x00, 0x02, 0x07, 0x04, 0x05, 0x00, 0x73, 0x00, 0xd0 }, // 8 - SET - set protec
    
    // SET LOAD 1A - 8A
    //                     Com      Reg   len   data ..    
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x0a, 0x00, 0x3e }, // 10 - SET - 10 # LOAD curr x1A
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x14, 0x00, 0x34 }, // 11 - SET - 20 # Off: 06 00
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x1e, 0x00, 0x2a }, // 12 - SET - 30
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x28, 0x00, 0x20 }, // 13 - SET - 4A # 0.1A
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x32, 0x00, 0x16 }, // 14 - SET - 
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x3c, 0x00, 0x0c }, // 15 - SET - 
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x46, 0x00, 0x02 }, // 16 - SET - 
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x50, 0x00, 0xf8 }  // 17 - SET - 8A ~400W
    
    };

Den WEMOS hab ich direkt in das Esmart-Gehäuse eingebaut. Der Serialport auf der Esmart-Platine liefert, für den esp und RS485 Converter, ausreichen Strom . (Kuckt nur die Stummelantenne unten raus) ;)
Meine UI
Meine UI
Wenn du den kompletten Quellcode haben möchtest, kann ich ihn auch hochladen.
Dadurch das er ständig gewachsen ist, schaut er allerdings sehr unprofessionell aus. :?
Hausdach: 2x5kW Nord-Südseite, SMA STP10.0, BYD 10kWh
Carport: 2x1kW, eSmart3 Laderegler, 4x12V 100Ah Bleiakkus, WR Benny BYM600
EcoFlow DELTA Max 1600 Powerstation

ralphi
Beiträge: 8
Registriert: Sa 7. Jan 2023, 22:48
Wohnort: Landshut / Bayern

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von ralphi »

Zum zeigen, wie ich auslese - im Anhang doch das komplette Prog.
Datei nach download esmart3_esp_pro.log in esmart3_esp_pro.zip umbenennen! (zip-Dateien lassen sich nicht hochladen !?)
Unter my_arrays.h, ist der Wlan Zugang / NTP.
Nach dem flashen des Wemos:
Die LittleFS - Komponenten sind vom fips https://fipsok.de/. Einfach fs.html im Browser öffnen und die html, css Dateien ins flash upload.
Vorab:
Ich hab mir structs für die Werte (float, int, long) gebaut (unter: var_reg.h und make_fnc.h)

Code: Alles auswählen

	
// Beispiel	
	struct item_float {
		String 	name; 
		byte	reg;		// Register / Data item ID
		byte	add;		// offset address
		float	fkt;		// factor
		bool 	sign;		// unsignd / signd
		char	unit = '_';	// unit
		float	val = 0;	// value
	}; 
// Beispiel
	item_float 	PvVolt = {"PvVolt",0,10,0.1,0,'V'}; // float 2B
	if ( got_reg[0] ) {
			// ...
			PvVolt.val = find_val_float(PvVolt);
			// ..
	}

	float find_val_float(item_float key) {
		byte i = key.add;
		int val;
		uint16_t uval;
		if (key.sign) {
			val = (regs[key.reg][(i+1)]<<8) + regs[key.reg][i];
			return val * key.fkt;
		}else{
			uval = (regs[key.reg][(i+1)]<<8) + regs[key.reg][i];	
			return uval * key.fkt;
		}
	}	
	
	// usw.
		
	
Dateianhänge
esmart3_esp_pro.log
change file ext log to zip
(22.96 KiB) 27-mal heruntergeladen
Hausdach: 2x5kW Nord-Südseite, SMA STP10.0, BYD 10kWh
Carport: 2x1kW, eSmart3 Laderegler, 4x12V 100Ah Bleiakkus, WR Benny BYM600
EcoFlow DELTA Max 1600 Powerstation

nardev
Beiträge: 2
Registriert: So 7. Jan 2024, 09:30

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von nardev »

Thank you so much, this is all i needed. Thnx a lot!

Vielen Dank!!!

sdz36
Beiträge: 5
Registriert: Fr 2. Feb 2024, 13:24

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von sdz36 »

Hi,

vielen Dank. Leider schaffe ich es nicht das Programm zu kompilieren.
ich bekomme folgende Fehler:
Compilation error: could not convert '{"charge_mod", 0, 8, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'

Was mache ich falsch?

ralphi
Beiträge: 8
Registriert: Sa 7. Jan 2023, 22:48
Wohnort: Landshut / Bayern

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von ralphi »

Da ist jetzt tatsächlich ein Fehler beim Kompilieren.
Ich hab was ‘Altes’ der Übersichtlichkeit wegen rausgenommen. Das fehlt jetzt beim kompilieren. :roll:
Einfach in die my_arrays.h einfügen.

Code: Alles auswählen

// ***************************************************************
// ********************* ALT *********************************
// ***************************************************************

// einfach in die my_arrays.h einfügen
const uint8_t cmd[][23] = {
    { 0xaa, 0x01, 0x00, 0x02, 0x04, 0x04, 0x01, 0x00, 0xfe, 0x13, 0x39 },
    { 0xaa, 0x01, 0x00, 0x02, 0x04, 0x04, 0x01, 0x00, 0xfd, 0x13, 0x3a },
    { 0xaa, 0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x1a, 0x37, 0x00 },
    { 0xaa, 0x01, 0x00, 0x01, 0x01, 0x03, 0x00, 0x00, 0x14, 0x3c, 0x00 },
    { 0xaa, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2c, 0x23, 0x00 },
    
    { 0xaa, 0x01, 0x00, 0x02, 0x06, 0x04, 0x01, 0x00, 0x01, 0x00, 0x47 },
    { 0xaa, 0x01, 0x00, 0x02, 0x06, 0x04, 0x01, 0x00, 0x02, 0x00, 0x46 },
    { 0xaa, 0x01, 0x00, 0x01, 0x04, 0x03, 0x00, 0x00, 0x16, 0x37, 0x00 },
    { 0xaa, 0x01, 0x00, 0x02, 0x07, 0x04, 0x05, 0x00, 0x73, 0x00, 0xd0 },
    { 0xaa, 0x01, 0x00, 0x01, 0x07, 0x03, 0x00, 0x00, 0x0e, 0x3c, 0x00 },
    
    
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x0a, 0x00, 0x3e },
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x14, 0x00, 0x34 },
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x1e, 0x00, 0x2a },
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x28, 0x00, 0x20 },
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x32, 0x00, 0x16 },
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x3c, 0x00, 0x0c },
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x46, 0x00, 0x02 },
    { 0xaa, 0x01, 0x00, 0x02, 0x01, 0x04, 0x06, 0x00, 0x50, 0x00, 0xf8 }
    
    };
    
Danach sollte es keine Fehler geben (Wenos D1 mini pro).
Das struct ist einfach:

Code: Alles auswählen

struct item_int {
    String     name;              // Bezeichner
    byte    reg;                     // Register 
    byte    add;                    // Offset add
    float    fkt;                     // faktor zB: x 0.1
    bool     sign;                  // signed=1 oder unsigned=0
    char    unit[4] = "";        // Einheit zB. ‘Watt’
    int        val = 0;                // wert
}; 
item_int     charge_mod = {"charge_mod",0,8,1,0};
//oder:
item_int     charge_mod = {"charge_mod",0,8,1,0,”nix”,0};
Hausdach: 2x5kW Nord-Südseite, SMA STP10.0, BYD 10kWh
Carport: 2x1kW, eSmart3 Laderegler, 4x12V 100Ah Bleiakkus, WR Benny BYM600
EcoFlow DELTA Max 1600 Powerstation

sdz36
Beiträge: 5
Registriert: Fr 2. Feb 2024, 13:24

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von sdz36 »

Vielen Dank für die Antwort,
aber leider bekomme ich immer noch die Fehler:



In file included from D:\Dokumente\Arduino\esmart3_esp_pro\esmart3_esp_pro.ino:31:0:
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:79:46: error: could not convert '{"charge_mod", 0, 8, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'
item_int charge_mod = {"charge_mod",0,8,1,0}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:80:47: error: could not convert '{"PvVolt", 0, 10, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float PvVolt = {"PvVolt",0,10,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:81:49: error: could not convert '{"BatVolt", 0, 12, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float BatVolt = {"BatVolt",0,12,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:82:49: error: could not convert '{"ChgCurr", 0, 14, 1.0000000000000001e-1, 0, 'A'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float ChgCurr = {"ChgCurr",0,14,0.1,0,'A'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:83:49: error: could not convert '{"OutVolt", 0, 16, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float OutVolt = {"OutVolt",0,16,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:84:51: error: could not convert '{"LoadVolt", 0, 18, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float LoadVolt = {"LoadVolt",0,18,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:85:51: error: could not convert '{"LoadCurr", 0, 20, 1.0000000000000001e-1, 0, 'A'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float LoadCurr = {"LoadCurr",0,20,0.1,0,'A'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:86:47: error: could not convert '{"ChgPower", 0, 22, 1, 0, "W"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int ChgPower = {"ChgPower",0,22,1,0,"W"}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:87:49: error: could not convert '{"LoadPower", 0, 24, 1, 0, "W"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadPower = {"LoadPower",0,24,1,0,"W"}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:88:46: error: could not convert '{"BatTemp", 0, 26, 1, 1, "\'C"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int BatTemp = {"BatTemp",0,26,1,1,"'C"}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:89:50: error: could not convert '{"InnerTemp", 0, 28, 1, 1, "\'C"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int InnerTemp = {"InnerTemp",0,28,1,1,"'C"}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:90:43: error: could not convert '{"BatCap", 0, 30, 1, 0, "%"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int BatCap = {"BatCap",0,30,1,0,"%"}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:91:41: error: could not convert '{"CO2", 0, 32, 1.0000000000000001e-1, 0, "kg"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long CO2 = {"CO2",0,32,0.1,0,"kg"}; // 4B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:92:41: error: could not convert '{"Fault", 0, 36, 1, 0, "_"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int Fault = {"Fault",0,36,1,0,"_"}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:93:59: error: could not convert '{"SystemReminder", 0, 38, 1, 0, "_"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int SystemReminder = {"SystemReminder",0,38,1,0,"_"}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:96:41: error: could not convert '{"BatType", 1, 10, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'
item_int BatType = {"BatType",1,10,1,0}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:97:47: error: could not convert '{"BatSysType", 1, 12, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'
item_int BatSysType = {"BatSysType",1,12,1,0}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:98:51: error: could not convert '{"BulkVolt", 1, 14, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float BulkVolt = {"BulkVolt",1,14,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:99:53: error: could not convert '{"FloatVolt", 1, 16, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float FloatVolt = {"FloatVolt",1,16,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:100:55: error: could not convert '{"MaxChgCurr", 1, 18, 1.0000000000000001e-1, 0, 'A'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float MaxChgCurr = {"MaxChgCurr",1,18,0.1,0,'A'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:101:61: error: could not convert '{"MaxDisChgCurr", 1, 20, 1.0000000000000001e-1, 0, 'A'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float MaxDisChgCurr = {"MaxDisChgCurr",1,20,0.1,0,'A'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:102:65: error: could not convert '{"EqualizeChgVolt", 1, 22, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float EqualizeChgVolt = {"EqualizeChgVolt",1,22,0.1,0,'V'};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:103:63: error: could not convert '{"EqualizeChgTime", 1, 24, 1, 0, "min"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int EqualizeChgTime = {"EqualizeChgTime",1,24,1,0,"min"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:104:51: error: could not convert '{"LoadUseSel", 1, 26, 1, 0, "%"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadUseSel = {"LoadUseSel",1,26,1,0,"%"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:107:50: error: could not convert '{"TodayEng", 2, 20, 1, 0, "kWh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long TodayEng = {"TodayEng",2,20,1,0,"kWh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:108:50: error: could not convert '{"MonthEng", 2, 28, 1, 0, "kWh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long MonthEng = {"MonthEng",2,28,1,0,"kWh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:109:50: error: could not convert '{"TotalEng", 2, 36, 1, 0, "kWh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long TotalEng = {"TotalEng",2,36,1,0,"kWh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:110:58: error: could not convert '{"LoadTodayEng", 2, 40, 1, 0, "kWh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long LoadTodayEng = {"LoadTodayEng",2,40,1,0,"kWh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:111:58: error: could not convert '{"LoadMonthEng", 2, 44, 1, 0, "kWh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long LoadMonthEng = {"LoadMonthEng",2,44,1,0,"kWh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:112:58: error: could not convert '{"LoadTotalEng", 2, 48, 1, 0, "kWh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long LoadTotalEng = {"LoadTotalEng",2,48,1,0,"kWh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:113:60: error: could not convert '{"BacklightTime", 2, 52, 1, 0, "sec"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int BacklightTime = {"BacklightTime",2,52,1,0,"sec"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:114:51: error: could not convert '{"SwitchEnable", 2, 54, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'
item_int SwitchEnable = {"SwitchEnable",2,54,1,0};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:116:53: error: could not convert '{"E_PV_Heute", 2, 20, 1, 0, "Wh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long E_PV_Heute = {"E_PV_Heute",2,20,1,0,"Wh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:117:57: error: could not convert '{"E_Load_Heute", 2, 40, 1, 0, "Wh"}' from '<brace-enclosed initializer list>' to 'item_long'
item_long E_Load_Heute = {"E_Load_Heute",2,40,1,0,"Wh"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:121:56: error: could not convert '{"PvVoltRatio", 3, 10, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int PvVoltRatio = {"PvVoltRatio",3,10,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:122:58: error: could not convert '{"PvVoltOffset", 3, 12, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int PvVoltOffset = {"PvVoltOffset",3,12,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:123:58: error: could not convert '{"BatVoltRatio", 3, 14, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int BatVoltRatio = {"BatVoltRatio",3,14,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:124:60: error: could not convert '{"BatVoltOffset", 3, 16, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int BatVoltOffset = {"BatVoltOffset",3,16,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:125:58: error: could not convert '{"ChgCurrRatio", 3, 18, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int ChgCurrRatio = {"ChgCurrRatio",3,18,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:126:60: error: could not convert '{"ChgCurrOffset", 3, 20, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int ChgCurrOffset = {"ChgCurrOffset",3,20,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:127:60: error: could not convert '{"LoadCurrRatio", 3, 22, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadCurrRatio = {"LoadCurrRatio",3,22,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:128:62: error: could not convert '{"LoadCurrOffset", 3, 24, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadCurrOffset = {"LoadCurrOffset",3,24,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:129:60: error: could not convert '{"LoadVoltRatio", 3, 26, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadVoltRatio = {"LoadVoltRatio",3,26,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:130:62: error: could not convert '{"LoadVoltOffset", 3, 28, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadVoltOffset = {"LoadVoltOffset",3,28,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:131:58: error: could not convert '{"OutVoltRatio", 3, 30, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int OutVoltRatio = {"OutVoltRatio",3,30,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:132:60: error: could not convert '{"OutVoltOffset", 3, 32, 1.0000000000000001e-1, 0, "dig"}' from '<brace-enclosed initializer list>' to 'item_int'
item_int OutVoltOffset = {"OutVoltOffset",3,32,0.1,0,"dig"};
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:136:61: error: could not convert '{"LoadModuleSelect1", 4, 10, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadModuleSelect1 = {"LoadModuleSelect1",4,10,1,0}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:137:61: error: could not convert '{"LoadModuleSelect2", 4, 12, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'
item_int LoadModuleSelect2 = {"LoadModuleSelect2",4,12,1,0}; // uint 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:141:49: error: could not convert '{"LoadOvp", 7, 10, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float LoadOvp = {"LoadOvp",7,10,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:142:49: error: could not convert '{"LoadUvp", 7, 12, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float LoadUvp = {"LoadUvp",7,12,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:143:47: error: could not convert '{"BatOvp", 7, 14, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float BatOvp = {"BatOvp",7,14,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:144:47: error: could not convert '{"BatOvB", 7, 16, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float BatOvB = {"BatOvB",7,16,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:145:47: error: could not convert '{"BatUvp", 7, 18, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float BatUvp = {"BatUvp",7,18,0.1,0,'V'}; // float 2B
^
D:\Dokumente\Arduino\esmart3_esp_pro\var_reg.h:146:47: error: could not convert '{"BatUvB", 7, 20, 1.0000000000000001e-1, 0, 'V'}' from '<brace-enclosed initializer list>' to 'item_float'
item_float BatUvB = {"BatUvB",7,20,0.1,0,'V'}; // float 2B
^

exit status 1

Compilation error: could not convert '{"charge_mod", 0, 8, 1, 0}' from '<brace-enclosed initializer list>' to 'item_int'

ralphi
Beiträge: 8
Registriert: Sa 7. Jan 2023, 22:48
Wohnort: Landshut / Bayern

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von ralphi »

Dann liegts wohl am drumherum?
Ich nutze:
- Arduino IDE 2.2.1 (python3.7.2)
- Boards: esp8266 von ESP8266 Community v 3.1.2

Bei den Libs hab ich keine gesonderten installiert.
das er beim kompilieren aus 0.1 -> 1.0000000000000001e-1 macht kenn ich nicht?

Vergleich doch mal die Ausgabe des Kompilers von mir (im Anhang) mit deiner - ab wo er Unterschiede zeigt.
Dateianhänge
Kompiler Ausgabe.txt
(45.6 KiB) 20-mal heruntergeladen
Hausdach: 2x5kW Nord-Südseite, SMA STP10.0, BYD 10kWh
Carport: 2x1kW, eSmart3 Laderegler, 4x12V 100Ah Bleiakkus, WR Benny BYM600
EcoFlow DELTA Max 1600 Powerstation

sdz36
Beiträge: 5
Registriert: Fr 2. Feb 2024, 13:24

Re: VEVOR / eSmart3 MPP Laderegler Protokoll-Probleme

Beitrag von sdz36 »

Nachdem ich sämtliche Arduino Verzeichnisse gelöscht habe konnte ich fehlerfrei kompilieren.
Eine einfache Neuinstallation hat nicht geholfen.
Vielen Dank

Antworten

Zurück zu „Überschuss Steuerung, Anlagenüberwachung, Anbindung an die Heizung, API Schnittstelle und vieles Andere mehr.“