Modbus Interface Smile 5

Willkommen auf Storion4you.de - der Community für Stromspeicher- und Backupsysteme von ALPHA-ESS!
Sie haben aktuell Lesezugriff auf den öffentlichen Bereich dieser Website. Um Themen zu starten oder Beiträge zu erstellen, müssen Sie sich zuerst registrieren.

  • Update 03.03.2021:

    Leider hat Alpha ESS die Adresse einiger Modbus Register geändert.

    Ich habe den Beitrag entsprechend aktualisiert.


    Update 20.11.2020:

    Inzwischen konnten alle offenen Fragen über den Support geklärt werden, ich habe den Beitrag entsprechend angepasst, evtl. hilft es ja in Zukunft jemandem.

    Herzlichen Dank an Michael Steininger-Yang fü die Unterstützung!


    Hallo zusammen,


    im Frühjahr 2020 haben wir ein Smile 5 System mit 5.7kWh Akku und 6.4kWp Modulleistung installiert bekommen.


    Über den Kundensupport bekam ich Informationen zur Modbus RTU Schnittstelle (Modbus TCP sei noch in der Entwicklung) und es wurde auch eine entsprechende Firmware per Fernwartung aufgespielt (V1.02.25A). Edit: Seit EMS-Version V1.02.28 ist Modbus RTU standardmäßig enthalten
    Der Abruf der Modbus Register funktioniert mittels eines Modbus RTU/TCP Gateways ohne Probleme.


    Mein Ziel ist es, die Werte, die in der Alpha Ess App bzw. im Web Portal angezeigt werden, aus den Modbus Daten zu ermitteln. Leider habe ich das nicht vollständig geschafft.
    Kann mir jemand einen Tipp geben, wie ich die fehlenden Daten ermitteln kann? Übersehe ich was, oder stehen die Daten tatsächlich nicht in der Modbus Schnittstelle zur Verfügung?
    Bin für jede Hilfe Dankbar!


    Hier zunächst mal, was ich mir bisher zusammengereimt habe:


    Fangen wir mal mit den Leistungswerten an:


    1) PV1 power (0x041F) + PV2 power (0x0423)
    2) Battery_Power (0x126)
    3) Total_Active power [Grid Meter] (0x0006 0x0021)

    4) Inverter_Power_Total (0x040C) + Total_Active power [Grid Meter] (0x0006 0x0021)

    5) BatterySOC (0x0102)


    Sieht soweit ganz gut aus, allerdings liegt die errechnete PV Erzeugung 1) immer etwa 60 bis 80W unterhalb der Werte aus dem Portal. Nachts, wenn keine Energie erzeugt wird und der Strom nur aus dem Akku kommt, wird der errechnete Wert sogar negativ! Ich vermute das liegt daran, dass die Verluste der Anlage und des Wechselrichters enthalten sind.


    Interessant ist in diesem Zusammenhang evtl. der Vergleich zwischen der gemessenen PV Leistung 1) und der berechneten PV Leistung 6):


    6) [Inverter_Power_Total (0x040C)] - [ Battery_current (0x0101) x Battery_voltage (0x0100) ]


    Nach meinem Verständnis müsste die Differenz aus 1) und 6) in etwa der Verlustleistung der Anlage entsprechen. Der Wert ist natürlich nur aussagekräftig, wenn auch Leistung über den Wechselrichter läuft.


    Jetzt zu den Energiewerten:


    Für die aktuellen Tageswerte muss natürlich der Wert um Mitternacht gespeichert werden, damit man die aktuellen Tageswerte dann per Differenz errechnen kann.


    1) Total_PV Energy (0x042E 0x043E)
    2) Battery_charge energy (0x0120)
    3) Total_PV Energy (
    0x042E 0x043E) - Battery_charge energy (0x0120) - Total_energyfeed to grid [Grid Meter] (0x0008 0x0010)
    4) Total_PV Energy (
    0x042E 0x043E) - Total_energyfeed to grid [Grid Meter] (0x0008 0x0010) + Total_energy consume from grid [Grid Meter] (0x000A)
    5) Battery_energy charge from grid (0x0124)
    6) Total_energy consume from grid [Grid Meter] (0x000A)
    7) Total_energyfeed to grid [Grid Meter] (
    0x0008 0x0010)


    Zusätzlich lässt sich die Akku Entladeenergie aus Register 0x0122 auslesen (Battery_discharge energy).


    Ich wäre also sehr an einer Lösung für die fehlenden Energie Werte 1) 3) und 4) interessiert.
    Darüber hinaus wäre interessant, ob es für den Leistungswert 1) eine Möglichkeit gibt, diesen ohne die Verluste zu ermitteln.


    Vielen Dank und viele Grüße
    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

    7 Mal editiert, zuletzt von Gaspode ()

  • Hallo Wolf,


    Du hast ja eine Antwort ja fast schon selbst gefunden (Speichern der Daten um Mitternacht)


    zu 1) ich hab das Register 0x042E (PV-Gesamtenergie) multipliziert mit 0,1 verwendet, speichere den Wert jede Nacht um 0:01 in eine Datenbank. Dann kann man wie du schreibst, das Delta mit dem aktuellen Wert verwenden. Also Wert-Aktuell minus Wert-Vortag = PV-Ertrag heute als Momentanwert.



    zu 4) den Wert aus Register 0x008 * 0,01 (Gesamte Einspeisung ins Netz) minus dem PV-Ertrag plus Bezug = Verbrauch. Zur Ermittlung des Bezuges muss man das Register 0x00A * 0,01 wieder um Mitternacht speichern und wieder vom aktuellen Wert abziehen.


    zu 3) den Verbrauch von 4) minus dem Wert aus Register 0x1020 * 0,1 ebenfalls um Mitternacht speichern und vom aktuellen Wert abziehen, minus Bezug.


    Viele Grüße
    Michael

  • Hallo zusammen,


    im Frühjahr 2020 haben wir ein Smile 5 System mit 5.7kWh Akku und 6.4kWp Modulleistung installiert bekommen.


    Über den Kundensupport bekam ich Informationen zur Modbus RTU Schnittstelle (Modbus TCP sei noch in der Entwicklung) und es wurde auch eine entsprechende Firmware per Fernwartung aufgespielt (V1.02.25A).
    Der Abruf der Modbus Register funktioniert mittels eines Modbus RTU/TCP Gateways ohne Probleme.

    Guten Abend zusammen,


    ich scheitere leider nach wie vor daran den Smile 5 sauber über Modbus auszulesen.
    Da du das aufspielen der Firmware jetzt nochmal explizit erwähnt hast, hätte ich ein, zwei Fragen dazu:


    1. steht das A am Ende der Firmwarenummer für Modbus ? (Ich habe aktuell die Version "1.02.28" ohne A)


    2. Benötige ich eine andere Version damit das Auslesen funktioniert ?


    3. Könntest du mir bitte sagen Welchen Typ du zum Auslesen verwendest ?


    (Ich nutze ein RTU/USB converter)


    Vielen Dank


    Grüße Max


  • zu 1) ich hab das Register 0x042E (PV-Gesamtenergie) multipliziert mit 0,1 verwende

    Hallo Michael,


    Danke für die Antwort. Leider ist der Wert des Registers "Total PV Energy" 0x042E (ebenso wie der Wert des Registers "Total Active power (PVMeter)" 0x0012) immer 0.
    Laut ESS Support liegt das daran, dass ich keinen externen PV Wechselrichter nutze, was mir schon irgendwie merkwürdig vorkommt. Die beiden Werte sind ja so ziemlich die wichtigsten Werte überhaupt!
    Ich habe nochmals rückgefragt, bisher aber leider keine Antwort bekommen (war aber erst gestern, will deshalb also nicht meckern. :) )


    Hast du einen externen Wechselrichter in deiner Anlage?



    1. steht das A am Ende der Firmwarenummer für Modbus ? (Ich habe aktuell die Version "1.02.28" ohne A)

    Kann ich dir nicht sagen, ich habe gestern das erste Mal geschaut, welche Version bei mir überhaupt läuft. Einige Zeit zuvor hatte ich auf meine Frage wegen Modbus vom Support per Mail mitgeteilt bekommen, dass sie die entsprechende Firmware aufgespielt haben.


    Gruß
    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

    • Offizieller Herstellerbeitrag


    1. steht das A am Ende der Firmwarenummer für Modbus ? (Ich habe aktuell die Version "1.02.28" ohne A)


    2. Benötige ich eine andere Version damit das Auslesen funktioniert ?


    Grüße Max

    Hallo @MBH,


    die EMS-Version 1.02.28 ist die neueste EMS-Version des SMILE5 vom 25.10.2020 und bietet eine standardmäßig verfügbare Modbus RTU Schnittstelle.
    Die Software sollte deshalb keine Probleme beim Auslesen der Daten verursachen.


    Mit freundlichen Grüßen
    Michael Steininger-Yang

    Smarten Your Energy!

    Einmal editiert, zuletzt von Michael Steininger-Yang () aus folgendem Grund: Korrektur, dass Modbus "standardmäßig verfügbar" und nicht "aktiviert" ist. Die Funktion muss ggfs. erst aktiviert werden.

  • @MBH

    Bei mir war übrigens die Modbus Schnittstelle nicht aktiviert, weshalb ich zunächst ziemlich lange erfolglos versucht habe, sie zum Laufen zu bringen. :D

    Nachdem ich am Verzweifeln war kamen dann sogar zwei Servicetechniker vorbei, und die bemerkten dann das "Problem". Nach Aktivierung im Service Menü klappte es dann.


    Ich verwende einen Modbus RTU/TCP Umsetzer der Firma USRIOT (USR-W610). Damit gab es zunächst allerdings Probleme, weil der Smile 5 wohl manchmal etwas zu lange Pausen zwischen den Zeichen macht. Deshalb musste der Umsetzer umkonfiguriert werden, was aber nur durch ein Tool möglich war, das mir der Service von USRIOT geschickt hat.


    @Michael Steininger-Yang
    Haben Sie Informationen über die Register 0x042E und 0x0012?
    Es muss doch möglich sein, die PV Erzeugungsleistung und Energie auszulesen!?


    Danke und Gruß
    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.


  • Leider ist der Wert des Registers "Total PV Energy" 0x042E (ebenso wie der Wert des Registers "Total Active power (PVMeter)" 0x0012) immer 0.
    Laut ESS Support liegt das daran, dass ich keinen externen PV Wechselrichter nutze, was mir schon irgendwie merkwürdig vorkommt.

    Hallo Wolf,
    ja, ich habe einen zusätzlichen SMA Wechselrichter. Insgesamt hab ich 9,9 Kwp auf 4 Strings verteilt (Ost/Westausrichtung). D.h. es sind dann auch zwei Zähler im System verbaut. Einer hinter dem SMA WR und dann noch die Alpha Backup-Box, die auch als Zähler fungiert. Beide sind über einen eigenen Modbus mit dem Smile 5 verbunden. Womöglich stehen die Messwerte ohne diese Zähler dann nicht wie erwartet zur Verfügung, was ich aber auch nicht verstehe, wenn doch die Daten im Portal und auf der App zu sehen sind.


    Gruß
    Michael

  • Hallo Wolf,


    kannst du etwas zum Tool für den RTU/TCP Umsetzer schreiben? Wie heißt es, was wurde am Umsetzer geändert?


    Gruß
    Christian

  • Hallo Christian,


    hatte ich doch geschrieben: USR-W610.
    Würde ihn aber nicht empfehlen. Umständlich zu konfigurieren und zumindest im Zusammenhang mit dem Smile 5 nicht wirklich stabil.
    Ich musste das "Default interval between 2 bytes" mittels AT Befehl von "fast" (=10ms) auf "normal" (=40~50ms) ändern.
    AT+FUARTTE=normal
    Die Änderung tritt aber erst nach einem Factory Reset in Kraft:
    AT+RELD
    D.h. man muss anschließend das Gerät wieder komplett neu konfigurieren.


    Gruß
    Wolf


    Edit:
    Ach ja, das Tool. Der USRIOT Support hat mir zwei Tools geschickt, die ich mal "ausprobieren" sollte. Keinerlei Signierung vorhanden, weshalb ich mich nur getraut hab, die in einer VM zu nutzen.
    Eins davon hat dann tatsächlich funktioniert.

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

  • Danke Wolf,


    das mit den USR-W610 hatte ich Verstanden.


    Mir ging es um die/das Tool(s) vom Service.


    Ich habe ein USR-TCP232-410s, läuft am iobroker mit den Smile5 auch nicht stabil.
    Die Verbindung wird ständig getrennt, aber sofort wieder aufgebaut.


    Gruß
    Christian

  • Hallo @Christian,


    was machen denn die RS485 LEDs auf dem Gerät? Blitzen Tx und Rx kurz auf, wenn du versuchst, Register zu lesen?


    Wenn nicht, hast du ein anderes Problem. Falls ja, funktioniert grundsätzlich die TCP/RS485 Umsetzung und das Wechseln von FAST auf NORMAL wäre einen Versuch wert.


    Die Tools kann ich dir leider nicht per private Unterhaltung schicken, da sie vom System als zu groß abgelehnt werden. Du kannst aber einfach einen Support Fall bei USRIOT aufmachen und um die "AT command software" für dein Gerät bitten. Normalerweise antworten die innerhalb weniger Stunden.


    Mit dem Tool kannst du dich dann per TCP mit deinem Device verbinden.

    AT+FUARTTE
    Zeigt dir dann die aktuelle Einstellung (FAST oder NORMAL)


    AT+FUARTTE=normal
    Setzt den Modus auf NORMAL


    anschließend musst du einen Werksreset durchführen mit
    AT+RELD


    Nach manueller Neukonfiguration sollte die Verbindung dann stabil(er) laufen.


    Hintergrund: Das USRIOT Device im Modus FAST geht davon aus, dass ein RS485 Telegram zu Ende ist, wenn eine Pause von etwa 10ms erkannt wird. In diesem Fall wird ein unvollständiges Telegram in einen TCP Frame verpackt und die restlichen Bytes werden dann als ungültiger Modbus Frame hinterher geschickt. Der Modbus Master kann damit nix anfangen und schließt in der Regel die Verbindung und baut sie neu auf. Im Modus NORMAL wird die zulässige Pause auf 40 bis 50ms vergrößert.


    Ich hoffe, ich konnte dir weiterhelfen.


    Grüße
    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

  • Um nochmal auf die eigentliche Intention dieses Threads zurück zu kommen:


    Ist es wirklich nicht möglich, die aktuell erzeugte Solar-Leistung und die bisher erzeugte Solar-Energie über Modbus zu bekommen, wenn kein externer Wechselrichter verbaut ist?

    Kann evtl. jemand von Alpha-ESS was dazu sagen?

    Falls das derzeit wirklich nicht geht: Wäre es möglich, das noch nachzurüsten? Die beiden Werte sind IMHO mit die wichtigsten Anlagenwerte überhaupt!


    Danke und Gruß

    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

  • Hallo,


    inzwischen konnten alle Frage geklärt werden.

    Ich habe den ersten Beitrag entsprechend angepasst.


    Vielen Dank an alle Beteiligten... :thumbup:


    Gruß

    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

  • Hallo Wolf,


    zuerst mal vielen Dank für deinen umfangreichen Beitrag und die gute Dokumentation. Viele Antworten zu meinem aktuellen Erweiterungsprojekt sind dort schon enthalten. Ich würde nämlich gerne meinen Storion über die Modbus-Schnittstelle mit meiner KNX-Installation verbinden. Viele verschiedene Bus-Systeme kenne ich schon, aber Modbus RTU bisher nicht. Benötige ich dort noch eine Geräte-Adresse oder funktioniert das direkt mit der Adressierung wie von dir oben beschrieben? Würde mir dann ein Modbis RTU - KNX - Interface zulegen. Abgreifen möchte ich genau die Daten, die im Portal angezeigt werden, bzw. auch in der App zu finden sind.


    Leider finde ich in der Dokumentation meines Speichers nichts, wo ich den Modbus abgreifen kann. Hab im Moment nur den großen grünen Stecker unbelegt und 3 verschiedene RJ45-Buchsen frei. Habe dazu jetzt auch beim Support mal angefragt,


    Viele Grüße

    Oliver

  • Hallo Oliver,


    über Modbus beim Smile 5 gibt es eine eigene Dokumentation. Der Support wird dir diese bestimmt zukommen lassen.

    In diesem Dokument sind auch alle weiteren Daten beschrieben, die du zur Konfiguration deines Modbus/KNX Gateways brauchst, u.a. auch die Geräteadresse (0x55).


    Was nicht drin steht (zumindest nicht in dem Dokument, das mir vorliegt), ist, dass der RS485 Anschluss für Modbus beim aktuellen Smile 5 Modell auf der CAN Buchse liegt, und zwar auf 4-B, 5-A. Bei mir musste außerdem noch Modbus im Geräte-Menü aktiviert werden, evtl. ist das aber inzwischen nicht mehr erforderlich bzw. der Support kann das wohl auch per Fernwartung einschalten.


    Viel Erfolg und viele Grüße

    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

  • Hallo,

    ich frage mich gerade, ob und wie ich aus den Modbus Registern rausbekommen kann, ob der Smil5 5 gerade im USV Betrieb ist, also ob die Verbindung zum Netz getrennt ist und das Haus nur über die Batterie versorgt wird. Ich hätte das ja in Register 0x0430 vermutet, aber da wird im Normalbetrieb bereits der Wert 2 (=USV Modus) geliefert.

    Kann jemand helfen?

    Danke und Gruß

    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

  • Hallo Wolf,

    ich überwache Register 0x041A = Inverter_Backup_Power_Total / WR-Gesamtbackupleistung. Der Wert ist im Normalbetrieb = 0. Also wenn >0 dann im USV Betrieb, und man sieht auch gleich wieviel W gezogen werden. Hab das mal vor ein paar Wochen eingerichtet, als ich die USV Tests mit der Backup Box gemacht habe ( viel zu lange Rückschaltzeit kennt man ja mittlerweile). Hatte aber noch keine Gelegenheit für ausführliche Tests (will damit meine NAS und PC's zum Shutdown steuern...).

    Übrigens finde ich in meiner Modbus Tabelle (Version 1.6) gar kein Register 0x430, was hast du denn für eine Version?

    Gruß

    Michael

  • Hallo Michael,

    Danke, manchmal sieht man den Wald vor lauter Bäumen nicht. Hätte man auch selbst drauf kommen können. :thumbup:

    Also ich habe Version 1.6 vom 10.11.2020. Ich habe aber auch eine ältere Variante, die die Versionsnummer 1.6 trägt, in der dieses Register nicht aufgeführt ist.

    Am Besten mal beim Support (oder hier bei Herrn Steininger-Yang) nach der neuesten Version fragen. Evtl. kann Alpha die Modbus Doku ja auch mal offiziell zum Download anbieten

    Viele Grüße und Danke

    Wolf

    --

    Bitte keine technischen Fragen per privater Konversation.

    Stellt eure Fragen im Forum, dann haben alle was davon und es können auch mehr Leute helfen.

  • Hallo Wolf,

    danke für die Info bezüglich neuer Doku,:thumbup:

    hab die heute beim Support angefordert und auch gleich bekommen. Scheint ja um einiges umfangreicher zu sein.

    Viele Grüße

    Michael

  • Guten Abend zusammen,


    ich bin mit meiner Modbus RTU-Schnittstelle soweit, dass ich ein Interface gekauft und installiert habe. Leider bekomme ich in der dortigen Diagnose die Rückmeldung "keine Kommunikation". Habe bereits mehrfach mit dem Support von Alpha ESS hin- und hergeschrieben, aber leider immer nur die Modbus-Spezifikation geschickt bekommen. Vermute mal, dass der Modbus bei mir nicht aktiv ist. Seht ihr das im Menü vom Storion irgendwie? Wenn ich auf das Menü "Status" - "Kommunikation" gehe, stehen dort BMS, Net Con und Z1 Comm auf Ja, Z2 und MachineCon auf Nein.


    Viele Grüße

    Oliver