Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. ecoflow-connector-Script zur dynamischen Leistungsanpassung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    130

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

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

ecoflow-connector-Script zur dynamischen Leistungsanpassung

Scheduled Pinned Locked Moved JavaScript
1.7k Posts 127 Posters 780.8k Views 127 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Audiofreak

    @ksbweb Muss nicht zwingend das originale sein, meiner steht vertikal 24/7 von einem alten PC Lüfter 12V/0.2A gekühlt.
    Der Wechselrichter wird nur noch Handwarm.

    K Offline
    K Offline
    ksbweb
    wrote on last edited by
    #1359

    @audiofreak Es funktioniert nun sogar ohne Zusatzlüfter, denn ich habe den PS hochkant leicht schräg (sowohl nach oben als auch seitlich) vor dem Auslass des Delta-Lüfters platziert. Dieser Luftstrom reicht bereits aus, um auch bei maximalem Solarinput eine Überhitzung zu vermeiden und 800 W zuverlässig einzuspeisen.

    A 1 Reply Last reply
    0
    • G gooflo

      @audiofreak freut mich :-) Das Thema mit dem Laden hat mir keine Ruhe gelassen, hab jetzt bei mir eine erste Version am Laufen, welche
      a) wenn genug PV Input vorhanden ist die Verteilung des PV Input inkl. direkt angeschlossener Module am Speicher sowie den Ladestand berücksichtigt (je mehr PV Input und Ladestand, desto mehr AC Output im Verhältnis)
      b) wenn Strom von der Batterie benötigt wird, wird auch PV Input aber dann die Restkapazität zur Verteilung verwendet (je mehr PV Input und Restkapazität, desto mehr AC Output))

      Wenn Du willst kannst Du gerne mittesten :-) (man muss an ein paar Stellen im Code Anpassungen machen)

      A Offline
      A Offline
      Audiofreak
      wrote on last edited by
      #1360

      @gooflo said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

      @audiofreak freut mich :-) Das Thema mit dem Laden hat mir keine Ruhe gelassen, hab jetzt bei mir eine erste Version am Laufen, welche
      a) wenn genug PV Input vorhanden ist die Verteilung des PV Input inkl. direkt angeschlossener Module am Speicher sowie den Ladestand berücksichtigt (je mehr PV Input und Ladestand, desto mehr AC Output im Verhältnis)
      b) wenn Strom von der Batterie benötigt wird, wird auch PV Input aber dann die Restkapazität zur Verteilung verwendet (je mehr PV Input und Restkapazität, desto mehr AC Output))

      Wenn Du willst kannst Du gerne mittesten :-) (man muss an ein paar Stellen im Code Anpassungen machen)

      Klingt gut, bin ich gerne dabei :+1:

      1 Reply Last reply
      0
      • K ksbweb

        @audiofreak Es funktioniert nun sogar ohne Zusatzlüfter, denn ich habe den PS hochkant leicht schräg (sowohl nach oben als auch seitlich) vor dem Auslass des Delta-Lüfters platziert. Dieser Luftstrom reicht bereits aus, um auch bei maximalem Solarinput eine Überhitzung zu vermeiden und 800 W zuverlässig einzuspeisen.

        A Offline
        A Offline
        Audiofreak
        wrote on last edited by
        #1361

        @ksbweb said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

        @audiofreak Es funktioniert nun sogar ohne Zusatzlüfter, denn ich habe den PS hochkant leicht schräg (sowohl nach oben als auch seitlich) vor dem Auslass des Delta-Lüfters platziert. Dieser Luftstrom reicht bereits aus, um auch bei maximalem Solarinput eine Überhitzung zu vermeiden und 800 W zuverlässig einzuspeisen.

        Noch besser :)

        K 1 Reply Last reply
        0
        • A Offline
          A Offline
          Audiofreak
          wrote on last edited by
          #1362

          @gooflo

          Irgendwo wird ein kleiner Bug drin sein. Muss dafür etwas ausholen:
          Am Abend nach einem Sonnenreichen Tag, sind beide PS voll am einspeisen wenn beide Akku voll sind (battPozOn). PS-Anbau mit Speicher-Anbau ist erheblich schneller voll da weniger Kapazität. Also, Akku voll, battPozOn greift ein, PS-Anbau gibt Vollgas und ich bin ins Netz am einspeisen. PS-Gartenhaus versorgt nur den Speicher-Gartenhaus bis auch da battPozOn eingreift.
          Da an Speicher-Gartenhaus auch Solarpanels hangen, wird die trotzdem weitergeladen. Irgendwann erreicht Speicher-Gartenhaus 100% und von da an wird es vom Ecoflow APP selber "auf Standby" gestellt. Dann wird von PS-Gartenhaus das eingespeist was an Solar anliegt und nicht volle 600 Watt.

          Nun das "Problem" am Abend ohne Sonne
          Ist: Speicher-Gartenhaus 100%, Speicher-Anbau ca. 90%.
          Nur PS-Anbau speist ein, PS-Gartenhaus "schläft"
          Hab es festgestellt, da war Speicher-Anbau bei 76% und Speicher-Gartenhaus immer noch bei 96%
          Nach Neustart vom Skript läuft es wieder normal und Speicher-Gartenhaus wird soweit alleine Entladen bis beide wieder ähnliche Werte haben.Screenshot_2024-07-08-19-55-25-99_4570ac89425b7d8fc2b565c8dd6a2a85.jpg

          Screenshot_2024-07-08-19-54-27-56_4570ac89425b7d8fc2b565c8dd6a2a85.jpg Screenshot_2024-07-08-19-55-30-33_4570ac89425b7d8fc2b565c8dd6a2a85.jpg Screenshot_2024-07-08-19-54-34-15_4570ac89425b7d8fc2b565c8dd6a2a85.jpg

          G 1 Reply Last reply
          0
          • A Audiofreak

            @gooflo

            Irgendwo wird ein kleiner Bug drin sein. Muss dafür etwas ausholen:
            Am Abend nach einem Sonnenreichen Tag, sind beide PS voll am einspeisen wenn beide Akku voll sind (battPozOn). PS-Anbau mit Speicher-Anbau ist erheblich schneller voll da weniger Kapazität. Also, Akku voll, battPozOn greift ein, PS-Anbau gibt Vollgas und ich bin ins Netz am einspeisen. PS-Gartenhaus versorgt nur den Speicher-Gartenhaus bis auch da battPozOn eingreift.
            Da an Speicher-Gartenhaus auch Solarpanels hangen, wird die trotzdem weitergeladen. Irgendwann erreicht Speicher-Gartenhaus 100% und von da an wird es vom Ecoflow APP selber "auf Standby" gestellt. Dann wird von PS-Gartenhaus das eingespeist was an Solar anliegt und nicht volle 600 Watt.

            Nun das "Problem" am Abend ohne Sonne
            Ist: Speicher-Gartenhaus 100%, Speicher-Anbau ca. 90%.
            Nur PS-Anbau speist ein, PS-Gartenhaus "schläft"
            Hab es festgestellt, da war Speicher-Anbau bei 76% und Speicher-Gartenhaus immer noch bei 96%
            Nach Neustart vom Skript läuft es wieder normal und Speicher-Gartenhaus wird soweit alleine Entladen bis beide wieder ähnliche Werte haben.Screenshot_2024-07-08-19-55-25-99_4570ac89425b7d8fc2b565c8dd6a2a85.jpg

            Screenshot_2024-07-08-19-54-27-56_4570ac89425b7d8fc2b565c8dd6a2a85.jpg Screenshot_2024-07-08-19-55-30-33_4570ac89425b7d8fc2b565c8dd6a2a85.jpg Screenshot_2024-07-08-19-54-34-15_4570ac89425b7d8fc2b565c8dd6a2a85.jpg

            G Offline
            G Offline
            gooflo
            wrote on last edited by
            #1363

            @audiofreak hm, inzwischen habe ich ja schon eine neue Implementierung ;-) Falls Du hier weitersuchen willst bräuchte Deine Config und die Logfiles, wenn die Situation auftritt ... bei mir hatte das funktioniert. Im Code sehe ich keinen Fehler, auftreten könnte es, wenn als Ladung 0% zurückgemeldet wird oder wenn die Config nicht passt bei battCapacity

            A 1 Reply Last reply
            0
            • G gooflo

              @audiofreak hm, inzwischen habe ich ja schon eine neue Implementierung ;-) Falls Du hier weitersuchen willst bräuchte Deine Config und die Logfiles, wenn die Situation auftritt ... bei mir hatte das funktioniert. Im Code sehe ich keinen Fehler, auftreten könnte es, wenn als Ladung 0% zurückgemeldet wird oder wenn die Config nicht passt bei battCapacity

              A Offline
              A Offline
              Audiofreak
              wrote on last edited by
              #1364

              @gooflo
              Heute war es wieder identisch plötzlich wird ein PS ignoriert, wenn das Skript neu gestartet wird, passt es wieder.
              Hab deine neue Implementierung soeben eingepflegt, werde nochmal beobachten. Das Wetter morgen ist aber eher bescheiden, werde die Akku`s nicht voll bekommen :confounded:
              Wenn es wieder auftritt, sende ich dir Config und Logfiles.
              1000 Dank für deine Mühe :)

              1 Reply Last reply
              0
              • M Offline
                M Offline
                Mortarvan
                wrote on last edited by Mortarvan
                #1365

                Ich finde das Skript des "Tibber Modul" bietet noch sehr viel Potential!
                Könnte man hier vielleicht eine Pro-Konfiguration aufbauen?

                Hier meine Gedanken dazu:

                • Anstelle von den Tibber-Preisstufen Normal, Cheap, Very Cheap - wünsche ich mir echte Euro Beträge, diese sind immer fix
                • Eine Unterscheidung einführen, ob nur Regulierung ausgeschaltet wird, ohne Nachladen per Steckdose zu aktivieren

                Hier ein mögliches Beispiel:

                • Strompreis über 23 Cent = Regulierung an
                • Strompreis zwischen 20 bis 23 Cent = Regulierung aus, aber ohne Nachladen zu aktivieren
                • Strompreis unter 20 Cent = Regulierung aus & und Nachladen

                Alternativ Regulierung aus & Nachladen aktiv, wenn Strompreis very_cheap & Strompreis at day minimum price.

                Würde mich hierzu wirklich über Feedback freuen.
                Denn bei uns verbrauchen die Spülmaschine/Waschmaschine in den güngstigen Stunden immer viel vom Akku. Abends geht dann unser Akku schnell zu Ende. Ich wünschte wir hätten Abends mehr vom Akku übrig - so schalte ich manchmal zwischendurch die Regulierung per Hand aus und an, aber das ist sehr unpraktisch - ich hätte es gerne automatisiert.

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  StefanR.
                  wrote on last edited by StefanR.
                  #1366

                  Hallo
                  Alle zusammen

                  Bevor ich mich da richtig rein fuchse habe ich eine frage vorab, ob das überhaupt mit diesem Script möglich ist
                  ich nutze 2 Powerstream (einer mit batterie, einer ohne), die teilen sich die Einspeiseleistung
                  Ich will nicht 2 WLAN und Räume nutzen, da spinnt alles bei mir.
                  Also wenn nun der PS1 weniger Sonne ab bekommt würde ich haben wollen das PS2 nach regelt, und den fehlenden Watt rest einspeist, allein mit Ecoflow nicht möglich da ist ja fix alles 50/50 ob was kommt oder nicht. wird das mit diesem Script geregelt? Shely 3em ist Eingebaut, und macht was er soll
                  Danke Euch schon mal

                  G 1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    pasch
                    wrote on last edited by
                    #1367

                    Hallo zusammen,

                    ich habe bei meinen beiden PS RegulationOffPower=800 gesetzt. Wenn ich nun regulation=false einstelle, fangen auch beide an Einzuspeisen. Wenn ich nun aber wieder regulation=true setze, bleibt der 2. PS auf 800. Kennt jemand den Fehler? Ich nutze das Skript 1.2.5.

                    Grüße
                    Patrick

                    1 Reply Last reply
                    0
                    • S StefanR.

                      Hallo
                      Alle zusammen

                      Bevor ich mich da richtig rein fuchse habe ich eine frage vorab, ob das überhaupt mit diesem Script möglich ist
                      ich nutze 2 Powerstream (einer mit batterie, einer ohne), die teilen sich die Einspeiseleistung
                      Ich will nicht 2 WLAN und Räume nutzen, da spinnt alles bei mir.
                      Also wenn nun der PS1 weniger Sonne ab bekommt würde ich haben wollen das PS2 nach regelt, und den fehlenden Watt rest einspeist, allein mit Ecoflow nicht möglich da ist ja fix alles 50/50 ob was kommt oder nicht. wird das mit diesem Script geregelt? Shely 3em ist Eingebaut, und macht was er soll
                      Danke Euch schon mal

                      G Offline
                      G Offline
                      gooflo
                      wrote on last edited by gooflo
                      #1368

                      @stefanr mit dem Standardskript nicht, es berücksichtigt lediglich den Ladestand. Ich habe eine Erweiterung implementiert, die PV Input, Ladestand und Kapazität berücksichtigt für die AC Regelung. Bei Interesse gerne per Chat melden.

                      Maik BeckerM 1 Reply Last reply
                      0
                      • G gooflo

                        @stefanr mit dem Standardskript nicht, es berücksichtigt lediglich den Ladestand. Ich habe eine Erweiterung implementiert, die PV Input, Ladestand und Kapazität berücksichtigt für die AC Regelung. Bei Interesse gerne per Chat melden.

                        Maik BeckerM Offline
                        Maik BeckerM Offline
                        Maik Becker
                        wrote on last edited by
                        #1369

                        Hallo, gibt es die Möglichkeit, das Skript anzupassen, dass man 2 Delta per Überschussladung AC laden kann?

                        1 Reply Last reply
                        0
                        • D DerSmily

                          Ich versuche gerade das Skript mal wieder zum Laufen zu bringen:

                          Wie bekomme ich diesen Fehler weg?
                          javascript.0 11:31:21.934 info script.js.Ecoflow.DL: Fehler beim Abrufen des niedrigsten Werts: timeout
                          javascript.0 11:31:36.912 info script.js.Ecoflow.DL: getLowestValue-error: timeout

                          Zur Info vielleicht: Ich habe eine PS und nur einen Zusatzakku Delta

                          M Offline
                          M Offline
                          mijoklein
                          wrote on last edited by
                          #1370

                          @dersmily Ich habe seit kurzer Zeit die gleiche Konfiguration (PS nur mit einem Zusatzakku Delta 2) im Einsatz. Kannst Du mir etwas zu Deinen Erfahrungen und Deiner Konfiguration sagen? Gibt es Besonderheiten, die im Script beachtet werden sollten? Vielen Dank für Deine Rückmeldung. Viele Grüße.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            mijoklein
                            wrote on last edited by
                            #1371

                            Hallo zusammen,
                            ich möchte gerne die Temperatur des Powerstream überwachen und Lüfter zur Abkühlung steuern. Leider scheint es so, als würden die Informationen in iobroker nicht aktualisiert. Hier die Felder, die ich betrachte :

                            0_userdata.0.ecoflow.app_device_property_HWXXX.data.InverterHeartbeat.llcTemp
                            0_userdata.0.ecoflow.app_device_property_HWXXX.data.InverterHeartbeat.invTemp

                            Habt Ihr das gleiche Problem? Nutze ich die falschen Felder? Danke für Eure Hilfe. Ganz besonders @Homoran, der einem Rookie schonmal einen entscheidenden Hinweis gab 😉

                            Grüße
                            Michael

                            E F 2 Replies Last reply
                            0
                            • E Offline
                              E Offline
                              ecotibber
                              wrote on last edited by
                              #1372

                              Moin zusammen. Und erstmal Danke für das wirklich geniale script. Hatte es soweit erstmal zum laufen gebracht und funktionierte soweit tadellos. Seitdem bin ich mich noch am befassen mit Influx, Grafana für Auswertungen. Wie auch gestern Abend. Gestern Abend hatte ich dann gesehen, dass ein Update für IOBroker zur Verfügung steht. Also update gestartet. Später viel mir dann auf, dass meine Einspeisung nicht mehr geregelt wird. Obs damit zusammenhängt weiss ich nicht. Da es immernoch so ist und ich nicht mehr weiter weiss möchte ich mal hier nachfragen, ob noch jemand das Problem hat, oder eine Idee hat. So wie es aussieht baut das Javascript keine Verbindung zum Host mehr auf. Meine App funktioniert aber mit den Geräten (Delta Pro, Zusatzakku und Powerstream).

                              V 1 Reply Last reply
                              0
                              • M mijoklein

                                Hallo zusammen,
                                ich möchte gerne die Temperatur des Powerstream überwachen und Lüfter zur Abkühlung steuern. Leider scheint es so, als würden die Informationen in iobroker nicht aktualisiert. Hier die Felder, die ich betrachte :

                                0_userdata.0.ecoflow.app_device_property_HWXXX.data.InverterHeartbeat.llcTemp
                                0_userdata.0.ecoflow.app_device_property_HWXXX.data.InverterHeartbeat.invTemp

                                Habt Ihr das gleiche Problem? Nutze ich die falschen Felder? Danke für Eure Hilfe. Ganz besonders @Homoran, der einem Rookie schonmal einen entscheidenden Hinweis gab 😉

                                Grüße
                                Michael

                                E Offline
                                E Offline
                                ecotibber
                                wrote on last edited by
                                #1373

                                @mijoklein Wird der Rest bei dir denn noch aktualisiert? Bei mir besteht seit gestern keine Verbindung mehr zwischen Javascript und Host

                                M 1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  Accu
                                  wrote on last edited by
                                  #1374

                                  offtopic Frage: weiß jemand, warum ich beim ipad mit iOS Safari unter skripten, wenn ich den ioBroker im Safari aufmache das skript nicht sehe und editieren kann?

                                  1 Reply Last reply
                                  0
                                  • E ecotibber

                                    Moin zusammen. Und erstmal Danke für das wirklich geniale script. Hatte es soweit erstmal zum laufen gebracht und funktionierte soweit tadellos. Seitdem bin ich mich noch am befassen mit Influx, Grafana für Auswertungen. Wie auch gestern Abend. Gestern Abend hatte ich dann gesehen, dass ein Update für IOBroker zur Verfügung steht. Also update gestartet. Später viel mir dann auf, dass meine Einspeisung nicht mehr geregelt wird. Obs damit zusammenhängt weiss ich nicht. Da es immernoch so ist und ich nicht mehr weiter weiss möchte ich mal hier nachfragen, ob noch jemand das Problem hat, oder eine Idee hat. So wie es aussieht baut das Javascript keine Verbindung zum Host mehr auf. Meine App funktioniert aber mit den Geräten (Delta Pro, Zusatzakku und Powerstream).

                                    V Offline
                                    V Offline
                                    vanessa88
                                    wrote on last edited by
                                    #1375

                                    @ecotibber Ich weiss nicht auf welche Version du aktualisiert hast. Ich hatte vor etwa 4 Woche das gleiche oder ein ähnliches Problem mit dem Update von Iobroker. Javascript funktionierte nicht mehr. Habe dann sofort wieder das Backup draufgezogen. Finde leider keine Versionshinweise in Bezug auf die Funktionsweise mit dem Script. Auch aus dem Grund wäre es cool, wenn das Skript auf Github stehen würde...

                                    1 Reply Last reply
                                    0
                                    • M mijoklein

                                      Hallo zusammen,
                                      ich möchte gerne die Temperatur des Powerstream überwachen und Lüfter zur Abkühlung steuern. Leider scheint es so, als würden die Informationen in iobroker nicht aktualisiert. Hier die Felder, die ich betrachte :

                                      0_userdata.0.ecoflow.app_device_property_HWXXX.data.InverterHeartbeat.llcTemp
                                      0_userdata.0.ecoflow.app_device_property_HWXXX.data.InverterHeartbeat.invTemp

                                      Habt Ihr das gleiche Problem? Nutze ich die falschen Felder? Danke für Eure Hilfe. Ganz besonders @Homoran, der einem Rookie schonmal einen entscheidenden Hinweis gab 😉

                                      Grüße
                                      Michael

                                      F Offline
                                      F Offline
                                      foxthefox
                                      Developer
                                      wrote on last edited by
                                      #1376

                                      @mijoklein
                                      ansich sind es schon die richtigen Datenpunkte, allerdings beobachte ich hier Unterschiede zwischen alter und aktueller FW, wo nunmehr sehr sporadisch nur noch ein geändeter Wert auftaucht.

                                      Adapterüberblick: Profil Github;

                                      Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

                                      Ein Aufruf: video

                                      M DaDue-maxD 2 Replies Last reply
                                      0
                                      • E ecotibber

                                        @mijoklein Wird der Rest bei dir denn noch aktualisiert? Bei mir besteht seit gestern keine Verbindung mehr zwischen Javascript und Host

                                        M Offline
                                        M Offline
                                        mijoklein
                                        wrote on last edited by
                                        #1377

                                        @ecotibber Das Skript läuft bei mir auch nach dem Update ohne Probleme und füllt die Werte. Grüße Michael

                                        1 Reply Last reply
                                        0
                                        • F foxthefox

                                          @mijoklein
                                          ansich sind es schon die richtigen Datenpunkte, allerdings beobachte ich hier Unterschiede zwischen alter und aktueller FW, wo nunmehr sehr sporadisch nur noch ein geändeter Wert auftaucht.

                                          M Offline
                                          M Offline
                                          mijoklein
                                          wrote on last edited by
                                          #1378

                                          @foxthefox Ich habe die aktuellste Firmware und erhalte auf invTemp nichts und auf llcTemp nur ca. alle 8 Std. einen Wert. Zur Überwachung der Temperatur nicht zu gebrauchen. Ich habe aber bei meinen Versuchen herausgefunden, dass die Kühlung des Powerstream wirklich wichtig ist, da er die Leistung der PV-Module unbemerkt herunterregelt, wenn es zu heiß wird. Das Gehäuse selbst, bietet zur passiven Kühlung viel zu wenig Fläche. Grüße Michael

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          554

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe