Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    982

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.5k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.0k

Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

Geplant Angeheftet Gesperrt Verschoben JavaScript
468 Beiträge 22 Kommentatoren 52.6k Aufrufe 20 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • maxclaudiM maxclaudi

    Seriennummer direkt auf dem Zendure-Gerät sichtbar?

    Hallo zusammen,
    könnt Ihr mir bitte kurz bestätigen, ob auf wirklich jedem Zendure-Gerät ein Typenschild oder ein Aufkleber mit der Seriennummer angebracht ist?

    Beispiele:

    • HAB5MCADH280002
    • FED3MCDHA320002

    Mir geht es nicht um Eure konkreten Seriennummern, sondern rein um die Info, ob diese bei allen Modellen direkt am Gehäuse für Euch sichtlich zu finden ist.

    Dass sie auf der Originalverpackung steht, weiß ich.

    Danke für Eure Rückmeldungen!

    M Online
    M Online
    MP_Trixi
    schrieb zuletzt editiert von
    #454

    @maxclaudi
    Hi, ja mein SF800Pro2 hat einen Aufkleber mit QR Code und SN

    Verstehe ich das richtig? Du hast nun im Gerät das MQTT-Cloudziel auf einen lokalen Broker umgebogen, der auf deinem ioBroker läuft. Damit hast aktuell die richtigen Daten per Push in Echtzeit und machst „nur noch“ die reaktive Steuerung über dein hier thematisiertes Script?

    maxclaudiM 1 Antwort Letzte Antwort
    0
    • M MP_Trixi

      @maxclaudi
      Hi, ja mein SF800Pro2 hat einen Aufkleber mit QR Code und SN

      Verstehe ich das richtig? Du hast nun im Gerät das MQTT-Cloudziel auf einen lokalen Broker umgebogen, der auf deinem ioBroker läuft. Damit hast aktuell die richtigen Daten per Push in Echtzeit und machst „nur noch“ die reaktive Steuerung über dein hier thematisiertes Script?

      maxclaudiM Offline
      maxclaudiM Offline
      maxclaudi
      schrieb zuletzt editiert von maxclaudi
      #455

      @MP_Trixi sagte:

      @maxclaudi
      Hi, ja mein SF800Pro2 hat einen Aufkleber mit QR Code und SN

      Dankeschön!

      Bitte noch mehr Leute – gerne auch von anderen Geräten – kurz bestätigen: Es geht mir rein darum, ob die Seriennummer gut ersichtlich physisch am Gehäuse vorhanden ist.

      Verstehe ich das richtig? Du hast nun im Gerät das MQTT-Cloudziel auf einen lokalen Broker umgebogen, der auf deinem ioBroker läuft. Damit hast aktuell die richtigen Daten per Push in Echtzeit....

      fast Richtig.
      Die Cloud-URL wird im Gerät dauerhaft auf eine lokale IP oder DNS umgeschrieben, damit sich das Zendure-Gerät ausschließlich über diese Zieladresse mit dem eigenen Broker verbindet.
      Allerdings nur mit Mosquitto als Broker getestet.
      iob MQTT-Adapter ist als MQTT-Client mit dem mosquitto-broker verbunden.

      und machst „nur noch“ die reaktive Steuerung über dein hier thematisiertes Script?

      Entwickle eine Software, die zuerst einmal nur dazu dient, die Cloud-DNS auf eine beliebige URL umschreiben zu können.
      Wenn du mit "hier thematisiertes Script" das zenSDK-Steuerungs-Skript dieses Threads meinst:
      Die Steuerung über HTTP läuft darüber wie gewohnt weiter.

      Für die spätere MQTT-Nutzung muss das zenSDK-Skript dann entsprechend angepasst werden

      Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

      paul53P 1 Antwort Letzte Antwort
      0
      • maxclaudiM maxclaudi

        @MP_Trixi sagte:

        @maxclaudi
        Hi, ja mein SF800Pro2 hat einen Aufkleber mit QR Code und SN

        Dankeschön!

        Bitte noch mehr Leute – gerne auch von anderen Geräten – kurz bestätigen: Es geht mir rein darum, ob die Seriennummer gut ersichtlich physisch am Gehäuse vorhanden ist.

        Verstehe ich das richtig? Du hast nun im Gerät das MQTT-Cloudziel auf einen lokalen Broker umgebogen, der auf deinem ioBroker läuft. Damit hast aktuell die richtigen Daten per Push in Echtzeit....

        fast Richtig.
        Die Cloud-URL wird im Gerät dauerhaft auf eine lokale IP oder DNS umgeschrieben, damit sich das Zendure-Gerät ausschließlich über diese Zieladresse mit dem eigenen Broker verbindet.
        Allerdings nur mit Mosquitto als Broker getestet.
        iob MQTT-Adapter ist als MQTT-Client mit dem mosquitto-broker verbunden.

        und machst „nur noch“ die reaktive Steuerung über dein hier thematisiertes Script?

        Entwickle eine Software, die zuerst einmal nur dazu dient, die Cloud-DNS auf eine beliebige URL umschreiben zu können.
        Wenn du mit "hier thematisiertes Script" das zenSDK-Steuerungs-Skript dieses Threads meinst:
        Die Steuerung über HTTP läuft darüber wie gewohnt weiter.

        Für die spätere MQTT-Nutzung muss das zenSDK-Skript dann entsprechend angepasst werden

        paul53P Offline
        paul53P Offline
        paul53
        schrieb zuletzt editiert von
        #456

        @maxclaudi [sagte]: Die Cloud-URL wird im Gerät dauerhaft auf eine lokale IP oder DNS umgeschrieben

        Du greifst in die Firmware ein?

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

        maxclaudiM 2 Antworten Letzte Antwort
        0
        • paul53P paul53

          @maxclaudi [sagte]: Die Cloud-URL wird im Gerät dauerhaft auf eine lokale IP oder DNS umgeschrieben

          Du greifst in die Firmware ein?

          maxclaudiM Offline
          maxclaudiM Offline
          maxclaudi
          schrieb zuletzt editiert von
          #457

          @paul53 sagte:

          @maxclaudi [sagte]: Die Cloud-URL wird im Gerät dauerhaft auf eine lokale IP oder DNS umgeschrieben

          Du greifst in die Firmware ein?

          Nein, ich greife nicht in die Firmware ein.

          Es wird nichts modifiziert. Die originale Firmware von Zendure bleibt zu 100 % unangetastet.

          Ich nutze lediglich die standardmäßigen Bluetooth-Befehle, die die Firmware von Haus aus bereitstellt.

          Das Skript verhält sich für das Gerät genau so wie die originale App, greift auf die Konfigurations-Variablen im Speicher zu und überschreibt dort schlicht den Eintrag für die Cloud-URL mit der IP eines eigenen lokalen Brokers.

          Es funktioniert quasi wie eine zusätzliche Länderauswahl, bei der man sich einfach mit einem anderen Server verbindet. Das muss die App/Firmware von Haus aus anbieten, sonst wären die Geräte dauerhaft fest an ganz bestimmte AWS-Server gebunden ;-)

          Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

          1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @maxclaudi [sagte]: Die Cloud-URL wird im Gerät dauerhaft auf eine lokale IP oder DNS umgeschrieben

            Du greifst in die Firmware ein?

            maxclaudiM Offline
            maxclaudiM Offline
            maxclaudi
            schrieb zuletzt editiert von maxclaudi
            #458

            PS @paul53: ...könntest du mir bei der Gelegenheit kurz bestätigen, ob bei deinem Modell die Seriennummer physisch auf dem Gehäuse/Typenschild ablesbar ist? Wie gesagt, ich will die Nummer nicht wissen, nur ob sie bei dir draufklebt. Danke!

            Beispiele:

            • HAB5MCADH280002
            • FED3MCDHA320002

            Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

            paul53P 1 Antwort Letzte Antwort
            0
            • maxclaudiM maxclaudi

              PS @paul53: ...könntest du mir bei der Gelegenheit kurz bestätigen, ob bei deinem Modell die Seriennummer physisch auf dem Gehäuse/Typenschild ablesbar ist? Wie gesagt, ich will die Nummer nicht wissen, nur ob sie bei dir draufklebt. Danke!

              Beispiele:

              • HAB5MCADH280002
              • FED3MCDHA320002
              paul53P Offline
              paul53P Offline
              paul53
              schrieb zuletzt editiert von paul53
              #459

              @maxclaudi [sagte]: Seriennummer physisch auf dem Gehäuse/Typenschild ablesbar ist?

              Ja. Wozu ist das wichtig?

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

              maxclaudiM 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @maxclaudi [sagte]: Seriennummer physisch auf dem Gehäuse/Typenschild ablesbar ist?

                Ja. Wozu ist das wichtig?

                maxclaudiM Offline
                maxclaudiM Offline
                maxclaudi
                schrieb zuletzt editiert von
                #460

                @paul53 sagte:
                Ja.

                Dankeschön.

                Wozu ist das wichtig?

                Für meine Software.

                Wenn jemand mehrere Geräte im Haus hat, muss man beim Starten des Tools natürlich das richtige Gerät auswählen können.

                Zwar wird beim Bluetooth-Scan die BT-MAC-Adresse und der Bluetooth-Name des Geräts angezeigt – als Entwickler weiß man damit schnell, was zu wählen ist.
                Für den normalen Anwender ist das aber oft kryptisch.

                Die Software soll eine sichere, einfache und für jeden verständliche Möglichkeit bieten, das gewünschte Gerät anhand der Seriennummer eindeutig zu identifizieren, bevor man es umschreibt.

                Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                1 Antwort Letzte Antwort
                0
                • maxclaudiM maxclaudi

                  @Daniel-8 sagte:
                  Also noch schneller per ZenSDk wenn er von der cloud getrennt ist?

                  Ja, man kann aussuchen, ob man zenSDK verwendet oder reines MQTT. Wobei MQTT zu bevorzugen wäre, weil die Daten sofort und nur wenn nötig automatisch vom Gerät published werden.

                  Was meinst du mit sofort? Das heißt wenn er noch mit der cloud verbunden ist, rechnet er den soc falsch?

                  Sofort bedeutet sofort ;-)

                  Sobald das Gerät den lokalen Broker als Cloud-Broker akzeptiert, gibt es keinen Zendure-Cloud-Broker-Client mehr, der dazwischenfunkt.
                  So werden (und können) keine Befehle an das Zendure-Gerät gesendet werden, die man nicht möchte.

                  Falsch berechnet wird von der Firmware nichts. Aber die Cloud hat die Werte in der Vergangenheit fehlerhaft korrigiert und auch diverse Einstellungen einfach überschrieben.
                  Lokal entscheidet man das eigenverantwortlich.
                  Die Firmware selbst ist m. M. n. gut genug und reagiert selbstständig auf z. B. kritische Wärme.

                  Sobald man den Cloud-Zwang nimmt, läuft das System genau so, wie es von Anfang an hätte laufen sollen.

                  Das Ganze umzusetzen war alles andere als einfach, und ich muss an der Software definitiv noch weiterarbeiten... aber das wird schon

                  Was meinst du denn mit weiterarbeiten an der Software? Wo hackt es noch?

                  Es hakt nicht. Zu viel zum Schreiben. Ich arbeite z. Z. jeden Tag mehr als 12 Stunden an der Protokoll-Analyse und an weiterem Code.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb zuletzt editiert von paul53
                  #461

                  @maxclaudi sagte: Falsch berechnet wird von der Firmware nichts.

                  Das kann ich nicht bestätigen.
                  Ich betreibe den SF 800 Pro 2 ohne PV als reine Notstromlösung. In diesem Fall ist die Berechnung des SoC "völlig daneben".
                  Folgende Werte des BMS sind ab ca. 16 Stunden nach 100-%-Kalibrierung etwa 3 Tage lang konstant:

                  SF800Pro2BMS.JPG

                  Danach sinkt die Spannung langsam, aber der SoC bleibt weiterhin auf 100 %. Die Batterie wird mit etwa 0,2 A entladen (Selbstentladung / BMS?). Die folgenden DP-Werte passen nicht:

                  • state: Müsste 2 oder 0 sein, da die Batterie nicht geladen, sondern entladen wird, wie man an der Spannung sieht.
                  • batcur: Das Vorzeichen müsste negativ sein

                  "socLevel" wird anscheinend mittels "batCur" berechnet, was erklärt, dass nach Beendigung der Ladung mit "socSet" = 85 % der SoC weiter um jeweils 1 % alle 2 Stunden steigt anstatt mit dieser Rate zu sinken.

                  Anmerkung: Ich habe den SF per Router vom Internet abgekoppelt.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                  maxclaudiM 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @maxclaudi sagte: Falsch berechnet wird von der Firmware nichts.

                    Das kann ich nicht bestätigen.
                    Ich betreibe den SF 800 Pro 2 ohne PV als reine Notstromlösung. In diesem Fall ist die Berechnung des SoC "völlig daneben".
                    Folgende Werte des BMS sind ab ca. 16 Stunden nach 100-%-Kalibrierung etwa 3 Tage lang konstant:

                    SF800Pro2BMS.JPG

                    Danach sinkt die Spannung langsam, aber der SoC bleibt weiterhin auf 100 %. Die Batterie wird mit etwa 0,2 A entladen (Selbstentladung / BMS?). Die folgenden DP-Werte passen nicht:

                    • state: Müsste 2 oder 0 sein, da die Batterie nicht geladen, sondern entladen wird, wie man an der Spannung sieht.
                    • batcur: Das Vorzeichen müsste negativ sein

                    "socLevel" wird anscheinend mittels "batCur" berechnet, was erklärt, dass nach Beendigung der Ladung mit "socSet" = 85 % der SoC weiter um jeweils 1 % alle 2 Stunden steigt anstatt mit dieser Rate zu sinken.

                    Anmerkung: Ich habe den SF per Router vom Internet abgekoppelt.

                    maxclaudiM Offline
                    maxclaudiM Offline
                    maxclaudi
                    schrieb zuletzt editiert von maxclaudi
                    #462

                    @paul53
                    Bin bei SoC kein Erbsenzähler ;-)
                    Der SoC (State of Charge) ist letztlich immer ein Schätzwert und funktioniert bei keinem PV-System perfekt.

                    Zudem muss man die Zellen regelmäßig vollpacken "grillen" – also auf 100 % laden –, damit das BMS die Zellen balancieren kann.

                    Selbst in diesem Bereich schützt einen Zendure recht gut, da die angezeigten 100 % in der Realität nicht die absoluten Belastungsgrenzen der Zellen sind.

                    Das lässt sich recht gut an der Spannung (Voltage) ablesen – vorausgesetzt, die Messwerte stimmen.
                    Jedenfalls sind reale Messwerte immer noch genauer als reine SoC-Schätzungen.

                    Um die Anzeige wirklich zu kalibrieren, müsste man das System eigentlich regelmäßig so tief wie möglich entladen und wieder komplett vollmachen.

                    Nur so passen die SoC-Werte "halbwegs".

                    Soweit ich gelesen habe und meine mich erinnern zu können, betreibst du deine Batterie(n) ja sehr schonend im entspannten Wohlfühlbereich zwischen 20 % und 85 %.
                    Das ist für die Lebensdauer der Zellen absolut top!
                    Allerdings bedeutet das im Umkehrschluss leider auch, dass du den angezeigten SoC-Werten in diesem Korridor noch weniger vertrauen kannst.

                    PS:
                    Dass die Werte konstant bleiben und viel schief geht liegt vermutlich daran, dass keine Inet-Verbindung besteht - dann steigt zenSDK nach und nach aus.
                    Es wird am Ende zu alle xx sek versucht den Broker zu erreichen. Gibt es keinen...

                    Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                    maxclaudiM paul53P 2 Antworten Letzte Antwort
                    0
                    • maxclaudiM maxclaudi

                      @paul53
                      Bin bei SoC kein Erbsenzähler ;-)
                      Der SoC (State of Charge) ist letztlich immer ein Schätzwert und funktioniert bei keinem PV-System perfekt.

                      Zudem muss man die Zellen regelmäßig vollpacken "grillen" – also auf 100 % laden –, damit das BMS die Zellen balancieren kann.

                      Selbst in diesem Bereich schützt einen Zendure recht gut, da die angezeigten 100 % in der Realität nicht die absoluten Belastungsgrenzen der Zellen sind.

                      Das lässt sich recht gut an der Spannung (Voltage) ablesen – vorausgesetzt, die Messwerte stimmen.
                      Jedenfalls sind reale Messwerte immer noch genauer als reine SoC-Schätzungen.

                      Um die Anzeige wirklich zu kalibrieren, müsste man das System eigentlich regelmäßig so tief wie möglich entladen und wieder komplett vollmachen.

                      Nur so passen die SoC-Werte "halbwegs".

                      Soweit ich gelesen habe und meine mich erinnern zu können, betreibst du deine Batterie(n) ja sehr schonend im entspannten Wohlfühlbereich zwischen 20 % und 85 %.
                      Das ist für die Lebensdauer der Zellen absolut top!
                      Allerdings bedeutet das im Umkehrschluss leider auch, dass du den angezeigten SoC-Werten in diesem Korridor noch weniger vertrauen kannst.

                      PS:
                      Dass die Werte konstant bleiben und viel schief geht liegt vermutlich daran, dass keine Inet-Verbindung besteht - dann steigt zenSDK nach und nach aus.
                      Es wird am Ende zu alle xx sek versucht den Broker zu erreichen. Gibt es keinen...

                      maxclaudiM Offline
                      maxclaudiM Offline
                      maxclaudi
                      schrieb zuletzt editiert von maxclaudi
                      #463

                      doppelpost -sorry bin am arbeiten

                      Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                      1 Antwort Letzte Antwort
                      0
                      • maxclaudiM maxclaudi

                        @paul53
                        Bin bei SoC kein Erbsenzähler ;-)
                        Der SoC (State of Charge) ist letztlich immer ein Schätzwert und funktioniert bei keinem PV-System perfekt.

                        Zudem muss man die Zellen regelmäßig vollpacken "grillen" – also auf 100 % laden –, damit das BMS die Zellen balancieren kann.

                        Selbst in diesem Bereich schützt einen Zendure recht gut, da die angezeigten 100 % in der Realität nicht die absoluten Belastungsgrenzen der Zellen sind.

                        Das lässt sich recht gut an der Spannung (Voltage) ablesen – vorausgesetzt, die Messwerte stimmen.
                        Jedenfalls sind reale Messwerte immer noch genauer als reine SoC-Schätzungen.

                        Um die Anzeige wirklich zu kalibrieren, müsste man das System eigentlich regelmäßig so tief wie möglich entladen und wieder komplett vollmachen.

                        Nur so passen die SoC-Werte "halbwegs".

                        Soweit ich gelesen habe und meine mich erinnern zu können, betreibst du deine Batterie(n) ja sehr schonend im entspannten Wohlfühlbereich zwischen 20 % und 85 %.
                        Das ist für die Lebensdauer der Zellen absolut top!
                        Allerdings bedeutet das im Umkehrschluss leider auch, dass du den angezeigten SoC-Werten in diesem Korridor noch weniger vertrauen kannst.

                        PS:
                        Dass die Werte konstant bleiben und viel schief geht liegt vermutlich daran, dass keine Inet-Verbindung besteht - dann steigt zenSDK nach und nach aus.
                        Es wird am Ende zu alle xx sek versucht den Broker zu erreichen. Gibt es keinen...

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb zuletzt editiert von paul53
                        #464

                        @maxclaudi [sagte]: keine Inet-Verbindung besteht - dann steigt zenSDK nach und nach aus.

                        Wie kommst du darauf?
                        In den ersten Wochen bestand eine Internet-Verbindung. Das Verhalten war gleich.

                        @maxclaudi sagte:

                        betreibst du deine Batterie(n) ja sehr schonend im entspannten Wohlfühlbereich zwischen 20 % und 85 %.

                        Das mache ich aufgrund der falschen SoC-Berechnung nicht mehr.
                        Per Skript schalte ich bei Erreichen von "minVol" <= 3,28 V den "acMode" auf Entladen. Wenn dann der SoC auf 96 % gefallen ist, schalte ich wieder um auf Laden mit "socSet" = 100 %. So sieht das im Chart aus:

                        SF800_Chart.JPG

                        Das Skript:

                        const idNetz = 'alias.0.USV.Netz'/*gridState - Stromnetz*/;
                        const idSoc  = 'alias.0.USV.SOC'/*electricLevel - SoC*/;
                        const idMinV = 'alias.0.USV.minVol'/*Min cell voltage*/;
                        const idDown = 'alias.0.USV.shutdown'/*PVE runter fahren*/;
                        const idMode = 'alias.0.USV.acMode'/*acMode - 1: in charge, 2: out discharge*/;
                        
                        function shutdown(text) {
                            if(!getState(idNetz).val) {
                                sendTo('email', {
                                    subject: 'ioBroker PVE',
                                    text: text + '. PVE wird runter gefahren!'
                                });
                                setState(idDown, true); // PVE runter fahren   
                            }
                        }
                        
                        on(idSoc, function(dp) { // electricLevel
                            if(dp.state.val < 30 && dp.oldState.val >= 30 ) {
                                 shutdown('SoC < 30 %');
                            }
                            if(dp.state.val <= 96  && getState(idMode).val == 2) {
                                setState(idMode, 1); // Laden
                            }
                        });
                        
                        on(idMinV, function(dp) { // minVol
                            if(dp.state.val < 3.2 && dp.oldState.val >= 3.2) {
                                shutdown('min. Zellspannung < 3,2 V');
                            }
                            if(dp.state.val <= 3.28 && dp.oldState.val > 3.28 && getState(idNetz).val) {
                                setState(idMode, 2); // Entladen
                                sendTo('email', {
                                    subject: 'ioBroker USV',
                                    text: 'min. Zellspannung <= 3,28 V. Batterie wird entladen bis SoC 96 %.'
                                });
                            }    
                        });
                        
                        on(idNetz, function(dp) {
                            sendTo('email', {
                                subject: 'ioBroker Stromnetz',
                                text: 'Netz ' + (dp.state.val ? 'wieder vorhanden' : 'ausgefallen!')
                            });    
                        });
                        

                        Die Firmware beendet die Ladung bei "maxVol" von 3,57 V.

                        Die Firmware hat auch einen internen Tiefentladeschutz. Das habe ich beim Entladen beobachtet, als der SoC abrupt von 75 % auf 5 % fiel. Das anschließende Laden zeigte, dass die Batterie tatsächlich entladen war.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                        maxclaudiM 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @maxclaudi [sagte]: keine Inet-Verbindung besteht - dann steigt zenSDK nach und nach aus.

                          Wie kommst du darauf?
                          In den ersten Wochen bestand eine Internet-Verbindung. Das Verhalten war gleich.

                          @maxclaudi sagte:

                          betreibst du deine Batterie(n) ja sehr schonend im entspannten Wohlfühlbereich zwischen 20 % und 85 %.

                          Das mache ich aufgrund der falschen SoC-Berechnung nicht mehr.
                          Per Skript schalte ich bei Erreichen von "minVol" <= 3,28 V den "acMode" auf Entladen. Wenn dann der SoC auf 96 % gefallen ist, schalte ich wieder um auf Laden mit "socSet" = 100 %. So sieht das im Chart aus:

                          SF800_Chart.JPG

                          Das Skript:

                          const idNetz = 'alias.0.USV.Netz'/*gridState - Stromnetz*/;
                          const idSoc  = 'alias.0.USV.SOC'/*electricLevel - SoC*/;
                          const idMinV = 'alias.0.USV.minVol'/*Min cell voltage*/;
                          const idDown = 'alias.0.USV.shutdown'/*PVE runter fahren*/;
                          const idMode = 'alias.0.USV.acMode'/*acMode - 1: in charge, 2: out discharge*/;
                          
                          function shutdown(text) {
                              if(!getState(idNetz).val) {
                                  sendTo('email', {
                                      subject: 'ioBroker PVE',
                                      text: text + '. PVE wird runter gefahren!'
                                  });
                                  setState(idDown, true); // PVE runter fahren   
                              }
                          }
                          
                          on(idSoc, function(dp) { // electricLevel
                              if(dp.state.val < 30 && dp.oldState.val >= 30 ) {
                                   shutdown('SoC < 30 %');
                              }
                              if(dp.state.val <= 96  && getState(idMode).val == 2) {
                                  setState(idMode, 1); // Laden
                              }
                          });
                          
                          on(idMinV, function(dp) { // minVol
                              if(dp.state.val < 3.2 && dp.oldState.val >= 3.2) {
                                  shutdown('min. Zellspannung < 3,2 V');
                              }
                              if(dp.state.val <= 3.28 && dp.oldState.val > 3.28 && getState(idNetz).val) {
                                  setState(idMode, 2); // Entladen
                                  sendTo('email', {
                                      subject: 'ioBroker USV',
                                      text: 'min. Zellspannung <= 3,28 V. Batterie wird entladen bis SoC 96 %.'
                                  });
                              }    
                          });
                          
                          on(idNetz, function(dp) {
                              sendTo('email', {
                                  subject: 'ioBroker Stromnetz',
                                  text: 'Netz ' + (dp.state.val ? 'wieder vorhanden' : 'ausgefallen!')
                              });    
                          });
                          

                          Die Firmware beendet die Ladung bei "maxVol" von 3,57 V.

                          Die Firmware hat auch einen internen Tiefentladeschutz. Das habe ich beim Entladen beobachtet, als der SoC abrupt von 75 % auf 5 % fiel. Das anschließende Laden zeigte, dass die Batterie tatsächlich entladen war.

                          maxclaudiM Offline
                          maxclaudiM Offline
                          maxclaudi
                          schrieb zuletzt editiert von maxclaudi
                          #465

                          @paul53 sagte:
                          Wie kommst du darauf?

                          tcpdump, wireshark, Analyse, Erfahrung.
                          Gut, wenn es bei Deiner Firmware nicht so ist.

                          Per Skript schalte ich bei Erreichen von "minVol" <= 3,28 V den "acMode" auf Entladen. Wenn dann der SoC auf 96 % gefallen ist, schalte ich wieder um auf Laden mit "socSet" = 100 %.

                          ?
                          Sorry keine Zeit, muss weiter analysieren, prog. und testen... solange ich noch vor Ort bin.

                          PS: ich (ent-)lade ausschließlich anhand von Messwerten. Limits werden auch nicht von SoC bestimmt nur Volt.

                          @paul53 sagte
                          Die Firmware beendet die Ladung bei "maxVol" von 3,57 V.

                          bei meinen Batterien und Geräten nicht: 3,4xV.

                          Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                          Bernd1967B 1 Antwort Letzte Antwort
                          0
                          • maxclaudiM maxclaudi

                            @paul53 sagte:
                            Wie kommst du darauf?

                            tcpdump, wireshark, Analyse, Erfahrung.
                            Gut, wenn es bei Deiner Firmware nicht so ist.

                            Per Skript schalte ich bei Erreichen von "minVol" <= 3,28 V den "acMode" auf Entladen. Wenn dann der SoC auf 96 % gefallen ist, schalte ich wieder um auf Laden mit "socSet" = 100 %.

                            ?
                            Sorry keine Zeit, muss weiter analysieren, prog. und testen... solange ich noch vor Ort bin.

                            PS: ich (ent-)lade ausschließlich anhand von Messwerten. Limits werden auch nicht von SoC bestimmt nur Volt.

                            @paul53 sagte
                            Die Firmware beendet die Ladung bei "maxVol" von 3,57 V.

                            bei meinen Batterien und Geräten nicht: 3,4xV.

                            Bernd1967B Offline
                            Bernd1967B Offline
                            Bernd1967
                            schrieb zuletzt editiert von Bernd1967
                            #466

                            @paul53 sagte
                            Die Firmware beendet die Ladung bei "maxVol" von 3,57 V.

                            @maxclaudi sagte:
                            bei meinen Batterien und Geräten nicht: 3,4xV.

                            Bei meinen Hyper2000 und 800Pro2 hab ich Werte von 3.4xV bis 3.6xV, also immer verschieden.Habe als Typ AB2000S, AB2000X und AB2000L.
                            Ich meine mal gelesen zu haben das Zendure die Ladespannung und die Kapazität überwacht.
                            So ne Art Mischkalkulation, je nachdem was zuerst eintritt wird die Ladung gestoppt.

                            1 Antwort Letzte Antwort
                            0
                            • maxclaudiM maxclaudi

                              @Daniel-8 sagte:
                              Also noch schneller per ZenSDk wenn er von der cloud getrennt ist?

                              Ja, man kann aussuchen, ob man zenSDK verwendet oder reines MQTT. Wobei MQTT zu bevorzugen wäre, weil die Daten sofort und nur wenn nötig automatisch vom Gerät published werden.

                              Was meinst du mit sofort? Das heißt wenn er noch mit der cloud verbunden ist, rechnet er den soc falsch?

                              Sofort bedeutet sofort ;-)

                              Sobald das Gerät den lokalen Broker als Cloud-Broker akzeptiert, gibt es keinen Zendure-Cloud-Broker-Client mehr, der dazwischenfunkt.
                              So werden (und können) keine Befehle an das Zendure-Gerät gesendet werden, die man nicht möchte.

                              Falsch berechnet wird von der Firmware nichts. Aber die Cloud hat die Werte in der Vergangenheit fehlerhaft korrigiert und auch diverse Einstellungen einfach überschrieben.
                              Lokal entscheidet man das eigenverantwortlich.
                              Die Firmware selbst ist m. M. n. gut genug und reagiert selbstständig auf z. B. kritische Wärme.

                              Sobald man den Cloud-Zwang nimmt, läuft das System genau so, wie es von Anfang an hätte laufen sollen.

                              Das Ganze umzusetzen war alles andere als einfach, und ich muss an der Software definitiv noch weiterarbeiten... aber das wird schon

                              Was meinst du denn mit weiterarbeiten an der Software? Wo hackt es noch?

                              Es hakt nicht. Zu viel zum Schreiben. Ich arbeite z. Z. jeden Tag mehr als 12 Stunden an der Protokoll-Analyse und an weiterem Code.

                              D Online
                              D Online
                              Daniel 8
                              schrieb zuletzt editiert von
                              #467

                              @maxclaudi sagte:

                              @Daniel-8 sagte:
                              Also noch schneller per ZenSDk wenn er von der cloud getrennt ist?

                              Ja, man kann aussuchen, ob man zenSDK verwendet oder reines MQTT. Wobei MQTT zu bevorzugen wäre, weil die Daten sofort und nur wenn nötig automatisch vom Gerät published werden.

                              Das heißt ich bräuchte dein zenSDK script gar nicht mehr sonder würde wieder alles über den MQTT Broker von iob machen. Wobei du ja geschrieben hast das du nicht weißt ob das funktioniert. Wollte nicht noch zusätzlich was anderes aufbauen.

                              Die Firmware selbst ist m. M. n. gut genug und reagiert selbstständig auf z. B. kritische Wärme.

                              Ja das denke ich auch das die Firmwar selbst gut genug ist. Es könnte ja auch mal die Cloud ausfallen und dann müssen die Geräte ja auch reagieren bevor etwas passiert

                              Solarflow 800 Pro mit 1,3 Kwp / Iobroker / Homematic / Shellys / Mediola / Intertechno

                              maxclaudiM 1 Antwort Letzte Antwort
                              0
                              • D Daniel 8

                                @maxclaudi sagte:

                                @Daniel-8 sagte:
                                Also noch schneller per ZenSDk wenn er von der cloud getrennt ist?

                                Ja, man kann aussuchen, ob man zenSDK verwendet oder reines MQTT. Wobei MQTT zu bevorzugen wäre, weil die Daten sofort und nur wenn nötig automatisch vom Gerät published werden.

                                Das heißt ich bräuchte dein zenSDK script gar nicht mehr sonder würde wieder alles über den MQTT Broker von iob machen. Wobei du ja geschrieben hast das du nicht weißt ob das funktioniert. Wollte nicht noch zusätzlich was anderes aufbauen.

                                Die Firmware selbst ist m. M. n. gut genug und reagiert selbstständig auf z. B. kritische Wärme.

                                Ja das denke ich auch das die Firmwar selbst gut genug ist. Es könnte ja auch mal die Cloud ausfallen und dann müssen die Geräte ja auch reagieren bevor etwas passiert

                                maxclaudiM Offline
                                maxclaudiM Offline
                                maxclaudi
                                schrieb zuletzt editiert von maxclaudi
                                #468

                                @Daniel-8 sagte:
                                Das heißt ich bräuchte dein zenSDK script gar nicht mehr sonder würde wieder alles über den MQTT Broker von iob machen. Wobei du ja geschrieben hast das du nicht weißt ob das funktioniert. Wollte nicht noch zusätzlich was anderes aufbauen.

                                In dem Fall würde ich das zenSDK-Script zur MQTT-Steuerung anpassen.
                                Habe ich schon für einen HUB2000.
                                Einfach konfigurieren, Struktur und Datenpunkte bleiben identisch bzw. werden noch mehr und zusätzlich automatisch neu angelegt.

                                Triggern statt HTTP GET pollen. Statt POST leicht verändertes JSON erzeugen und an Datenpunkte des MQTT-Adapters übergeben.

                                PS: Es geht beides.
                                In meinen Tests läuft zenSDK weiter mit dem 1600AC+

                                Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                467

                                Online

                                33.0k

                                Benutzer

                                83.6k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2026
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe