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. Visualisierung
  4. [Vorlage] Variable Zeitsteuerung mit VIS Editor

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Scheduled Pinned Locked Moved Visualisierung
vistemplate
919 Posts 47 Posters 296.2k Views 75 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.
  • GlasfaserG Glasfaser

    @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

    könnte dazu verleiten, darüber das PopUp zu öffnen, dort werden dann Werte ohne Timer-Bezug angezeigt.

    .... und das wird es sein !

    Habe Material Design ....

    M Online
    M Online
    micklafisch
    wrote on last edited by
    #484

    könnte dazu verleiten, darüber das PopUp zu öffnen, dort werden dann Werte ohne Timer-Bezug angezeigt.

    .... und das wird es sein !

    nein, der Bezug ist da. Ich habe aktuell "doubleclick" aktiv. Wenn ich einen einzelnen klick mache und dann auf den "temporär dauerhaft eingeblendeten" Edit Button gehe werden die Zeiten ja korrekt eingelesen. Der Doppelklick aber öffnet das Popup nicht.

    G 1 Reply Last reply
    0
    • M micklafisch

      @Glasfaser

      Gegenfrage ... warum willst du denn den "materialdesign dialog view" nutzen , hat das ein Hintergrund !?

      Im Grund hätte ich gerne alles aus einem Guss (optisch wie technisch) - mit dem materialdesign kann ich persönlich mehr/angenehmer konfigurieren und habe z.B. auch nicht das olle "x" zum schließen rechts oben im Popup.

      @GiuseppeS
      das dauerhafte anzeigen war wie gesagt nur zum testen/fehlersuchen, da ich nicht nachvollziehen kann warum das Popup nicht beim klicken sich öffnet. Anfangs dachte ich noch es wäre ein fehlerhafter Viewbezug.

      Ich will nicht wirklich für immer den Edit Button sehen, war alles nur zum analysieren. Die neue Version mit dem klick auf den Datensatz ist schon wirklich super.

      Dachte ich kann "mal eben" die View anpassen, aber bevor das überhand nimmt werde ich doch das jqui widget verwenden und dabei belassen.

      GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      wrote on last edited by
      #485

      @micklafisch sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

      aber bevor das überhand nimmt

      ... du hast ja schon Scrounger im anderen Thread dazu informiert bzw. gebeten ob er helfen kann !

      und dabei belassen.

      Entweder .... oder ;)

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      1 Reply Last reply
      0
      • M micklafisch

        könnte dazu verleiten, darüber das PopUp zu öffnen, dort werden dann Werte ohne Timer-Bezug angezeigt.

        .... und das wird es sein !

        nein, der Bezug ist da. Ich habe aktuell "doubleclick" aktiv. Wenn ich einen einzelnen klick mache und dann auf den "temporär dauerhaft eingeblendeten" Edit Button gehe werden die Zeiten ja korrekt eingelesen. Der Doppelklick aber öffnet das Popup nicht.

        G Offline
        G Offline
        GiuseppeS
        wrote on last edited by
        #486

        @micklafisch
        Das verstehe ich mit dem einheitlichen Design.

        Mit dem korrekten Klick (je nach Einstellung) werden die Werte dauerhaft in das PopUp View geschrieben, das stimmt. Allerdings müsste im Nachgang das PopUp manuell geöffnet werden, damit die Buttons wieder ausgeblendet werden.
        Was möglich wäre:
        In den Script Einstellungen wählst du oneclick.
        Dein Edit Button wird wie die anderen Buttons angezeigt, wenn ein Klick auf ein Timer erfolgt (kannst Du einstellen).
        Dann wählst Du über die Tabelle den Timer und musst dann den EDIT Button drücken.

        GlasfaserG 1 Reply Last reply
        0
        • G GiuseppeS

          @micklafisch
          Das verstehe ich mit dem einheitlichen Design.

          Mit dem korrekten Klick (je nach Einstellung) werden die Werte dauerhaft in das PopUp View geschrieben, das stimmt. Allerdings müsste im Nachgang das PopUp manuell geöffnet werden, damit die Buttons wieder ausgeblendet werden.
          Was möglich wäre:
          In den Script Einstellungen wählst du oneclick.
          Dein Edit Button wird wie die anderen Buttons angezeigt, wenn ein Klick auf ein Timer erfolgt (kannst Du einstellen).
          Dann wählst Du über die Tabelle den Timer und musst dann den EDIT Button drücken.

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          wrote on last edited by Glasfaser
          #487

          @GiuseppeS

          Irgendwie klappt es nicht ganz ... bzw. sehr merkwürdig .

          Ich denke mal da muss Scrounger etwas an seinem Widget ändern , damit es auf dem normalen Weg reagiert !?

          habe :

          createState("Timer." + path + ".MaterialDialogWidgetOpen", false, {
              type: "boolean", 
              role: "button"
          });
          
          

          dann im Script bei Click ....

          setState("javascript.0.Timer." + path + ".MaterialDialogWidgetOpen", true);
          

          im Widget :
          1.JPG

          Pop Up öffnet nicht .

          Nehme ich dann ein Boolbutton und weise Ihm den Datenpunkt .... .MaterialDialogWidgetOpen zu, (liegt einfach blind im View) , öffnet er den Popup !?

          ( View Dialog ist nicht eingestellt , deshalb dieser Effekt : )

          2.JPG

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          G 1 Reply Last reply
          0
          • GlasfaserG Glasfaser

            @GiuseppeS

            Irgendwie klappt es nicht ganz ... bzw. sehr merkwürdig .

            Ich denke mal da muss Scrounger etwas an seinem Widget ändern , damit es auf dem normalen Weg reagiert !?

            habe :

            createState("Timer." + path + ".MaterialDialogWidgetOpen", false, {
                type: "boolean", 
                role: "button"
            });
            
            

            dann im Script bei Click ....

            setState("javascript.0.Timer." + path + ".MaterialDialogWidgetOpen", true);
            

            im Widget :
            1.JPG

            Pop Up öffnet nicht .

            Nehme ich dann ein Boolbutton und weise Ihm den Datenpunkt .... .MaterialDialogWidgetOpen zu, (liegt einfach blind im View) , öffnet er den Popup !?

            ( View Dialog ist nicht eingestellt , deshalb dieser Effekt : )

            2.JPG

            G Offline
            G Offline
            GiuseppeS
            wrote on last edited by
            #488

            @Glasfaser
            Nimm mal statt Button ein normales State. Kann mir nicht vorstellen, was es sonst sein könnte.

            GlasfaserG 1 Reply Last reply
            0
            • G GiuseppeS

              @Glasfaser
              Nimm mal statt Button ein normales State. Kann mir nicht vorstellen, was es sonst sein könnte.

              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              wrote on last edited by
              #489

              @GiuseppeS

              Schon alles durchgetestet ....

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              G 1 Reply Last reply
              0
              • GlasfaserG Glasfaser

                @GiuseppeS

                Schon alles durchgetestet ....

                G Offline
                G Offline
                GiuseppeS
                wrote on last edited by
                #490

                @Glasfaser
                Dann fällt mir nur noch ein mit Acknowkedge beim setState zu spielen.
                Könntest setState mit Acknowkedge true und false testen.

                GlasfaserG 1 Reply Last reply
                0
                • G GiuseppeS

                  @Glasfaser
                  Dann fällt mir nur noch ein mit Acknowkedge beim setState zu spielen.
                  Könntest setState mit Acknowkedge true und false testen.

                  GlasfaserG Offline
                  GlasfaserG Offline
                  Glasfaser
                  wrote on last edited by Glasfaser
                  #491

                  @GiuseppeS

                  setState zu spielen.

                  habe wirklich schon alles durch ....
                  sogar von außerhalb per Api Befehl geschaltet , kein muckser von Popup View , nur mit dem Blind Button im Hintergrund .

                  Habe alles wieder gelöscht / zurückgesetz ....

                  Sieht doch auch so gut aus :

                  .
                  1.JPG
                  .
                  2.JPG

                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                  G 1 Reply Last reply
                  0
                  • GlasfaserG Glasfaser

                    @GiuseppeS

                    setState zu spielen.

                    habe wirklich schon alles durch ....
                    sogar von außerhalb per Api Befehl geschaltet , kein muckser von Popup View , nur mit dem Blind Button im Hintergrund .

                    Habe alles wieder gelöscht / zurückgesetz ....

                    Sieht doch auch so gut aus :

                    .
                    1.JPG
                    .
                    2.JPG

                    G Offline
                    G Offline
                    GiuseppeS
                    wrote on last edited by
                    #492

                    @Glasfaser
                    Gefällt mir farblich echt gut 👍
                    Dann muss ich bzgl. des Themas auch aufgeben.
                    @micklafisch
                    Könntest auf Scrounger zugehen oder allgemein das Thema mit der Widget-Steuerung in Erfahrung bringen. Könnte dann einen Schalter im Skript hinterlegen, wie das PopUp gesteuert werden soll.
                    Vielleicht wollen zukünftig mehr Anwender @Scrounger PopUp Widget verwenden.

                    M 1 Reply Last reply
                    0
                    • G GiuseppeS

                      @Glasfaser
                      Gefällt mir farblich echt gut 👍
                      Dann muss ich bzgl. des Themas auch aufgeben.
                      @micklafisch
                      Könntest auf Scrounger zugehen oder allgemein das Thema mit der Widget-Steuerung in Erfahrung bringen. Könnte dann einen Schalter im Skript hinterlegen, wie das PopUp gesteuert werden soll.
                      Vielleicht wollen zukünftig mehr Anwender @Scrounger PopUp Widget verwenden.

                      M Online
                      M Online
                      micklafisch
                      wrote on last edited by
                      #493

                      @GiuseppeS @Glasfaser
                      wow, ihr haut echt rein bezüglich Fehlersuche :blush:

                      Ich hatte ja @Scrounger auf diesen Thread verlinkt, ggf. kann er sich als Schöpfer dazu äußern bzw. hier Abhilfe schaffen.

                      Mal warten ob er sich rührt.

                      ScroungerS 1 Reply Last reply
                      0
                      • M micklafisch

                        @GiuseppeS @Glasfaser
                        wow, ihr haut echt rein bezüglich Fehlersuche :blush:

                        Ich hatte ja @Scrounger auf diesen Thread verlinkt, ggf. kann er sich als Schöpfer dazu äußern bzw. hier Abhilfe schaffen.

                        Mal warten ob er sich rührt.

                        ScroungerS Offline
                        ScroungerS Offline
                        Scrounger
                        Developer
                        wrote on last edited by
                        #494

                        @micklafisch
                        Hab schon brav mitgelesen:-) allerdings kann ich nicht ganz folgen und hab auch leider nicht die Zeit alles durchzulesen, sorry!

                        Wenn etwas bei den mdw nicht funktioniert, dann bitte ausführlich im Testing Thread beschreiben oder noch besser nen issued auf GitHub erstellen.

                        G 1 Reply Last reply
                        0
                        • ScroungerS Scrounger

                          @micklafisch
                          Hab schon brav mitgelesen:-) allerdings kann ich nicht ganz folgen und hab auch leider nicht die Zeit alles durchzulesen, sorry!

                          Wenn etwas bei den mdw nicht funktioniert, dann bitte ausführlich im Testing Thread beschreiben oder noch besser nen issued auf GitHub erstellen.

                          G Offline
                          G Offline
                          GiuseppeS
                          wrote on last edited by
                          #495

                          @Scrounger
                          In Beitrag 490 hat Glasfaser ein Test durchgeführt, wie das Dialog Widget aus deinem Paket per JS aufgerufen werden kann.
                          Result:
                          Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht. Wird das Boolean State aber mit einem Bool Button gesteuert öffnet sich der gewünschte Dialog.
                          Aber da es abstrakt gesehen, ausschließlich das Widget betrifft, ist ein Issue auf github für richtige Adresse. Falls die das Verhalten bekannt ist, könntest Du allerdings auch hier kurz eine Rückmeldung geben 😉

                          GlasfaserG 1 Reply Last reply
                          0
                          • G GiuseppeS

                            @Scrounger
                            In Beitrag 490 hat Glasfaser ein Test durchgeführt, wie das Dialog Widget aus deinem Paket per JS aufgerufen werden kann.
                            Result:
                            Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht. Wird das Boolean State aber mit einem Bool Button gesteuert öffnet sich der gewünschte Dialog.
                            Aber da es abstrakt gesehen, ausschließlich das Widget betrifft, ist ein Issue auf github für richtige Adresse. Falls die das Verhalten bekannt ist, könntest Du allerdings auch hier kurz eine Rückmeldung geben 😉

                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            wrote on last edited by Glasfaser
                            #496

                            @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                            Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht. Wird das Boolean State aber mit einem Bool Button gesteuert öffnet sich der gewünschte Dialog.

                            Nee ... so :

                            Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht.
                            Wird ein Boolean State im View gelegt als Dummy (nicht betätigt nur den Datenpunkt zugewiesen )
                            öffnet sich der gewünschte Dialog per JS

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            ScroungerS 1 Reply Last reply
                            1
                            • GlasfaserG Glasfaser

                              @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                              Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht. Wird das Boolean State aber mit einem Bool Button gesteuert öffnet sich der gewünschte Dialog.

                              Nee ... so :

                              Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht.
                              Wird ein Boolean State im View gelegt als Dummy (nicht betätigt nur den Datenpunkt zugewiesen )
                              öffnet sich der gewünschte Dialog per JS

                              ScroungerS Offline
                              ScroungerS Offline
                              Scrounger
                              Developer
                              wrote on last edited by Scrounger
                              #497

                              @Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                              @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                              Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht. Wird das Boolean State aber mit einem Bool Button gesteuert öffnet sich der gewünschte Dialog.

                              Nee ... so :

                              Wird das Boolean per JS auf true gesetzt, öffnet sich der Dialog nicht.
                              Wird ein Boolean State im View gelegt als Dummy (nicht betätigt nur den Datenpunkt zugewiesen )
                              öffnet sich der gewünschte Dialog per JS

                              OK dann weiß ich was das Problem ist, Werd ich in der nächsten Version beheben

                              Edit: Habs grad eingebaut, könnt also die aktuelle github version testen.

                              1 Reply Last reply
                              1
                              • M Online
                                M Online
                                micklafisch
                                wrote on last edited by
                                #498

                                Es klappt bei mir weiterhin nicht, aber verbessert mich wenn ich etwas falsch gemacht habe:

                                im ioB Admin auf "latest" umgestellt und per Katze von Github das materialdesign installiert. Habe zur Sicherheit nochmal das Zeitschaltuhr-Skript deaktiviert und aktiviert und die WidgetID gecheckt.

                                Das Popup geht weiterhin nicht auf - egal ob im Skript oneclick oder doubleclick hinterlegt ist.

                                GlasfaserG 1 Reply Last reply
                                0
                                • M micklafisch

                                  Es klappt bei mir weiterhin nicht, aber verbessert mich wenn ich etwas falsch gemacht habe:

                                  im ioB Admin auf "latest" umgestellt und per Katze von Github das materialdesign installiert. Habe zur Sicherheit nochmal das Zeitschaltuhr-Skript deaktiviert und aktiviert und die WidgetID gecheckt.

                                  Das Popup geht weiterhin nicht auf - egal ob im Skript oneclick oder doubleclick hinterlegt ist.

                                  GlasfaserG Offline
                                  GlasfaserG Offline
                                  Glasfaser
                                  wrote on last edited by
                                  #499

                                  @micklafisch

                                  Muss per Datenpunkt wie ich oben erwähnt getriggert werden , dazu kann @GiuseppeS es einbauen .

                                  oder du baust mein Snipsel ein

                                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                  M 1 Reply Last reply
                                  0
                                  • GlasfaserG Glasfaser

                                    @micklafisch

                                    Muss per Datenpunkt wie ich oben erwähnt getriggert werden , dazu kann @GiuseppeS es einbauen .

                                    oder du baust mein Snipsel ein

                                    M Online
                                    M Online
                                    micklafisch
                                    wrote on last edited by
                                    #500

                                    @Glasfaser
                                    achso, sorry mein Fehler :confused:. Dachte mit der Anpassung von @Scrounger hätte sich das erledigt.

                                    GlasfaserG G 2 Replies Last reply
                                    0
                                    • M micklafisch

                                      @Glasfaser
                                      achso, sorry mein Fehler :confused:. Dachte mit der Anpassung von @Scrounger hätte sich das erledigt.

                                      GlasfaserG Offline
                                      GlasfaserG Offline
                                      Glasfaser
                                      wrote on last edited by
                                      #501

                                      @micklafisch

                                      Hat er denn schon eine Anpassung in der Version die du runtergeladen hast durchgeführt !?

                                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                      M 1 Reply Last reply
                                      0
                                      • M micklafisch

                                        @Glasfaser
                                        achso, sorry mein Fehler :confused:. Dachte mit der Anpassung von @Scrounger hätte sich das erledigt.

                                        G Offline
                                        G Offline
                                        GiuseppeS
                                        wrote on last edited by GiuseppeS
                                        #502

                                        @micklafisch
                                        Werde im oberen Bereich der Variablen eine neue Variable erstellen:

                                        let mdAdapterID = false;

                                        Ist diese ID false oder nicht existent, wird alles so gehandhabt wie bisher, Standard Widget.
                                        Steht in diese Variable auf true, wird das PopUp über eine ID mit true/false gesteuert.
                                        Die ID werde ich mit dem Skript automatisch erstellen.
                                        Im Hauptpfad die ID "MdAdapterID".

                                        Korrigiert mich falls ich falsch liege:

                                        • true: Dialog wird angezeigt
                                        • false: Dialog ist nicht geöffnet

                                        Wenn es so funktioniert, ist das echt geschickt gelöst.
                                        Werde das Timer Skript morgen anpassen und hochladen.

                                        Bisherige Anwender ohne Material Design Adapter müssen nichts anpassen.

                                        Wichtig:
                                        Wenn Du Scroungers letzte Version installiert hast. Bitte teste das PopUp zunächst unabhängig vom Timer Skript. Nur um zu bestätigen, dass es bei dir funktioniert.
                                        Kannst ja die ID des md Widgets direkt im Objekt

                                        1 Reply Last reply
                                        0
                                        • GlasfaserG Glasfaser

                                          @micklafisch

                                          Hat er denn schon eine Anpassung in der Version die du runtergeladen hast durchgeführt !?

                                          M Online
                                          M Online
                                          micklafisch
                                          wrote on last edited by
                                          #503

                                          @Glasfaser @GiuseppeS
                                          Argh, ich dreh gerade hohl und hab den Wald vor lauter Bäumen nicht gesehen.

                                          Mit dem Codeschnippsel von @Glasfaser funktioniert das Popup jetzt. Ich dachte ich hätte die Codezeilen noch drin, dem war aber nicht so :fearful:

                                          Ich sehe es auch so, wenn State "true" dann sollte der Dialog offen sein.

                                          Habe es gerade noch einmal zur Sicherheit in einem blanken Projekt getestet. Wenn ich im Admin manuell den DP triggere, geht in der VIS das Popup auf. Dort ist der Boolsche DP als trigger hinterlegt.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          672

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          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