Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kommunikationsproblem DTU - HMS-450 #2412

Open
4 tasks done
HaWy5611 opened this issue Nov 16, 2024 · 9 comments
Open
4 tasks done

Kommunikationsproblem DTU - HMS-450 #2412

HaWy5611 opened this issue Nov 16, 2024 · 9 comments
Labels
bug Something isn't working

Comments

@HaWy5611
Copy link

What happened?

Ich habe 3 HMS-450 und habe diese mit der DTU verbunden im Menu Einstellungen, Wechselrichter.
2 Stk funktionieren, unter Typ kommt "HMS-500-1T v2", beim dritten kommt "Unknown"
Dabei ist auffällig dass bei den ersten beiden besteht die Serienummer nur aus Zahlen, beim dritten aus Zahlen und Buchstaben
Die Eingabe "1400A01FF23F" übernommen wird: "1400a01ff23f"
Bei der Live-Ansicht erscheinen nur die ersten beiden.

To Reproduce Bug

Alle Wechselrichter sind am Netz 230V angeschlossen. Der fehlerhafte HMS-450 kann ins Netz einspeisen wenn man Gleichspannung ca. 48V anlegt.

Expected Behavior

Ich erwarte, dass die Verbindung zwischen DTU und HMS-450 hergestellt wird bei allen drei Hoymiles HMS-450

Install Method

Pre-Compiled binary from GitHub releases

What git-hash/version of OpenDTU?

v24.11.7

What firmware variant (PIO Environment) are you using?

generic_esp32

Relevant log/trace output

No response

Anything else?

No response

Please confirm the following

  • I believe this issue is a bug that affects all users of OpenDTU, not something specific to my installation.
  • I have already searched for relevant existing issues and discussions before opening this report.
  • I have updated the title field above with a concise description.
  • I have double checked that my inverter does not contain a W in the model name (like HMS-xxxW) as they are not supported.
@HaWy5611 HaWy5611 added the bug Something isn't working label Nov 16, 2024
@spcqike
Copy link

spcqike commented Nov 18, 2024

ggf. eine neue, unbekannte Hardwareteilenummer?

was steht denn beim dritten in den Wechselrichter Informationen?
#2374 (comment)

@HaWy5611
Copy link
Author

Auf dem Typenschild steht: sihe Bild
Model: HMS-450-1T
20241118_153405 1

Vilen Dank

@HaWy5611
Copy link
Author

HaWy5611 commented Nov 18, 2024 via email

@stefan123t
Copy link

stefan123t commented Nov 19, 2024

Hallo @HaWy5611,

Welche Version von OpenDTU verwendest Du ?
Hast Du die Version v24.3.15 oder neuer installiert ?

Deine Modellnummer 1400 ist mE bisher unbekannt. siehe ua hier #714 (comment)

@tbnobody evtl muss diese noch zur Liste der bekannten Modellnummern #714 und zu einer künftigen OpenDTU version hinzugefügt werden ?

@stefan123t
Copy link

stefan123t commented Nov 19, 2024

@HaWy5611 kannst Du mal versuchen die Seriennummer als 1403A01FF23F einzugeben oder besser noch 1124A01FF23F ?

@HaWy5611
Copy link
Author

HaWy5611 commented Nov 19, 2024 via email

@stefan123t
Copy link

@HaWy5611 danke fürs Update und den erneuten Versuch.

Probiere bitte mal 1124A01FF23F das Präfix 1124 bezeichnet einen HMS/HMT mit einem DC Eingang sein und sollte dann als Wechselrichter von der OpenDTU erkannt werden.

@HaWy5611
Copy link
Author

HaWy5611 commented Nov 19, 2024 via email

@stefan123t
Copy link

Laut der Dokumentation in der lib/Hoymiles/src/inverters/README.md gibt es zwei gültige Präfixe für HMS-300..500-1T bzw. HMS-500-1T v2.

Class Models Serial range
HMS_1CH HMS-300/350/400/450/500-1T 1124
HMS_1CHv2 HMS-500-1T v2 1125

Ich vermute fast Du hast ein v2 oder gar ein v3 Modell und wir können den Source Code und die o.a. Tabelle mit Deinem Präfix 1400 ergänzen.

Hier der Code für die Methode isValidSerial in der v1

bool HMS_1CH::isValidSerial(const uint64_t serial)
{
// serial >= 0x112400000000 && serial <= 0x1124ffffffff
uint16_t preSerial = (serial >> 32) & 0xffff;
return preSerial == 0x1124;
}

und hier der entsprechende Code für v2

bool HMS_1CHv2::isValidSerial(const uint64_t serial)
{
// serial >= 0x112500000000 && serial <= 0x1125ffffffff
uint16_t preSerial = (serial >> 32) & 0xffff;
return preSerial == 0x1125;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants