Jump to content

Energy Manager Beta mit neuen Features


Recommended Posts

Geschrieben (bearbeitet)
Am 28.2.2025 um 18:22 schrieb photron:

@j.esser Die aufgezeichnten Daten sehen gut aus. Aber die DC-Anschlussart für das Modell 714 steht auf NotImplemented anstatt PV. Das sollte das Webinterface garnicht zulassen.

Schau bitte nochmal nach, das das wirklich auf PV steht.

Stand natürlich nicht mehr auf PV. Wird wohl mein Fehler gewesen sein danach nicht nochmals auf den Speichern Button zu drücken :(

Habe es jetzt geändert und im Log steht nun auch was anderes.

Register 41161 kann Ich übrigens auch nicht über

py-sma-modbus
 

python3 main.py -d -v -i5 -a"192.168.1.124" -p502 -u3 41161
Register with the id 41161 does not exist

 

auslesen. Es wird bei mir auch nicht beim Scan der einzelnen Register? als Beschreibung mit ausgegeben.

python main.py -v -g -l -a "192.168.1.124" -p502 -u3 40000
 

Siehe Ausgabe angehängte Textdatei.

 

2025-03-02_15-21_1.png

2025-03-02_15-21.png

wem-26Ji-Debug-Report-2025-03-02T15-24-03-433.txt

bearbeitet von j.esser
Text erweitert. Dateri anhängen geht leider nicht siehe nächster Post.
Geschrieben

Ist das hier das py-sma-modbus das du verwendest?

https://github.com/maluramichael/py-sma-modbus

Ich fürchte, dass deren Registertabelle 6 Jahre alt ist und nicht mehr 100% zum aktuellen Stand von SMA passt. py-sma-modbus hardcoded Registeradressen, das ist leider nicht wie SunSpec funktioniert.

Korrektur: py-sma-modbus liest auf Modbus Unit-ID 3. SunSpec ist bei SMA auf Unit-ID 126. Daher haben diese beiden Registersätze einfach nichts mit einander zu tun.

An Adresse 41161 beginnt bei dir das SunSpec Modell 714. An dieser Adresse steht so erstmal kein Wert, sondern ab dort stehen 20 Register die den Header des Modells 714 bilden. Im Header steht, dann dass es drei DC-Anschlüsse gibt. Für jeden DC-Anschluss beinhaltet das Modell 714 dann 25 weitere Register. Macht insgesammt 95 Register die ich dann versuche ab Adresse 41161 zu lesen. Das klappt aber nicht und liefert Fehler ModbusIllegalDataAddress.

Teste bitte die angehängte Firmware. Dort lese ich jetzt absichtlich nicht die beiden letzten Register im Modell 714, in der Hoffnung, dass das hilft.

[Edit: Alte Firmware entfernt]

Geschrieben (bearbeitet)
Am 3.3.2025 um 10:31 schrieb photron:

Ist das hier das py-sma-modbus das du verwendest?

https://github.com/maluramichael/py-sma-modbus

Ich fürchte, dass deren Registertabelle 6 Jahre alt ist und nicht mehr 100% zum aktuellen Stand von SMA passt. py-sma-modbus hardcoded Registeradressen, das ist leider nicht wie SunSpec funktioniert.

Korrektur: py-sma-modbus liest auf Modbus Unit-ID 3. SunSpec ist bei SMA auf Unit-ID 126. Daher haben diese beiden Registersätze einfach nichts mit einander zu tun.

An Adresse 41161 beginnt bei dir das SunSpec Modell 714. An dieser Adresse steht so erstmal kein Wert, sondern ab dort stehen 20 Register die den Header des Modells 714 bilden. Im Header steht, dann dass es drei DC-Anschlüsse gibt. Für jeden DC-Anschluss beinhaltet das Modell 714 dann 25 weitere Register. Macht insgesammt 95 Register die ich dann versuche ab Adresse 41161 zu lesen. Das klappt aber nicht und liefert Fehler ModbusIllegalDataAddress.

Teste bitte die angehängte Firmware. Dort lese ich jetzt absichtlich nicht die beiden letzten Register im Modell 714, in der Hoffnung, dass das hilft.

energy_manager_firmware_2_3_4_67c575ae_a78a03c5961b5db_merged.bin 2.55 MB · 2 downloads

Ja ist genau das  py-sma-modbus. Anbei neuer Debug LOG

wem-26Ji-Debug-Report-2025-03-04T18-18-47-217.txt

bearbeitet von j.esser
Geschrieben

Sorry für die späte Antwort.

Der Versuch hat leider auch nichts gebracht.

Diese Firmware hat jetzt die Möglichkeit, dass du damit frei Modbus/TCP Register lesen kannst, unter System -> Modbus/TCP Debug.

Test das bitte mal. Folgende Werte eintragen (den Rest so lassen) und dann Ausführen klicken:

Hostname oder IP-Adresse: 192.168.1.124
Geräte­adresse: 126
Start­adresse: 41161
Anzahl: 95

Vermutlich wirst du dann auch den ModbusIllegalDataAddress-Fehler erhalten.  Dann verringere bitte die Anzahl jeweils um 1 und versuch es weiter bis kein Fehler mehr auftritt.

Wenn es klappt kommen Daten, die so angezeigt werden:

 Addr  Off   Hex   UInt

40000    0  5375  21365  Su
40001    1  6e53  28243  nS
40002    2  0001      1  ..
40003    3  0041     65  .A
40004    4  5469  21609  Ti
40005    5  6e6b  28267  nk
40006    6  6572  25970  er
40007    7  666f  26223  fo
40008    8  7267  29287  rg
40009    9  6520  25888  e 
40010   10  476d  18285  Gm
40011   11  6248  25160  bH

Das hätte ich gerne von deinem Wechselrichter gesehen, um zu verstehen was das Problem beim Auslesen des Modells 714 ist.

energy_manager_firmware_2_3_5_67d47f51_cf0a70a4ed36f7b_merged.bin

Geschrieben (bearbeitet)
Am 14.3.2025 um 20:21 schrieb photron:

Sorry für die späte Antwort.

Der Versuch hat leider auch nichts gebracht.

Diese Firmware hat jetzt die Möglichkeit, dass du damit frei Modbus/TCP Register lesen kannst, unter System -> Modbus/TCP Debug.

Test das bitte mal. Folgende Werte eintragen (den Rest so lassen) und dann Ausführen klicken:

Hostname oder IP-Adresse: 192.168.1.124
Geräte­adresse: 126
Start­adresse: 41161
Anzahl: 95

Vermutlich wirst du dann auch den ModbusIllegalDataAddress-Fehler erhalten.  Dann verringere bitte die Anzahl jeweils um 1 und versuch es weiter bis kein Fehler mehr auftritt.

Wenn es klappt kommen Daten, die so angezeigt werden:

 Addr  Off   Hex   UInt

40000    0  5375  21365  Su
40001    1  6e53  28243  nS
40002    2  0001      1  ..
40003    3  0041     65  .A
40004    4  5469  21609  Ti
40005    5  6e6b  28267  nk
40006    6  6572  25970  er
40007    7  666f  26223  fo
40008    8  7267  29287  rg
40009    9  6520  25888  e 
40010   10  476d  18285  Gm
40011   11  6248  25160  bH

Das hätte ich gerne von deinem Wechselrichter gesehen, um zu verstehen was das Problem beim Auslesen des Modells 714 ist.

energy_manager_firmware_2_3_5_67d47f51_cf0a70a4ed36f7b_merged.bin 2.56 MB · 1 download

Entweder kommt die Meldung

Error: Timeout beim Herunter­laden

oder

Transaction failed: ModbusIllegalDataAddress (2)

 

Bei 22 dann

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..
41165    4  0003      3  ..
41166    5  8000  32768  ..
41167    6  8000  32768  ..
41168    7  ffff  65535  ..
41169    8  ffff  65535  ..
41170    9  ffff  65535  ..
41171   10  ffff  65535  ..
41172   11  ffff  65535  ..
41173   12  ffff  65535  ..
41174   13  ffff  65535  ..
41175   14  ffff  65535  ..
41176   15  ffff  65535  ..
41177   16  0000      0  ..
41178   17  0001      1  ..
41179   18  0000      0  ..
41180   19  8000  32768  ..

 Addr  Off   Hex   UInt

41181   20  ffff  65535  ..
41182   21  0000      0  ..

 

bei 19

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..
41165    4  0003      3  ..
41166    5  8000  32768  ..
41167    6  8000  32768  ..
41168    7  ffff  65535  ..
41169    8  ffff  65535  ..
41170    9  ffff  65535  ..
41171   10  ffff  65535  ..
41172   11  ffff  65535  ..
41173   12  ffff  65535  ..
41174   13  ffff  65535  ..
41175   14  ffff  65535  ..
41176   15  ffff  65535  ..
41177   16  0000      0  ..
41178   17  0001      1  ..
41179   18  0000      0  ..

 

17

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..
41165    4  0003      3  ..
41166    5  8000  32768  ..
41167    6  8000  32768  ..
41168    7  ffff  65535  ..
41169    8  ffff  65535  ..
41170    9  ffff  65535  ..
41171   10  ffff  65535  ..
41172   11  ffff  65535  ..
41173   12  ffff  65535  ..
41174   13  ffff  65535  ..
41175   14  ffff  65535  ..
41176   15  ffff  65535  ..
41177   16  0000      0  ..

16

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..
41165    4  0003      3  ..
41166    5  8000  32768  ..
41167    6  8000  32768  ..
41168    7  ffff  65535  ..
41169    8  ffff  65535  ..
41170    9  ffff  65535  ..
41171   10  ffff  65535  ..
41172   11  ffff  65535  ..
41173   12  ffff  65535  ..
41174   13  ffff  65535  ..
41175   14  ffff  65535  ..
41176   15  ffff  65535  ..

11

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..
41165    4  0003      3  ..
41166    5  8000  32768  ..
41167    6  8000  32768  ..
41168    7  ffff  65535  ..
41169    8  ffff  65535  ..
41170    9  ffff  65535  ..
41171   10  ffff  65535  ..

 

5

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..
41165    4  0003      3  ..

 

4

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..

2

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]

 

1

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..

 

komischerweise klappt das auslesen auf diesen Adressen nicht immer!

Ich habe das jetzt mehrmals ausprobiert entweder kommen dann Werte oder eine der beiden Fehlermeldungen.

oberhalb 22 kommt immer eine der beiden Fehlermeldungen.

Vielleicht gibt es eine Sperre weil zu oft hintereinander Werte ausgelesen werden?

 

 

 

 

 

Hoffe das hilft weiter :)

bearbeitet von j.esser
Geschrieben

Dass bei  Adresse 41181 der Wert 65535 steht ist nicht gut. Dort sollte laut Spezifikatiion ein Wert von 0 bis 6 stehen. 65535 heißt hier "nicht implementiert".

"Error: Timeout beim Herunter­laden" kommt durch einen Fehler den ich noch in der Timeout-Behandlung drin hatte. Anbei eine verbesserte Firmware.

Alles unter Länge 20 sollte funkitonieren. Modell 714 beseht bei dir aus 95 Registern: 20 Register Header gefolgt von jeweils 3x 25 Register pro DC Anschluss.

Interessant wären daher die Anzahlen 20, 45, 70 und 95. 

energy_manager_firmware_2_3_5_67d833f6_74f7f3867115348_merged.bin

Geschrieben
Am 17.3.2025 um 15:47 schrieb photron:

Dass bei  Adresse 41181 der Wert 65535 steht ist nicht gut. Dort sollte laut Spezifikatiion ein Wert von 0 bis 6 stehen. 65535 heißt hier "nicht implementiert".

"Error: Timeout beim Herunter­laden" kommt durch einen Fehler den ich noch in der Timeout-Behandlung drin hatte. Anbei eine verbesserte Firmware.

Alles unter Länge 20 sollte funkitonieren. Modell 714 beseht bei dir aus 95 Registern: 20 Register Header gefolgt von jeweils 3x 25 Register pro DC Anschluss.

Interessant wären daher die Anzahlen 20, 45, 70 und 95. 

energy_manager_firmware_2_3_5_67d833f6_74f7f3867115348_merged.bin 2.56 MB · 7 downloads

 

 

 

20

 Addr  Off   Hex   UInt

41161    0  02ca    714  ..
41162    1  005d     93  .]
41163    2  ffff  65535  ..
41164    3  ffff  65535  ..
41165    4  0003      3  ..
41166    5  8000  32768  ..
41167    6  8000  32768  ..
41168    7  ffff  65535  ..
41169    8  ffff  65535  ..
41170    9  ffff  65535  ..
41171   10  ffff  65535  ..
41172   11  ffff  65535  ..
41173   12  ffff  65535  ..
41174   13  ffff  65535  ..
41175   14  ffff  65535  ..
41176   15  ffff  65535  ..
41177   16  0000      0  ..
41178   17  0001      1  ..
41179   18  0000      0  ..
41180   19  8000  32768  ..

 

45,70,95  (3 mal versucht zu lesen bei 2000ms)

Transaction failed: ModbusIllegalDataAddress (2)

 

 

Geschrieben

Okay, danke. Ich bin da etwas mit meinem Latein am Ende. Soweit ich das sehen machen wir das Auslesen der SunSpec Daten über Modbus/TCP richtig (zumindest sehe ich nicht was wir falsch machen). Der Wechselrichter meldet aber dennoch, dass wir versuchen von einer ungültigen Adresse zu lesen. Die SMA eigene SunSpec Dokumentation hilft auch nicht weiter. Die entspricht der offiziellen SunSpec Dokumentation.

Ich schaue mal, ob ich in den nächsten Tagen dazu komme, den SMA eigenen Modbus/TCP Registersatz zu unterstützen. Eine andere Lösung sehe ich leider nicht.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...