EpEver Modbus zu MQTT Register werden nicht published

Hallo, ich bin neu im Forum und folglich mit den Gepflogenheiten und Strukturen noch nicht vertraut. Ich bitte von daher um Nachsicht.
Meine Suche war leider auch erfolglos.
Zu meinem Setup:
Ich betreibe zwei Laderegler von EpEver. Seit einigen Jahren einen Triron 3210AN und seit kurzem einen Tracer der Gen3. Für beide habe ich auf D1 mini Pro WLAN - Basis einen ModBus<-->MQTT gebaut.
Zu meinem Problem:
Auf beiden läuft der selbe Sketch.
Am Triron angeschlossen, bekomme ich alle gewünschten Daten published.

PV-Tor = sleep
pvtor
status
time = 2025-08-31 10:39:02
batt_volt = Normal
batt_temp = 0
charger_mode = Boost
panel
V = 34.90
I = 3.500
P = 122.150
minV = 0.000
maxV = 63.070
battery
V = 29.070
I = 7.090
P = 206.100
T = 29.070
SOC = 100.000
TEMP = 28.000
netI = 7.090
minV = 23.960
maxV = 29.950
load
co2reduction
energy
consumed_day = 0.000
consumed_all = 3.850
generated_day = 1.000
generated_all = 1430.850

Schließ ich das Gerät nun an den neuen Tracer (Gen3) an, werden diverse Livedaten nicht durchgereicht.

PV-Tor = sleep
pvtor
status
time = 2025-08-31 11:17:11
batt_volt = Normal
batt_temp = 0
charger_mode = Float
panel
V = 33.890
I = 0.180
P = 6.220
minV = 0.000
maxV = 0.000
battery
V = 13.840
I = 0.450
P = 6.220
T = 13.840
SOC = 99.000
TEMP = 22.000
netI = 0.370
minV = 0.000
maxV = 0.000
load
co2reduction
energy
consumed_day = 0.000
consumed_all = 0.000
generated_day = 0.000
generated_all = 0.000

Das betrifft insbesondere die Verbrauchs- und die Ertragsdaten.
Für mich sieht es so aus, als hätte sich etwas an den Adressen vom Triron zum Tracer geändert.
Meine Frage: Hat jemand dazu eine Information oder Idee?
Gruß und schönen Sonntag, Hobbyscripter

dann musst du da tiefer analysieren welche Adressen sich genau geändert haben. Auch mal die Datenblätter vergleichen, in Details kann sich das schon unterscheiden. Evtl. auch mal ein betroffenens Register separat abholen. Bekommst du dann auch keine gültige Antwort?

Es betrifft alle Register ab 0x3300 bis 0x331C
In diversen Specs als Bereich für konsumierte- bzw. generierte Daten benannt.
Im Triron ja. Mein Problem ist, dass die Regler (auch der Tracer) bereits fest verbaut sind und ich leider den seriellen Monitor nicht ohne riesigen Aufwand nutzen kann. Im Moment steht mir nur der MQTT-Explorer zur Verfügung und dort bekommen ich die 0.000 als Antwort.
Meine Hoffnung war, dass da irgendetwas bekannt ist und ein: Probiere mal ab Adresse...

P.S. Abweichende Datenblätter habe ich nicht gefunden. Eine direkte Anfrage an EpEver blieb bisher leider unbeantwortet.
Gruß hobbyscripter

Hast du wirklich jedes Register einzeln abgerfragt und hat jedes einzelne Einen Fehler generiert? Wenn ja welchen?

Nicht Alle aber alle die ich haben will geben 0.000 zurück
(Zum Vergleich habe ich anfangs in Code1 & 2 zum Vergleich die Rückgaben von beiden Reglern mitgeliefert)
OT Gibt es eine Möglichkeit Screenshots mitzuschicken?

STATISTICS      0x3300 // Start der Statistikdaten
PV_MAX     0x00 // Maximum Eingangsspannung (PV) heute  
PV_MIN     0x01 // Minimum Eingangsspannung (PV) heute
BATT_MAX   0x02 // Maximum Batteriespannung heute
BATT_MIN   0x03 // Minimum Batteriespannung heute

CONS_ENERGY_DAY_L   0x04 // Energieverbrauch heute L
CONS_ENGERY_DAY_H   0x05 // Energieverbrauch heute H
CONS_ENGERY_MON_L   0x06 // Energieverbrauch diesen Monat L 
CONS_ENGERY_MON_H   0x07 // Energieverbrauch diesen Monat H
CONS_ENGERY_YEAR_L  0x08 // Energieverbrauch dieses Jahr L
CONS_ENGERY_YEAR_H  0x09 // Energieverbrauch dieses Jahr H
CONS_ENGERY_TOT_L   0x0A // Gesamtenergieverbrauch L
CONS_ENGERY_TOT_H   0x0B // Gesamtenergieverbrauch H

GEN_ENERGY_DAY_L   0x0C // Energiegewinnung heute L
GEN_ENERGY_DAY_H   0x0D // Energiegewinnung heute H
GEN_ENERGY_MON_L   0x0E // Energiegewinnung diesen Monat L
GEN_ENERGY_MON_H   0x0F // Energiegewinnung diesen Monat H
GEN_ENERGY_YEAR_L  0x10 // Energiegewinnung dieses Jahr L
GEN_ENERGY_YEAR_H  0x11 // Energiegewinnung dieses Jahr H
GEN_ENERGY_TOT_L   0x12 // Gesamtenergiegewinnung L
GEN_ENERGY_TOT_H   0x13 // Gesamtenergiegewinnung  H

CO2_REDUCTION_L    0x14 // CO2-Reduction L  
CO2_REDUCTION_H    0x15 // CO2-Reduction H 

noch mal. Frage jedes einzeln ab. Finde raus welches genau NICHT funktioniert.
z.B. gibt es vermutlich (du hast ja kein Datasheet gepostet!) kein 0x331A.
Wenn du z.B. den ganzen bereich 0x3300 - 0x331C abfragst muss das fehlschlagen!
Daher musst du nun zunächst exakt rausfinden welches Register funktioniert und auch nur die funktionierenden abfragen!

Das ist doch sein Problem!
Am ersten Gerät kommt dort die Batteryvoltage.
Am zweiten kommt da nix.

@hobbyscripter der Regler läuft mit Battery? (Der geht IMHO auch ohne, darum die Frage)

Danke für Deine Mühe und Geduld. Was bedeutet in diesem Kontext "Datasheet"?
Ich frage schon gezielt einzelne Register ab und iteriere nicht den gesamten Adressbereich durch. Aber alle ausbleibenden liegen im benannten Adressbereich.
Die 0x331A frage ich nicht - aber 1B und 1C.

BATTERY_CURRENT_L   0x331B  // Batterie current L
BATTERY_CURRENT_H   0x331C  // Batterie current H

Das mit der Einzelabfrage wird dann heute nicht mehr. Die Suche scheint doch komplexer zu werden als ich ursprünglich dachte.
Es wäre ja zu einfach gewesen.

Die zwei Datenblätter aus denen man die Register der beiden Regler ablesen kann.
Ich hab hier nur eins für MEINEN Epever.

1 Like

Genau DAS habe ich für nicht - für keinen meiner Regler. Beim ersten habe ich mir die Daten aus dem Netz gekramt.
Den Neuen habe ich erst seit zwei Wochen und habe gerade nochmal in der Verpackung nachgeschaut - Nichts.
Dann wende ich mich wohl nochmal an den Support wenden.
Gruß

Hier gäbe es ein Datenblätter - wenn das nicht wäre:

Die Meldung ist Quark.
Und dort gibt es nur Manuals, aber keine Registerbeschreibung.

Hat sich erledigt - habs gefunden.
Um mein Problem etwas anschaulicher zu machen, hab ich die Screenshots vom MQTT-Explorer und es geht um die markierten Werte.
Zunächst am Triron

und dann am Tracer G3

Hat denn überhaupt schon mal jemand andere Adressen für die Register verwendet?
Gruß

Was sind andere "Adressen für die Register"?

Falsch formuliert? Sorry.
Ich nahm an, dass der Threadverlauf mein Anliegen/Problem hinreichend verdeutlicht hat.
Gruß

Hatte ich gestern übersehen.
Ja, beide Regler hängen in ihren Produktivsystemen.
Habe mich jedoch dazu entschieden, mir ein Testsystem zu bauen um besser Debuggen zu können.
Gruß

Das auf der 331A nix kommt, geht ok, aber die beiden folgenden sollten eigentlich gehen.
Nicht dass da schon in der FW was verquarkt ist.
Es gibt wohl im Bereich ab 0x9000 noch bisher undokumentierte Register.

Ich würde mir auch erstmal mit dem Funktionscode 0x04 versuchen alle Register auszulesen und dann die Rohwerte versuchen aufzulösen.
Wird sicher viel Arbeit, da ja auch noch zu klären wäre, ob mal 2 oder 4 bytes zurückkommen. ;(

Habe heute morgen von EpEver eine Ankündigung bekommen, dass ich von ihnen das Third Generation Communication Protocol erhalten werde.
Ich warte erstmal ab, ob sich daraus neue Erkenntnisse ergeben.
1B und 1C gehen - am Triron - da bekomme ich alle/die erwarteten Werte - nur eben beim Tracer nicht. Ich werde berichten, wenn ich die Lösung habe.

Schönen Tag

2 Likes

welchen Tracer hast du genau?

Tracer 3210AN G3
&
Triron 3210N (alt/funktioniert)