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. Visualisierung
  4. Visualisierung bei mehreren Geräten

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    369

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    326

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    945

Visualisierung bei mehreren Geräten

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
19 Beiträge 9 Kommentatoren 1.4k Aufrufe 6 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.
  • I ioBroker-lover

    @CyberMicha ich suche derzeit nach einer Lösung für genau das von dir beschriebene Anwendungsszenario.
    Jeder view im Hochformat soll ein Pendant im Querformat haben, das automatisch beim Drehen aufgerufen wird.
    Ich habe gesehen, dass man über die Objects den Standard-View manipulieren kann. Vielleicht kann man darüber etwas basteln. Man müsste jedoch auch alles wieder zurücksetzen, damit man nicht immer einen anderen Standard nach der Bedienung hat.

    Hast du schon eine Lösung gefunden?
    Über die ioBroker App kann man ja einen Standard-View für Hochformat und Querformat setzen. Aber eben nur einen.. Inwiefern diese Setting mit dem "default" Haken in der vis interagiert, habe ich noch nicht ganz verstanden.

    SegwayS Offline
    SegwayS Offline
    Segway
    schrieb am zuletzt editiert von
    #8

    @ioBroker-lover

    JARVIS 👍 👍 👍

    Gruß Dirk
    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

    1 Antwort Letzte Antwort
    0
    • I Offline
      I Offline
      ioBroker-lover
      schrieb am zuletzt editiert von
      #9

      @sigi234 @Segway
      Danke für eure Tipps, ich möchte das Ganze aber schon gerne im vis realisieren, da ich die Anpassbarkeit der Oberfläche sehr mag.
      Nur für diese Funktion zu einer anderen Visualisierung zu wechseln, wäre es mir da nicht wert.

      SegwayS C 2 Antworten Letzte Antwort
      0
      • I ioBroker-lover

        @sigi234 @Segway
        Danke für eure Tipps, ich möchte das Ganze aber schon gerne im vis realisieren, da ich die Anpassbarkeit der Oberfläche sehr mag.
        Nur für diese Funktion zu einer anderen Visualisierung zu wechseln, wäre es mir da nicht wert.

        SegwayS Offline
        SegwayS Offline
        Segway
        schrieb am zuletzt editiert von Segway
        #10

        @ioBroker-lover
        Ich persönlich hab gar nicht so viel Zeit für jedes Endgerät ne angepasste Vis zu hinterlegen also PC, Handy, Tablet und dann noch Hoch und Querformat!
        Da kommt mir Jarvis grad recht!

        Aber klar wenn du das so brauchst dann musst du diesen Weg gehen 👍

        Gruß Dirk
        Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

        D 1 Antwort Letzte Antwort
        0
        • SegwayS Segway

          @ioBroker-lover
          Ich persönlich hab gar nicht so viel Zeit für jedes Endgerät ne angepasste Vis zu hinterlegen also PC, Handy, Tablet und dann noch Hoch und Querformat!
          Da kommt mir Jarvis grad recht!

          Aber klar wenn du das so brauchst dann musst du diesen Weg gehen 👍

          D Offline
          D Offline
          dtp
          schrieb am zuletzt editiert von dtp
          #11

          Also mit der ioBroker App für iOS ist der Wechsel von Quer- ins Hochformat für jedes Gerät individuell einstellbar. Sprich, ich kann für mein iPhone hier zwei andere Startviews festlegen, als z.B. für mein iPad.

          Ich habe das aber nicht umgesetzt, sondern nutze auf meinem iPhone nur Views im Hochformat und auf meinem iPad nur Views im Querformat. Das zu ändern, wäre teilweise schon sehr viel Aufwand, insbesondere bei den eingebunden Diagrammen. Meine vis-Projekte haben derzeit jeweils so ca. 30 einzelne Views mit zum Teil zig Widgets, die stets so angeordnet sind, dass sie die zur Verfügung stehende Fläche voll ausnutzen (ich mag keine Leerräume).

          ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

          1 Antwort Letzte Antwort
          0
          • I ioBroker-lover

            @sigi234 @Segway
            Danke für eure Tipps, ich möchte das Ganze aber schon gerne im vis realisieren, da ich die Anpassbarkeit der Oberfläche sehr mag.
            Nur für diese Funktion zu einer anderen Visualisierung zu wechseln, wäre es mir da nicht wert.

            C Offline
            C Offline
            CyberMicha
            schrieb am zuletzt editiert von
            #12

            @iobroker-lover said in Visualisierung bei mehreren Geräten:

            hte das Ganze aber schon gerne im vis realisieren, da ich die Anpassbarkeit der Oberfläche sehr mag.
            Nur für diese Funktion zu einer anderen Visualisierung zu wechseln, wäre es mir da nicht wert.

            Sehe ich auch so. vis hat halt superviele Möglichkeiten.
            Bisher hab ich leider noch keine Lösung gefunden. Wundert mich auch, dass hier nicht mehr Fragen danach kommen.

            1 Antwort Letzte Antwort
            0
            • C CyberMicha

              Hi zusammen,
              bisher nutze ich nur auf meinem Galaxy S10 eine Visualisierung im Hochformat.
              Wenn ich jetzt daher gehen möchte und auch für Querformat und ein weiteres Gerät ( Tab S5e ) welche haben möchte, lege ich dann pro "Art" ein Projekt an oder komplett alle views ein zweites mal? Letzteres wird dann ja richtig aufwändig, da ich zig views habe

              Wie geht man da am Besten vor?

              Nachtrag: Und wie gehe ich vor wenn ich auf View xy bin und da auch bleiben will wenn ich das Geräte ins Querformat drehe? Wenn ich alle default Haken rausnehme ruft die App nicht den richtigen View auf.

              LG Michael

              ice987I Offline
              ice987I Offline
              ice987
              schrieb am zuletzt editiert von ice987
              #13

              @cybermicha

              Versuche mal in einer View alle Widgets nach dem Schema (Höhe in px, Breite in %) umzubauen:

              [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"Test"},"style":{"left":"0px","top":"150px","height":"20px","width":"100%"},"widgetSet":"basic"}]
              

              Das was du vorhast geht easy

              husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

              C D 2 Antworten Letzte Antwort
              0
              • ice987I ice987

                @cybermicha

                Versuche mal in einer View alle Widgets nach dem Schema (Höhe in px, Breite in %) umzubauen:

                [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"Test"},"style":{"left":"0px","top":"150px","height":"20px","width":"100%"},"widgetSet":"basic"}]
                

                Das was du vorhast geht easy

                C Offline
                C Offline
                CyberMicha
                schrieb am zuletzt editiert von
                #14

                @ice987 said in Visualisierung bei mehreren Geräten:

                [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"Test"},"style":{"left":"0px","top":"150px","height":"20px","width":"100%"},"widgetSet":"basic"}]

                Verstehe ich nicht? Die Höhe ist ja auch variabel.

                ice987I 1 Antwort Letzte Antwort
                0
                • C CyberMicha

                  @ice987 said in Visualisierung bei mehreren Geräten:

                  [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"Test"},"style":{"left":"0px","top":"150px","height":"20px","width":"100%"},"widgetSet":"basic"}]

                  Verstehe ich nicht? Die Höhe ist ja auch variabel.

                  ice987I Offline
                  ice987I Offline
                  ice987
                  schrieb am zuletzt editiert von ice987
                  #15

                  @cybermicha
                  Die Höhe der vis view? Da gibst du nichts ein. Auflösung: nicht definiert

                  Schick doch mal einen Printscreen einer „einfachen“ view

                  husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                  1 Antwort Letzte Antwort
                  0
                  • ice987I ice987

                    @cybermicha

                    Versuche mal in einer View alle Widgets nach dem Schema (Höhe in px, Breite in %) umzubauen:

                    [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"Test"},"style":{"left":"0px","top":"150px","height":"20px","width":"100%"},"widgetSet":"basic"}]
                    

                    Das was du vorhast geht easy

                    D Offline
                    D Offline
                    dtp
                    schrieb am zuletzt editiert von dtp
                    #16

                    @ice987 said in Visualisierung bei mehreren Geräten:

                    Das was du vorhast geht easy

                    Selbst, wenn beide Geräte (Smartphone und Tablet) komplett andere Seitenverhältnisse haben (z.B. Smartphone 16:10 und Tablet 4:3)? Dann hat man ja in dem einen Gerät extrem viel leere Fläche, wenn der Screen beim anderen gut gefüllt ist.

                    Ich habe so z.B. bei meinem iPhone und meinen iPad jeweils im Hoch- und im Querformat komplett unterschiedliche Ansichten mit an die Auflösung des jeweiligen Geräts angepasster Position und Größe der einzelnen Widgets. Wüsste auch nicht, wie man das sinnvoll automatisiert bekommt.

                    Nehmen wir mal die nachfolgende Ansicht auf meinem iPhone mit einem Dialog-Widget, das zwei untereinander angeordnete Diagramme zeigt.

                    View_iPhone.png

                    Wie soll man das ohne spezielle Anpassung der Widgets vernünftig auf einem Tablet dargestellt bekommen? Und auch für das Querformat auf dem iPhone würde ich hier einen komplett anders aufgebauten View mit zwei nebeneinader angeordneten Diagrammen benötigen.

                    ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                    ice987I 1 Antwort Letzte Antwort
                    0
                    • D dtp

                      @ice987 said in Visualisierung bei mehreren Geräten:

                      Das was du vorhast geht easy

                      Selbst, wenn beide Geräte (Smartphone und Tablet) komplett andere Seitenverhältnisse haben (z.B. Smartphone 16:10 und Tablet 4:3)? Dann hat man ja in dem einen Gerät extrem viel leere Fläche, wenn der Screen beim anderen gut gefüllt ist.

                      Ich habe so z.B. bei meinem iPhone und meinen iPad jeweils im Hoch- und im Querformat komplett unterschiedliche Ansichten mit an die Auflösung des jeweiligen Geräts angepasster Position und Größe der einzelnen Widgets. Wüsste auch nicht, wie man das sinnvoll automatisiert bekommt.

                      Nehmen wir mal die nachfolgende Ansicht auf meinem iPhone mit einem Dialog-Widget, das zwei untereinander angeordnete Diagramme zeigt.

                      View_iPhone.png

                      Wie soll man das ohne spezielle Anpassung der Widgets vernünftig auf einem Tablet dargestellt bekommen? Und auch für das Querformat auf dem iPhone würde ich hier einen komplett anders aufgebauten View mit zwei nebeneinader angeordneten Diagrammen benötigen.

                      ice987I Offline
                      ice987I Offline
                      ice987
                      schrieb am zuletzt editiert von ice987
                      #17

                      @dtp

                      Die view müsste entsprchend gefüllt werden, dass nur die Breite jeweils automatisch mit width = 100% variiert/angepasst werden kann

                      husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                      OliverIOO 1 Antwort Letzte Antwort
                      0
                      • ice987I ice987

                        @dtp

                        Die view müsste entsprchend gefüllt werden, dass nur die Breite jeweils automatisch mit width = 100% variiert/angepasst werden kann

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #18

                        weiß das nicht so genau, aber kann man nicht durch das beschreiben eines states den view wechseln?

                        über den folgenden code kann man erkennen, ob das gerät gedreht wurde.
                        auch nicht ausprobiert, nur im internet gesucht.

                        wenn man so etwas in das skript tab einträgt, dann müsste sich die view dann automatisch ändern

                        window.addEventListener("orientationchange", function() {
                            // Announce the new orientation number
                            alert(window.orientation);
                        }, false);
                        

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        ice987I 1 Antwort Letzte Antwort
                        0
                        • OliverIOO OliverIO

                          weiß das nicht so genau, aber kann man nicht durch das beschreiben eines states den view wechseln?

                          über den folgenden code kann man erkennen, ob das gerät gedreht wurde.
                          auch nicht ausprobiert, nur im internet gesucht.

                          wenn man so etwas in das skript tab einträgt, dann müsste sich die view dann automatisch ändern

                          window.addEventListener("orientationchange", function() {
                              // Announce the new orientation number
                              alert(window.orientation);
                          }, false);
                          
                          ice987I Offline
                          ice987I Offline
                          ice987
                          schrieb am zuletzt editiert von ice987
                          #19

                          @oliverio

                          Das müsste ich mal ausprobieren. Ich habe folgenden Code ausprobiert um die Breite eines Widgets auszulesen, ohne Trigger:

                          <script>
                          document.getElementById("w00935").innerHTML = window.innerWidth ;
                          </script>
                          

                          Leider habe ich es noch nicht geschafft, so was als Binding einzusetzen, mit welchem dann Abhängigkeiten zwischen der Breite und Höhe eines Widgets errechnet werden könnten...

                          husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                          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

                          584

                          Online

                          32.8k

                          Benutzer

                          82.8k

                          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