Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Vorlage] Variable Zeitsteuerung mit VIS Editor

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Vorlage] Variable Zeitsteuerung mit VIS Editor

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @GiuseppeS last edited by

      @GiuseppeS

      In etwa so !?

      1.JPG

      G 1 Reply Last reply Reply Quote 0
      • G
        GiuseppeS @Glasfaser last edited by

        @Glasfaser
        Ne 😲
        Du bist gerade im Bereich, wo das Dropdown für Bool-States erstellt wird. Dass nur true/false statt Zahlenwerte angezeigt werden. Suche im Skript einfach nach "grpNames", dann findest du die verwendete Stelle 😉

        Habe es hochgeladen, ist korrigiert....

        Erläuterung:
        In der main-Funktion gibt es zwei Bereiche, die mit if/else geteilt sind. If wird durchlaufen, wenn noch keine States vorhanden sind; hier wurde das Gruppen-Dropdown bis eben beschrieben. Danach kommt der Else-Bereich, hier wird z.B. geprüft, ob in der Aufzählung neue Geräte hinzugekommen sind.
        Entweder unter diesem If/Else-Block oder darüber hätte das Beschreiben des Dropdowns stattfinden müssen. Habe nun korrigiert (unter dem If/Else-Block, da hier mehrere Befehle ausgeführt werden.

        Glasfaser 1 Reply Last reply Reply Quote 1
        • Glasfaser
          Glasfaser @GiuseppeS last edited by Glasfaser

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

          @Glasfaser
          Ne 😲

          War nur ein Test von mir … 😁 funktionierte aber 👻

          Ahhh .. da ist die Änderung …

          1.JPG

          1 Reply Last reply Reply Quote 0
          • G
            GiuseppeS last edited by

            Habe gerade ein minimales Update hochgeladen. Nur informativ für Nutzer der Uhula-Widgets (hier ja auch verwendet):

            Was ich gerade für die Bool-Switch (mdui-switch) gefunden habe: Mit {wid} lässt sich dynamisch die Widget-ID einbinden. Im HTML-Bereich musste immer die Widget-ID angepasst werden. Das ist mit dem dynamischen Binding nicht mehr notwendig. Habe das in meinen Views angepasst und auch hier entsprechend hochgeladen. Gemeint ist folgende Änderung:

            <label for="{wid}_checkbox"><label>
            

            statt zum Beispiel

            <label for="w00123_checkbox"><label>
            
            1 Reply Last reply Reply Quote 0
            • G
              GiuseppeS last edited by

              Da ich diese Woche auch "etwas" Zeit hatte, habe ich mal am Skript weiterentwickelt.
              Die fehlende "Timer merken" Funktion ist nun integriert. Außerdem habe ich einiges aufgeräumt und Aufgrund der neuen Funktion die Abfolgen im Skript angepasst.

              Damit "Timer merken" innerhalb der Tabelle hervorgehoben wird, habe ich drei Varianten von Uhula's CSS direkt integriert. Wenn "Timer merken" aktiv ist, werden die Bedingungen mit "glow" hinterlegt. Je nach Status true/false ist die Farbe auch wieder grün/rot. Wenn ein Timer im Hintergrund schlummert, wird die Zahl der Bedingung rot-blinkend dargestellt.

              Für ein manuelles Update aus der letzten Version:

              • Neues Skript unterhalb der Variablen (Zeile ca. 65) kopieren und bei euch auch wieder unterhalb der Variablen einsetzen.
              • Rest betrifft nur das PopUp für die VIS:
                • 2 Widgets für "Bedingungen für Gruppe übernehmen"
                • 2 Widgets für "Timer merken" inkl. Sichtbarkeit
                • Dialog 40px länger (700 -> 740)
                • Dialog Pos Oben 13px (vorher 50px)

              Habe das neue Skript bereits zwei Tage im Einsatz, mir ist nichts negatives aufgefallen. Habe auch versucht alle Fälle zu testen, aber falls bei euch dennoch ein fehlerhaftes Verhalten vorkommt, einfach rückmelden. Bin noch eine Weile daheim 😉


              Changelog 26.03.2020

              • Bugfix für font-size der Tabelle (wurde zuvor nicht korrekt übernommen)
              • Gruppenzuordnungen unterteilt in "Zeiten" und "Bedingungen"
              • Funktion "Timer merken" hinzugefügt:
                • Timer wird gemerkt für den Fall dass die Bedingungen erst nach Trigger-Uhrzeit "true" werden.
                • Timer werden aus der "Merkliste" vorzeitig gelöscht, falls sich die Ziel Objekt-ID anderweitig ändert oder der nächste Timer des Devices aktiviert wird.
              • "javascript.0.Timer.Devices.Editor.DropDownNr" wird seit Touch-Bedienung nicht mehr benötigt. Kann gelöscht werden.
              Glasfaser 1 Reply Last reply Reply Quote 1
              • Glasfaser
                Glasfaser @GiuseppeS last edited by Glasfaser

                @GiuseppeS

                Danke ....

                Gerade an der Terrassentür getestet 👍

                1.JPG

                ...........mit Log Ausgabe 👍

                .
                2.JPG

                G 1 Reply Last reply Reply Quote 0
                • G
                  GiuseppeS @Glasfaser last edited by

                  @Glasfaser
                  Freut mich, dass es keine Komplikationen gibt 👍

                  Glasfaser 1 Reply Last reply Reply Quote 0
                  • Glasfaser
                    Glasfaser @GiuseppeS last edited by

                    @GiuseppeS

                    Noch nicht .... da ich ja nur deine Erweiterungen bei mir Einbau / bzw. mein VIS danach ändere 😉

                    Frage :

                    In den Raum gestellt ...

                    ich habe zb. 20 Zeiten diese enthalten Bedingungen und "Timer merken ".
                    Dann würden auf einmal bzw. Zeitversetzt alle Timer nachträglich aktiviert werden je nach Bedingung , wären dann zb. 16 die darin enthalten sind .

                    Ist es möglich , das ich dann zb. die noch 16 anliegende "Timer merken " für diesen Moment zb. heute auf ein Schlag löschen ., bzw. stoppen kann , so das sie nicht mehr etwas triggern sollen .

                    G 1 Reply Last reply Reply Quote 0
                    • G
                      GiuseppeS @Glasfaser last edited by GiuseppeS

                      @Glasfaser
                      Pro Gerät ist immer nur ein Timer im Hintergrund "aktiv".

                      Sind in deinem Beispiel alle 20 Timer auf verschiedene Geräte verteilt? Dann würden tatsächlich alle 20 (oder zumindest die mit "Bedingungen=true") ausgeführt werden. Ansonsten ist immer nur maximal ein Timer pro Gerät im Hintergrund aktiv.

                      Passt das soweit? Ansonsten bräuchte ich genauere Angaben wie es gewünscht ist. Nach dem letzten Umbau des Skripts können gewisse Funktionen wahrscheinlich einfacher integriert werden.

                      Edit:
                      Alle ausstehenden Timer im Hintergrund (also über mehrere Geräte) löschen wäre per Knopfdruck ziemlich simpel. Wäre ein zusätzliches Widget im Hauptview.
                      Einzelne Timer im Hintergrund können "gelöscht" werden, wenn der entsprechende Timer kurz deaktiviert und wieder aktiviert wird.

                      Glasfaser 1 Reply Last reply Reply Quote 0
                      • Glasfaser
                        Glasfaser @GiuseppeS last edited by Glasfaser

                        @GiuseppeS

                        Nee ..... war nur ein Beispiel ( auch bei verschiedenen Geräten ) was mir halt dabei aufgefallen ist mit dieser neuen "Funktion" das man es auch stoppen kann ,
                        wenn es denn so sei ... so bei anderen Nutzern die dein Skript nutzen !

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          GiuseppeS @Glasfaser last edited by

                          @Glasfaser
                          Was mir gerade einfällt, hatte die letzten Erkenntnisse schon wieder vergessen:
                          Wenn so eine Funktion "Alle löschen" Sinn macht, dann ginge das mit Sicherheit auch innerhalb der HTML Tabelle.
                          Wenn ein Timer im Hintergrund ist, dann kommt temporär eine zusätzliche Spalte. Neben dem im Hintergrund aktiven Timer würde dann ein Reset-Button erscheinen. In der Überschrift könnt in derselben Spalte ein Reset-Button alle Background-Timer löschen.

                          Würde es aber gerne mit "mehr Intelligenz" im Skript lösen. Wenn z.B. immer nur ein Background-Timer ausgeführt werden soll, und die anderen immer löschen, dann wäre dieses Verhalten über eine Variable umschaltbar.
                          Hier wäre wiederum die Frage offen: Wenn theoretisch 20 Timer gleichzeitig aktiv werden, welcher Timer hätte dann den Vorrang?

                          Glasfaser 1 Reply Last reply Reply Quote 0
                          • Glasfaser
                            Glasfaser @GiuseppeS last edited by

                            @GiuseppeS
                            Ist halt die Frage vom nutzen , bzw. von der Übersichlichkeit her .🤔

                            Annahme von mir :
                            Ein Extra Button ( Reset ) als Gesamtlöschen würde dann bei aktiven noch nicht ausgeführten Timern blinken , wie du es schon so hast und über diesen Button kann man dann die zurückliegenden Timer für den heutigen Tage löschen .

                            Hier wäre wiederum die Frage offen: Wenn theoretisch 20 Timer gleichzeitig aktiv werden, welcher Timer hätte dann den Vorrang?

                            Die würden im jetzigen Skript alle auf einmal ausgeführt werden .

                            Wie gesagt .... ist jetzt nur im Raum gestellt diese Situation .....

                            1 Reply Last reply Reply Quote 0
                            • sigi234
                              sigi234 Forum Testing Most Active @GiuseppeS last edited by

                              @GiuseppeS

                              Das stehe ich auf der Leitung:

                              var deviceCond = "enum.functions.timerconditions";
                              

                              Screenshot (2177).png

                              Glasfaser G 2 Replies Last reply Reply Quote 0
                              • Glasfaser
                                Glasfaser @sigi234 last edited by

                                @sigi234
                                Dort sind deine Bedingeungen hinterlegt , bei mir ist es dann so !

                                1.JPG

                                1 Reply Last reply Reply Quote 0
                                • G
                                  GiuseppeS @sigi234 last edited by

                                  @sigi234
                                  Hatte es bei dir nicht schonmal funktioniert?

                                  Die von dir erwähnte Aufzählung muss existieren. Darin sollten Objekt-IDs enthalten sein, die man als Bedingung nutzen möchte.

                                  sigi234 2 Replies Last reply Reply Quote 0
                                  • sigi234
                                    sigi234 Forum Testing Most Active @GiuseppeS last edited by

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

                                    Hatte es bei dir nicht schonmal funktioniert?

                                    Ja, habe ich wieder gelöscht, Warum auch immer.😵

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      GiuseppeS last edited by

                                      @Glasfaser
                                      Bzgl. Löschung der Background-Timer könnte auch direkt die Spalte mit den Bedingungen genutzt werden. Wäre das unkomplizierteste.
                                      Einfach Doppel-Klick auf die Bedingung innerhalb der Tabelle, löscht den einzelnen Timer.
                                      Doppel-Klick auf die Überschrift "Bed" löscht alle Timer.

                                      Wer es nutzen möchte, hat eine Möglichkeit. Wer es nicht nutzen möchte, merkt nicht einmal dass diese Funktion existiert.

                                      @sigi234
                                      Wenns hängt kannst du auch einen Chat starten.

                                      Glasfaser 1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active @GiuseppeS last edited by

                                        @GiuseppeS

                                        Keine Ahnung, warum ich die Buttons nicht angezeigt bekommen?

                                        Uhulas-CSS habe ich die Neueste, oder muss man deines nehmen?

                                        Screenshot (2179).png

                                        G 1 Reply Last reply Reply Quote 0
                                        • G
                                          GiuseppeS @sigi234 last edited by

                                          @sigi234
                                          Buttons sind unsichtbar. Werden sichtbar wenn du auf ein Geräte links klickst

                                          sigi234 1 Reply Last reply Reply Quote 0
                                          • sigi234
                                            sigi234 Forum Testing Most Active @GiuseppeS last edited by sigi234

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

                                            @sigi234
                                            Buttons sind unsichtbar. Werden sichtbar wenn du auf ein Geräte links klickst

                                            Man sollte einfach Alles lesen.

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

                                            Die Haupt-Tabelle mit den dargestellten Timern ist interaktiv:

                                            Sobald ein "Gerät", der "Aktiv-Status" oder die "Ist-Zeit" eines Timers einmalig angetippt wird, erscheinen zwei Buttons oben rechts. Es ist möglich, Timer hinzuzufügen (als Kopie des aktuell gewählten Timers) oder Timer zu löschen. Die Buttons verschwinden wieder nach 5s, sodass die Standardansicht immer "ungestört" ist.
                                            Ein Doppelklick auf das Gerät oder auf die Ist-Zeit öffnet den Editor für den Timer.
                                            Ein Doppelklick auf den Aktiv-Status schaltet diesen Status um (toggle).

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            template vis
                                            47
                                            919
                                            199091
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo