Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Tester
  4. Test Adapter Zendure Solarflow

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Test Adapter Zendure Solarflow

Geplant Angeheftet Gesperrt Verschoben Tester
2.1k Beiträge 108 Kommentatoren 943.7k Aufrufe 104 Watching
  • Ä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.
  • L lesiflo

    Nein gibt es nicht.

    B Online
    B Online
    Berny-K
    schrieb am zuletzt editiert von
    #2128

    @lesiflo Heißt also, damit muss man leben, oder?

    1 Antwort Letzte Antwort
    0
    • L Online
      L Online
      lesiflo
      Most Active
      schrieb am zuletzt editiert von
      #2129

      Solange der Akku immer mal wieder auf 100 geladen wird passiert das eigentlich nicht. Kommt nicht so oft vor.

      B 1 Antwort Letzte Antwort
      0
      • L lesiflo

        Solange der Akku immer mal wieder auf 100 geladen wird passiert das eigentlich nicht. Kommt nicht so oft vor.

        B Online
        B Online
        Berny-K
        schrieb am zuletzt editiert von
        #2130

        @lesiflo Herzlichen Dank für die Info!

        1 Antwort Letzte Antwort
        0
        • Murphy 0M Online
          Murphy 0M Online
          Murphy 0
          schrieb am zuletzt editiert von
          #2131

          Heute habe ich meinen Raspberry Pi 5 mit Trixie aufgesetzt und den Adapter installiert.
          Nach kurzer Zeit schmiert der Hyper ab, lässt sich nicht mehr steuern und zeigt 25 bis 30 Watt gleichzeitig bei gridInput und outputHome.
          Nach dem Zurücksetzten des Hypers nach paar Minuten wieder das gleiche.

          Gibt es da bekannte Probleme mit Raspi 5 und Trixie?

          Dann nach dem nächsten Reset und Wechsel auf die alte Version mit Bookworm läuft seit Std. wieder alles normal.

          nograxN 1 Antwort Letzte Antwort
          0
          • L Online
            L Online
            lesiflo
            Most Active
            schrieb am zuletzt editiert von
            #2132

            Bei mir läuft Trixi auch, allerdings unter Proxmox und auf einem Mini-PC. Da habe ich so welche Probleme noch nicht gehabt. Hab zwei Hyper.

            1 Antwort Letzte Antwort
            0
            • Murphy 0M Murphy 0

              Heute habe ich meinen Raspberry Pi 5 mit Trixie aufgesetzt und den Adapter installiert.
              Nach kurzer Zeit schmiert der Hyper ab, lässt sich nicht mehr steuern und zeigt 25 bis 30 Watt gleichzeitig bei gridInput und outputHome.
              Nach dem Zurücksetzten des Hypers nach paar Minuten wieder das gleiche.

              Gibt es da bekannte Probleme mit Raspi 5 und Trixie?

              Dann nach dem nächsten Reset und Wechsel auf die alte Version mit Bookworm läuft seit Std. wieder alles normal.

              nograxN Offline
              nograxN Offline
              nograx
              Developer
              schrieb am zuletzt editiert von
              #2133

              @Murphy-0 Wie steuerst du deinen Hyper denn? Per Script/Blockly?

              Kamen da noch aktuelle Daten rein? Der "Freeze" der Hyper der sporadisch noch auftritt (und angeblich per Firmware Update behoben werden soll) tritt eigentlich so auf das das Gerät dann komplett "offline" ist.

              Das klingt für mich eher so das deine Javascript Instanz da Probleme macht. Hast du nach Update auf Trixie auch node.js etc. aktualisiert?

              1 Antwort Letzte Antwort
              0
              • S Online
                S Online
                Schimi
                schrieb am zuletzt editiert von
                #2134

                zur info... ich bin komplett aktuell (Trixie und nodejs) und habe keine Probleme ... aber auch einen AC2400

                1 Antwort Letzte Antwort
                0
                • Murphy 0M Online
                  Murphy 0M Online
                  Murphy 0
                  schrieb am zuletzt editiert von Murphy 0
                  #2135

                  @nograx
                  Auf Trixie habe ich die aktuelle Nodejs installiert.
                  Die openjdk-21-headless habe ich für openhab installiert. Die ist nicht aktuell, aber doch für iobroker nicht von Bedeutung?

                  Brauche ich für openHAB um die Version 5 zu installieren.
                  Da gibts den aktuellen genialen Mercedes Adapter womit ich das Laden vom EQA automatisch starten kann wenn die Zendure Akkus voll sind.

                  Ist halt komisch dass nach fast 10 Monaten plötzlich Probleme auftreten.
                  Denke nicht dass es am Adapter liegt, hatte die stable installiert und dann auch die 2.04 probiert.
                  Die benutze ich auf Bookworm immer noch weil einfach problemlos mit dem Hyper.

                  Habe jetzt meinen Raspi4 für Openhab genommen. War bisher für Testzwecke da.

                  1 Antwort Letzte Antwort
                  0
                  • Murphy 0M Online
                    Murphy 0M Online
                    Murphy 0
                    schrieb am zuletzt editiert von
                    #2136

                    War da nicht schon mal was mit 29 Watt gridInput wenn der Hyper noch in der Cloud ist?
                    Es gab doch den Verdacht, dass die Cloud dem Adapter dazwischen funkt.

                    Habe jetzt extra nochmal kontrolliert, mein Hyper ist offline und sendet an den Mosquitto.

                    Vielleicht wird ja meine Info irgendwann nochmal aktuell. Es werden sicher in Zukunft mehr Leute auf Trixie umsteigen.

                    1 Antwort Letzte Antwort
                    0
                    • nograxN Offline
                      nograxN Offline
                      nograx
                      Developer
                      schrieb am zuletzt editiert von
                      #2137

                      29-30W könnten auf den Eigenverbrauch schließen. Vor allem wenn einer der Wechselrichter noch aktiv ist (der schaltet wohl auch bei Eingang/Ausgang = 0 nicht ab).

                      1 Antwort Letzte Antwort
                      0
                      • F Offline
                        F Offline
                        Freaknet
                        schrieb zuletzt editiert von
                        #2138

                        Hallo,
                        ich war lange Zeit aktiver stiller Mitleser und bin aktuell soweit mir einen SF800pro zu kaufen.

                        Mein Ziel ist es, über den AC-Lade-Modus meinen Überschuss des BKW damit aufzufangen und in den Akku zu pumpen. Meine PV-Module kann ich nicht direkt anschließen. Daher kann ich nur den AC-Lademodus verwenden.

                        Meine Frage dazu an euch, hat da jemand Erfahrungen damit?
                        Ich lese meinen Netzbezug/Netzeinspeisung über einen SML Lesekopf aus.

                        Ziel ist es die Energie zu speichern sobald negativer Netzbezug (Einspeisung) erkannt wird über den SML Lesekopf. Über die App soll das ja gehen aber nur mit speziellen Leseköpfen z.B Shelly 3EM Pro oder den DO Zähler von Zensur, oder?

                        Kann ich das über mqtt und einem Script mit meinem Lesekopf bewerkstelligen?
                        Welche datenpunkte des Akku müsste ich da in einem Script bzw. Blockly ansteuern?
                        Entladen soll er dann nur am Abend wenn keine Sonne mehr scheint.

                        Geht das überhaupt wie ich das plane? Will nicht unnötig eine Anschaffung tätigen wenn das nicht geht.

                        Danke schonmal für Tips oder Hilfestellung.

                        Grüße

                        L 1 Antwort Letzte Antwort
                        0
                        • F Online
                          F Online
                          Felli
                          schrieb zuletzt editiert von
                          #2139

                          Ja das sollte gehen sag ich mal. Ich selber mache im Grunde nichts anderes aber halt mit einem alten HUB1200 plus ACE1500 den ich für das Überschussladen nutze. Hatte das Anfangs mit Peters Adapter und NodeRed gemacht, dann mit einem ausgewachsenen Javascript, welches ich seit einiger Zeit in einen für mich passenden Adapter gewandelt habe. Dieser macht genau das, tagsüber via Überschuss plus den beiden Platten am HUB den Akku laden bis er voll ist und dann wird entladen freigegeben. Die Entladung wiederum regelt dann eine OpenDTUonBattery also Vollautomat.

                          Der Adapter kann genau wie mein Script noch ein paar andere Sachen, z.B. Notladen. Zum abschalten nutze ich minVol und nicht den SOC, bin da bisher gut mit gefahren.

                          Das Script liegt als Archiv in einer GitHub Repo, falls Interesse besteht. Ob der SF800Pro sich vollends mit dem Adapter steuern lässt, müssen andere beantworten aber vom mitlesen meine ich ja.

                          Es gibt aber auch noch andere Systeme, die sich z.B. mit einem Tasmota SML Kopf und den Ottelo Scripts direkt verbinden und das alles autonom machen, nur so am Rande.

                          Hier das Script:

                          https://github.com/Felliglanz/Zendure-Solarflow-Script-vereinfacht-

                          Viel Erfolg 👌🏼

                          LG
                          Sven

                          1 Antwort Letzte Antwort
                          0
                          • Murphy 0M Online
                            Murphy 0M Online
                            Murphy 0
                            schrieb zuletzt editiert von Murphy 0
                            #2140

                            Ich mache das mit dem Adapter und einer Steuerung über Blockly.
                            Für Leute ohne JS Kenntnisse wie mich eine problemlose Lösung.

                            Ich habe mir Szenarien erstellt.

                            1. Sommermodus. Laden und Einspeisen je nach Bedarf und Akkustand.
                            2. Übergangszeit. Tagsüber Laden, Nachts Einspeisen.
                            3. Winter. Laden bis der Akku voll ist über mehrere Tage, dann Nachts Einspeisen. (Wegen Akkukalibrierung.

                            Als Ladestop und Entladestop benutze ich die min und max Volt der Akkus.

                            Der Einstieg in die Materie war für mich Dank @lesiflo möglich der sein Skript zur Verfügung gestellt hat und mit Ratschlägen immer geholfen hat.

                            https://forum.iobroker.net/topic/80764/script-zum-laden-entladen-von-zendure-solarflow

                            Nachtrag: Mein Setup ist sehr ähnlich deinem.
                            Hyper 2000 nur über AC komplett offline betrieben.
                            An der Messstelle habe ich Shelly em3.
                            Aber alles was Daten an mqtt sendet kann man offline benutzen.

                            B 1 Antwort Letzte Antwort
                            0
                            • F Freaknet

                              Hallo,
                              ich war lange Zeit aktiver stiller Mitleser und bin aktuell soweit mir einen SF800pro zu kaufen.

                              Mein Ziel ist es, über den AC-Lade-Modus meinen Überschuss des BKW damit aufzufangen und in den Akku zu pumpen. Meine PV-Module kann ich nicht direkt anschließen. Daher kann ich nur den AC-Lademodus verwenden.

                              Meine Frage dazu an euch, hat da jemand Erfahrungen damit?
                              Ich lese meinen Netzbezug/Netzeinspeisung über einen SML Lesekopf aus.

                              Ziel ist es die Energie zu speichern sobald negativer Netzbezug (Einspeisung) erkannt wird über den SML Lesekopf. Über die App soll das ja gehen aber nur mit speziellen Leseköpfen z.B Shelly 3EM Pro oder den DO Zähler von Zensur, oder?

                              Kann ich das über mqtt und einem Script mit meinem Lesekopf bewerkstelligen?
                              Welche datenpunkte des Akku müsste ich da in einem Script bzw. Blockly ansteuern?
                              Entladen soll er dann nur am Abend wenn keine Sonne mehr scheint.

                              Geht das überhaupt wie ich das plane? Will nicht unnötig eine Anschaffung tätigen wenn das nicht geht.

                              Danke schonmal für Tips oder Hilfestellung.

                              Grüße

                              L Online
                              L Online
                              lesiflo
                              Most Active
                              schrieb zuletzt editiert von
                              #2141

                              @Freaknet sagte in Test Adapter Zendure Solarflow:

                              Hallo,
                              ich war lange Zeit aktiver stiller Mitleser und bin aktuell soweit mir einen SF800pro zu kaufen.

                              Mein Ziel ist es, über den AC-Lade-Modus meinen Überschuss des BKW damit aufzufangen und in den Akku zu pumpen. Meine PV-Module kann ich nicht direkt anschließen. Daher kann ich nur den AC-Lademodus verwenden.

                              Meine Frage dazu an euch, hat da jemand Erfahrungen damit?
                              Ich lese meinen Netzbezug/Netzeinspeisung über einen SML Lesekopf aus.

                              Ziel ist es die Energie zu speichern sobald negativer Netzbezug (Einspeisung) erkannt wird über den SML Lesekopf. Über die App soll das ja gehen aber nur mit speziellen Leseköpfen z.B Shelly 3EM Pro oder den DO Zähler von Zensur, oder?

                              Kann ich das über mqtt und einem Script mit meinem Lesekopf bewerkstelligen?
                              Welche datenpunkte des Akku müsste ich da in einem Script bzw. Blockly ansteuern?
                              Entladen soll er dann nur am Abend wenn keine Sonne mehr scheint.

                              Geht das überhaupt wie ich das plane? Will nicht unnötig eine Anschaffung tätigen wenn das nicht geht.

                              Danke schonmal für Tips oder Hilfestellung.

                              Grüße

                              Hi, schau dir ja mal mein Blockly an was genau das macht. Link Text

                              1 Antwort Letzte Antwort
                              1
                              • Murphy 0M Murphy 0

                                Ich mache das mit dem Adapter und einer Steuerung über Blockly.
                                Für Leute ohne JS Kenntnisse wie mich eine problemlose Lösung.

                                Ich habe mir Szenarien erstellt.

                                1. Sommermodus. Laden und Einspeisen je nach Bedarf und Akkustand.
                                2. Übergangszeit. Tagsüber Laden, Nachts Einspeisen.
                                3. Winter. Laden bis der Akku voll ist über mehrere Tage, dann Nachts Einspeisen. (Wegen Akkukalibrierung.

                                Als Ladestop und Entladestop benutze ich die min und max Volt der Akkus.

                                Der Einstieg in die Materie war für mich Dank @lesiflo möglich der sein Skript zur Verfügung gestellt hat und mit Ratschlägen immer geholfen hat.

                                https://forum.iobroker.net/topic/80764/script-zum-laden-entladen-von-zendure-solarflow

                                Nachtrag: Mein Setup ist sehr ähnlich deinem.
                                Hyper 2000 nur über AC komplett offline betrieben.
                                An der Messstelle habe ich Shelly em3.
                                Aber alles was Daten an mqtt sendet kann man offline benutzen.

                                B Online
                                B Online
                                Berny-K
                                schrieb zuletzt editiert von
                                #2142

                                @Murphy-0 Guten Morgen, ich verwende auch das Blockly von Lesiflo als Basis für die Steuerung meines Solarflow 800 Pro und das funktioniert einwandfrei.
                                Deine 3 Szenarien finde ich recht interessant. Würdest du dein Blockly hierzu evtl. Teilen?

                                1 Antwort Letzte Antwort
                                0
                                • Murphy 0M Online
                                  Murphy 0M Online
                                  Murphy 0
                                  schrieb zuletzt editiert von
                                  #2143

                                  @berny-k
                                  ich hänge es mal an den skript Thread von Lesiflo mit dran.

                                  B 1 Antwort Letzte Antwort
                                  1
                                  • F Offline
                                    F Offline
                                    Freaknet
                                    schrieb zuletzt editiert von
                                    #2144

                                    Hey Leute,
                                    vielen lieben Dank für die Tipps und Hilfestellung.
                                    Das macht meine Kaufentscheidung leichter wenn das mit dem SF800pro so gut mit ioBroker, dem Adapter und MQTT funktioniert :-)

                                    Ich werde mir alles mal durchlesen und bei Bedarf nochmal darauf zurückkommen wenn der Akku dann angekommen ist und ich nicht weiterkomme.

                                    Mir war/ist es nur noch nicht klar, wie ich den Akku "offline" so steuern kann, dass er nur bei "Negativbezug" die Leistung aus dem Hausnetz abgreift und die überschüssige Leistung dann in den Akku lädt. In der Zendur-App sollte das ja gehen über einen Shelly 3EM (bzw. Emu) bzw. D0-Zähler. Bin aber ein Freund vom Datensammeln und visualisieren und daher wäre mir das ganze über MQTT natürlich lieber.

                                    @felli
                                    das mit dem Otello Script und einem "Shelly 3 EM Emu" ist wirklich cool, hatte ich so noch nicht am Schirm, habe nur ein "normales" SML-Script mit Tasmota am laufen um die Einspeisung, Zählerstand und akt. Verbrauch zu tracken. Aber das sollte ja dann mit MQTT über den Akku und einem Blockly/Script auch zum realisieren sein, oder?

                                    Danke nochmal für die Hilfe bis dahin.

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • F Freaknet

                                      Hey Leute,
                                      vielen lieben Dank für die Tipps und Hilfestellung.
                                      Das macht meine Kaufentscheidung leichter wenn das mit dem SF800pro so gut mit ioBroker, dem Adapter und MQTT funktioniert :-)

                                      Ich werde mir alles mal durchlesen und bei Bedarf nochmal darauf zurückkommen wenn der Akku dann angekommen ist und ich nicht weiterkomme.

                                      Mir war/ist es nur noch nicht klar, wie ich den Akku "offline" so steuern kann, dass er nur bei "Negativbezug" die Leistung aus dem Hausnetz abgreift und die überschüssige Leistung dann in den Akku lädt. In der Zendur-App sollte das ja gehen über einen Shelly 3EM (bzw. Emu) bzw. D0-Zähler. Bin aber ein Freund vom Datensammeln und visualisieren und daher wäre mir das ganze über MQTT natürlich lieber.

                                      @felli
                                      das mit dem Otello Script und einem "Shelly 3 EM Emu" ist wirklich cool, hatte ich so noch nicht am Schirm, habe nur ein "normales" SML-Script mit Tasmota am laufen um die Einspeisung, Zählerstand und akt. Verbrauch zu tracken. Aber das sollte ja dann mit MQTT über den Akku und einem Blockly/Script auch zum realisieren sein, oder?

                                      Danke nochmal für die Hilfe bis dahin.

                                      L Online
                                      L Online
                                      lesiflo
                                      Most Active
                                      schrieb zuletzt editiert von
                                      #2145

                                      @Freaknet sagte in Test Adapter Zendure Solarflow:

                                      Mir war/ist es nur noch nicht klar, wie ich den Akku "offline" so steuern kann, dass er nur bei "Negativbezug" die Leistung aus dem Hausnetz abgreift und die überschüssige Leistung dann in den Akku lädt. In der Zendur-App sollte das ja gehen über einen Shelly 3EM (bzw. Emu) bzw. D0-Zähler. Bin aber ein Freund vom Datensammeln und visualisieren und daher wäre mir das ganze über MQTT natürlich lieber.

                                      Das macht mein Scipt.

                                      1 Antwort Letzte Antwort
                                      1
                                      • F Online
                                        F Online
                                        Felli
                                        schrieb zuletzt editiert von
                                        #2146

                                        Also die Ottelo Scripts laufen meines Wissens zur Zeit mit Marstek und aktuell in Entwicklung mit dem Noah. Zendure verbindet den ja via Cloud, also egal ob Shelly oder Ecotracker und kann dann meine ich auch lokal zugreifen. Nutze das alles nicht daher keine Ahnung, sorry 😵‍💫

                                        Mit Blockly und lokalem oder Cloud MQTT ist das aber kein Problem, muss dann allerdings von Dir umgesetzt werden, mit allem was dazu gehört. Ist aber dank der mittlerweile vielen coolen Projekte, eigentlich relativ easy.

                                        F 1 Antwort Letzte Antwort
                                        0
                                        • F Felli

                                          Also die Ottelo Scripts laufen meines Wissens zur Zeit mit Marstek und aktuell in Entwicklung mit dem Noah. Zendure verbindet den ja via Cloud, also egal ob Shelly oder Ecotracker und kann dann meine ich auch lokal zugreifen. Nutze das alles nicht daher keine Ahnung, sorry 😵‍💫

                                          Mit Blockly und lokalem oder Cloud MQTT ist das aber kein Problem, muss dann allerdings von Dir umgesetzt werden, mit allem was dazu gehört. Ist aber dank der mittlerweile vielen coolen Projekte, eigentlich relativ easy.

                                          F Offline
                                          F Offline
                                          Freaknet
                                          schrieb zuletzt editiert von
                                          #2147

                                          @Felli

                                          Ok... Marstek Speicher habe ich an meiner PV-Anlage dran, aber da hab ich mir über JavaScript und meinem SML-Zähler geholfen (ohne Shelly Emu).

                                          Ich muss mal schauen ob ich das kpl. Image auf meinen Lesekopf spielen muss, oder ob es reicht, das Script einfach in mein Image zu kopieren, damit ich z.B. den Shelly emulieren kann.

                                          Hab das hier gefunden dazu.

                                          >D 250
                                          ; Einfaches Shelly Emulator Script für ESP8266/ESP32 und Tasmota Image von ottelo
                                          ; Emuliert Shelly Pro 3EM für Marstek Akku Jupiter, Venus, B2500
                                          ; Scriptgröße beim ESP8266 begrenzt: EEP_SCRIPT_SIZE 4096
                                          ; Anleitung https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/#13a
                                          ; Script basiert auf https://github.com/gemu2015/Sonoff-Tasmota/blob/universal/tasmota/scripting/shelly_emu_script.tas
                                          ; Script ist für ein Wifi Tasmota ESP Lesekopf für Stromzähler gedacht, z.B. HichiV1/V2, Bitshake, usw.
                                          ; Der Text kann einfach so in den internen Editor von Tasmota eingefügt werden. Beim ESP8266 sollten alle Kommentare entfernen werden.
                                          ; Die Marstek App sucht nach dem Shelly via mDNS, der Emulator meldet sich als shellypro3em-<mac>
                                          ; Der Datenaustausch erfolgt dann via UDP alle paar Sek (~2-4s beim Jupiter C Plus)
                                          
                                          ; Zum erstmaligen Einrichten des Scripts folgendes in die Console eingeben (erst wenn auch Werte vom Zähler kommen!)
                                          ;script>=#init
                                          
                                          ; PermVars (max:1536bytes=384vars): Tages, Monats, Jahres Verbrauch / Einspeisung
                                          p:dval=0
                                          p:dval2=0
                                          p:mval2=0
                                          p:mval=0
                                          p:yval=0
                                          p:yval2=0
                                          p:pwroffset=0
                                          p:pwrforce=0
                                          p:throttle=1
                                          t:t1=60
                                          tmp=0
                                          save=0
                                          hr=0
                                          ;-- SHELLY EMULATION --
                                          res=0
                                          c1p=0
                                          c2p=0
                                          c3p=0
                                          c1c=0
                                          c2c=0
                                          c3c=0
                                          cpwr=0
                                          str=""
                                          mstr1=""
                                          mstr2=""
                                          mstr3=""
                                          header=""
                                          once=0
                                          
                                          
                                          >B
                                          ->SetOption57 0
                                          ->sensor53 r
                                          smlj=0
                                          header="{\"id\":0,\"src\":\"shellypro3em-"+maca+"\",\"result\":"
                                          throttle=mp(throttle <1 1 >60 60)
                                          pwroffset=mp(pwroffset <-200 -200 >200 200)
                                          
                                          #init
                                          dval=sml[2]
                                          dval2=sml[3]
                                          mval=sml[2]
                                          mval2=sml[3]
                                          yval=sml[2]
                                          yval2=sml[3]
                                          ->Backlog2 otaurl KEIN OTA UPGRADE VIA WEBSERVER!
                                          ->Backlog2 Timezone 99;TimeStd 0,0,10,1,3,60;TimeDst 0,0,3,1,2,120
                                          svars
                                          
                                          ;-- SHELLY EMULATION --
                                          >ah
                                          res=won(1 "/rpc/*")
                                          
                                          >on1
                                          str=warg
                                          if (str!="") {
                                          ;print RPC: %str%
                                          
                                          res=ins(str "EM.GetStatus")
                                          if res>=0 {
                                          =#getstat
                                          tmp=sl(mstr1)+sl(mstr2)
                                          =#header
                                          wcs so(4)
                                          wcs %header%
                                          wcs %mstr1%
                                          wcs %mstr2%
                                          wcf
                                          break
                                          }
                                          
                                          res=ins(str "Shelly.GetStatus")
                                          if res>=0 {
                                          =#getshellystat
                                          tmp=sl(mstr1)+sl(mstr2)+sl(mstr3)
                                          =#header
                                          wcs so(4)
                                          wcs %header%
                                          wcs %mstr1%
                                          wcs %mstr2%
                                          wcs %mstr3%
                                          wcf
                                          break
                                          }
                                          print unknown rpc request: %str%
                                          }
                                          
                                          #getstat
                                          ;EM.GetStatus
                                          dp(0 2)
                                          ;mstr1="{\"id\":0,\"a_current\":"+s(c1c)+",\"a_voltage\":230,\"a_act_power\":"+s(c1p)+",\"a_aprt_power\":"+s(c1p)+",\"a_pf\":1,\"a_freq\":50,"
                                          ;mstr1+="\"b_current\":"+s(c2c)+",\"b_voltage\":230,\"b_act_power\":"+s(c2p)+",\"b_aprt_power\":"+s(c2p)+",\"b_pf\":1,\"b_freq\":50,"
                                          ;mstr2="\"c_current\":"+s(c3c)+",\"c_voltage\":230,\"c_act_power\":"+s(c3p)+",\"c_aprt_power\":"+s(c3p)+",\"c_pf\":1,\"c_freq\":50,"
                                          ;mstr2+="\"total_current\":"+s(c1c+c2c+c3c)+",\"total_act_power\":"+s(cpwr)+",\"total_aprt_power\":"+s(cpwr)+"}}"
                                          mstr1="{\"id\":0,\"a_act_power\":"+s(c1p)+",\"b_act_power\":"+s(c2p)+","
                                          mstr2="\"c_act_power\":"+s(c3p)+",\"total_act_power\":"+s(cpwr)+"}}"
                                          
                                          #getshellystat
                                          ;Shelly.GetStatus, Beispiel Ausgabe https://forum.openwb.de/viewtopic.php?t=7444
                                          dp(0 2)
                                          mstr1="{\"em:0\":{\"id\":0,\"a_act_power\":"+s(c1p)+",\"b_act_power\":"+s(c2p)+",\"c_act_power\":"+s(c3p)+",\"total_act_power\":"+s(cpwr)+"},"
                                          ;mstr2="\"emdata:0\":{\"id\":0,\"a_total_act_energy\":0,\"a_total_act_ret_energy\":0,\"b_total_act_energy\":0,\"b_total_act_ret_energy\":0,\"c_total_act_energy\":0,\"c_total_act_ret_energy\":0,\"total_act\":0,\"total_act_ret\":0}}"
                                          mstr2="\"emdata:0\":{\"id\":0,\"a_total_act_energy\":"+s(sml[2]*1000)+",\"a_total_act_ret_energy\":"+s(sml[3]*1000)+",\"b_total_act_energy\":0,\"b_total_act_ret_energy\":0,\"c_total_act_energy\":0,\"c_total_act_ret_energy\":0,"
                                          mstr3="\"total_act\":"+s(sml[2]*1000)+",\"total_act_ret\":"+s(sml[3]*1000)+"}}"
                                          
                                          #header
                                          ; Beispiel https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/HTTP/#httpget-example
                                          header="HTTP/1.1 200 OK\r\nServer: ShellyHTTP/1.0.0\r\nContent-Type: application/json\r\nContent-Length: "+s(0tmp)+"\r\nConnection: close\r\n\r\n"
                                          
                                          >F
                                          ;-- SHELLY EMULATION --
                                          ; UDP Anfrage beantworten
                                          str=udp(1)
                                          if (str!="") {
                                          ;print UDP: %str%
                                          header="{\"id\":0,\"src\":\"shellypro3em-"+maca+"\",\"result\":"
                                          res=ins(str "EM.GetStatus")
                                          if (res>=0) {
                                          =#getstat
                                          udp(2 header mstr1 mstr2)
                                          break
                                          }
                                          res=ins(str "Shelly.GetStatus")
                                          if res>=0 {
                                          =#getshellystat
                                          mstr3+="}"
                                          udp(2 header mstr1 mstr2)
                                          udp(2 mstr3)
                                          break
                                          }
                                          }
                                          
                                          >S
                                          if (save==1) {
                                          save=0
                                          svars
                                          }
                                          ; Warte auf NTP und Zähler
                                          if ((year<2020) or (sml[2]==0)) {
                                          print auf NTP/Zähler warten
                                          break
                                          }
                                          ; Starte MQTT erst wenn Daten vom Stromzähler kommen
                                          smlj=1
                                          
                                          ; alle 60s
                                          if (t1==0) {
                                          t1=60
                                          hr=hours
                                          ; Tages-, Monats-, Jahresverbrauch um Mitternacht
                                          ; Aktualisiere & speichere Zählerstände
                                          if ((chg[hr]>0) and (hr==0)) {
                                          ; Tageswechsel
                                          dval=sml[2]
                                          dval2=sml[3]
                                          if (day==1) {
                                          ; Monatswechsel
                                          mval=sml[2]
                                          mval2=sml[3]
                                          }
                                          if (day*month==1) {
                                          ; Jahreswechsel
                                          yval=sml[2]
                                          yval2=sml[3]
                                          }
                                          ; nur 1x um Mitternacht speichern
                                          svars
                                          }
                                          }
                                          
                                          ;-- SHELLY EMULATION --
                                          if (once==0) {
                                          ; starte mDNS damit Marstek den emulierten Shelly findet
                                          mdns("shellypro3em-" "-" "shelly")
                                          ; start UDP für Datenkommunikation
                                          ; Port 1010 oder ggf. 2220 für B2500
                                          udp(0 1010)
                                          once=1
                                          }
                                          
                                          ; Werte nur alle x Sek updaten (throttle=1 => sekündlich)
                                          if (upsecs%throttle==0) {
                                          ; Peaks reduzieren, verbessert Regelung
                                          tmp=sml[1]-cpwr
                                          if (tmp>500) {
                                          cpwr=sml[1]-(tmp/2)
                                          } else {
                                          ; Nulleinspeisung-Offset: reduziere die Leistung damit die Regelung nicht um 0W herum schwingt. Nur sinvoll, wenn PV-Panels direkt am Akku hängen.
                                          cpwr=sml[1]-pwroffset
                                          }
                                          
                                          ; Standard: Zähler sendet nur Gesamtleistung
                                          c1p=cpwr
                                          ; Optional: Wenn Zähler auch Einzelleistungen sendet (L1-3). Marstek prüft dann, auf welcher Phase er verbunden ist. ; entfernen um zu verwenden.
                                          ;c1p=sml[4]
                                          ;c2p=sml[5]
                                          ;c3p=sml[6]
                                          ; Ströme berechnen
                                          c1c=c1p/230
                                          ;c2c=c2p/230
                                          ;c3c=c3p/230
                                          
                                          ; Optional: Sende auch, wenn Marstek nicht anfragt, verbessert Marstek Regelung
                                          if (pwrforce>0) {
                                          =#getstat
                                          udp(2 header mstr1 mstr2)
                                          }
                                          
                                          
                                          >W
                                          bu(save "gespeichert!" "Daten sofort speichern")
                                          Leistung (an Marstek Akku){m}%0cpwr% W
                                          Tagesverbrauch{m}%2(sml[2]-dval)% kWh
                                          Monatsverbrauch{m}%2(sml[2]-mval)% kWh
                                          Jahresverbrauch{m}%2(sml[2]-yval)% kWh
                                          Tageseinspeisung{m}%2(sml[3]-dval2)% kWh
                                          Monatseinspeisung{m}%2(sml[3]-mval2)% kWh
                                          Jahreseinspeisung{m}%2(sml[3]-yval2)% kWh
                                          Uptime{m}%0uptime% min
                                          $<span style="font-size:10px;">
                                          $<b>Einstellungen / Status</b><br>
                                          $Ändern der [Variable] via Console: script>var=x<br>
                                          $- Update der Werte verzögern [throttle]: %0throttle% s<br>
                                          $- Offset für Nulleinspeisung [pwroffset]: %0pwroffset% W<br>
                                          $- Datenübertragung erzwingen [pwrforce]: %0pwrforce% s<br>
                                          $Scriptspeicher: %0slen% chars / 4096(1M) 8192(4M)
                                          $<hr>
                                          $<center>Version 21.02.2026 (ShellyEmuSimple) by ottelo.jimdo.de<br>
                                          $Credits to gemu2015 (Tasmota Script Dev)<br>
                                          $</span></center>
                                          
                                          
                                          ; SML Sektion an euren Stromzähler anpassen
                                          ; Anleitung: https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/#4c
                                          ; Reihenfolge nicht ändern: 1=(Gesamt)Leistung sml[1] 2=Verbrauch sml[2] 3=Einspeisung sml[3]
                                          ; Medianfilter <flag> = 16 nicht verwenden, verbessert Marstek Regelung
                                          ; https://tasmota.github.io/docs/Smart-Meter-Interface/#meter-definition
                                          >M 1
                                          ; Beispiel MT175 mit HichiV1/V2
                                          +1,3,s,0,9600,MT175,1
                                          1,77070100100700ff@1,Leistung,W,Power_curr,0
                                          1,77070100010800ff@1000,Verbrauch,KWh,Total_in,2
                                          1,77070100020800ff@1000,Einspeisung,KWh,Total_out,2
                                          ;optional - Falls die Leistung aller 3 Phasen ausgegeben wird, optional relevant für Shelly Emulation sml[4],[5],[6]
                                          ;1,77070100240700ff@1,L1,W,L1,0
                                          ;1,77070100380700ff@1,L2,W,L2,0
                                          ;1,770701004C0700ff@1,L3,W,L3,0
                                          #
                                          
                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          621

                                          Online

                                          32.7k

                                          Benutzer

                                          82.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          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