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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Variable Zeitsteuerung mit VIS Editor

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

      @GiuseppeS japp sieht sehr schön aus...

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

        Update ist im ersten Post online:

        Changelog 08.08.2020 (Skript + Editor-View)

        • Anzahl Bedingungen von 3 auf 9 erweitert
        • Bedingungen werden in Editor-View als HTML-Tabelle angezeigt
        • Im Editor-View wird nun ENTWEDER Zeile "Zeiteingabe" ODER "Offset" angezeigt.
        • Timer-JSON und EDITOR-States werden mit Skript-Update ergänzt

        Für ein manuelles Update gilt folgendes:

        • Skript ersetzen (wie immer ab markierten Bereich)
        • Im Editor View können alle DropDowns, die für die Bedingungen zuständig waren, gelöscht werden. Es wird nun ein html-Widget mit dem Inhalt {javascript.0.Timer.Editor.ConditionsHtml} benötigt. Im oberen Bereich des Editors habe ich eine Zeile eingespart; es wird nun keine Zeile mit "Eingabe nicht erforderlich" angezeigt. Das kann bei Bedarf übernommen werden.
        • Das DropDown für die Auswahl "Anzahl Bedingungen" kann bis auf 9 erweitert werden

        P.S.: Bin kein HTML-Experte, aber irgendwie habe ich es hinbekommen, dass im HTML der Bedingungen (Editor-View) automatisch bis zur letzten Bedingung runtergescrollt wird. Ich hielt es für sinnvoll, wenn neue Bedingungen ergänzt werden. Falls Nebenwirkungen erscheinen sollten, einfach Bescheid geben.


        EDIT: Bug entdeckt... Update kurzzeitig entfernt

        EDIT2: Bug behoben. Update hochgeladen.

        smartboart 1 Reply Last reply Reply Quote 2
        • smartboart
          smartboart @GiuseppeS last edited by

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

          javascript.0.Timer.Editor.ConditionsHtml

          hi , hab prombt mal umgestellt...

          Danke für die Weiterentwicklung....
          Beim Hinzunehmen vone Bedingungen sieht es bei mir so aus...
          Die Werte und Vergleicher fehlen...

          Unbenannt.JPG

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

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

            Die Werte und Vergleicher fehlen...

            auch wenn du Ihn als erstes auswählst ( Bedingung 1 ) !?

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

              @Glasfaser

              ja

              Unbenannt.JPG

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

                @smartboart

                im Screenshot oben ist aber :

                .
                2.JPG

                ????

                Sind dann mehere betroffen !????

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

                  @Glasfaser Unbenannt.JPG

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

                    @smartboart

                    Habe gestern/heute alles nach dem Update von ihm durchgespielt ... alles wird angezeigt .

                    .
                    33.JPG

                    .

                    Starte mal das Script bzw. dein System neu , als würde er die Bedingungen nicht richtig zuweisen ..

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

                      @Glasfaser
                      hat nix gebracht....

                      vlt. liegt es daran, dass ich vorher schon 6 Bedingungen hatte und beim jetzigen wieder Aufbereiten des json was durcheinander ging...

                      Wenn ich jatzt alle states wieder lösche muss ich alles neu anlegen.

                      hatte das script auch nochmal komplett neu kopiert weil ich dachte meine Anpassungen haetten was zerschossen...Aber ich passe ja nur an 2 Stellen an. ( Enum und Viewwechsel ). kann also auch nicht sein...

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

                        @smartboart

                        Nimm mal das Script ( neu anlegen lassen ) im Original mit dem Orginal View/Popup und dann deine Bedingung anpassen ...
                        was ist dann !?

                        smartboart G 2 Replies Last reply Reply Quote 0
                        • G
                          GiuseppeS @smartboart last edited by GiuseppeS

                          @smartboart
                          Wenn Du die Version heute geladen hast, hätte es funktionieren müssen. Gestern Abend hatte ich tatsächlich noch ein Bug drin.

                          Was steht im State "Editor.Cond7State" wenn du was gewählt hast (für 7. Bedingung)?
                          Geht es bei dir allgemein nicht weiter wenn du eine Bedingung neu hinzufügst? Als auch wenn du nur zwei Bedingungen hattest und eine Dritte hinzufügen möchtest?
                          Du kannst im Skript debugLog aktivieren, wird was angezeigt wenn Du ein State auswählst?

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

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

                            Nimm mal das Script ( neu anlegen lassen ) im Original mit dem Orginal View/Popup und dann deine Bedingung anpassen ...
                            was ist dann !?

                            wollte ich gerade machen ...jetzt sind meine gefühlten 100 Skripte nicht mehr im Baum zu sehen....nur noch 4 stück...Beim Exportieren sind noch alle da...Laufen auch alle...Der Anzeigebaum ist voll im Eimer...Muss erstmal schauen was da jetzt los ist...

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

                              @Glasfaser
                              Kannst du neue Bedingungen hinzufügen?

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

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

                                @Glasfaser
                                Kannst du neue Bedingungen hinzufügen?

                                ????

                                du meinst @smartboart

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

                                  @Glasfaser
                                  Meinte schon dich 😉

                                  Kurioserweise kann ich gerade auch keine Bedingungen ergänzen. Bin allerdings unterwegs. Schaue es mir später an, bin gerade unterwegs.

                                  In meinem Testsystem funktioniert es einwandfrei. Habe evtl den Bugfix nicht übernommen. Werde es heute Abend korrigieren. Sorry

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

                                    @GiuseppeS

                                    So habe jetzt Produktiv umgestellt :

                                    Habe auch ein Fehler .... ich arbeite mit Split

                                    dort wird nach dem einfügen des neuen Scripts nichts mehr angezeigt .
                                    Die Datenpunkte werden für das html erstellt

                                    sieht aber dann so aus

                                    Original alt :

                                    1111111111111.JPG
                                    .
                                    Neu
                                    2222222222222.JPG

                                    .
                                    hier der Html Inhalt :

                                    Alt :

                                    <style>.timer-remember-green-glow {filter: drop-shadow(0px 0px 2px #4CAF50) drop-shadow(0px 0px 2px #4CAF50) drop-shadow(0px 0px 4px #4CAF50)}.timer-remember-red-glow {filter: drop-shadow(0px 0px 2px #F44336) drop-shadow(0px 0px 2px #F44336) drop-shadow(0px 0px 4px #F44336)}.timer-remember-red-blink {animation: timer-remember-blink-ani 1s linear infinite;}@keyframes timer-remember-blink-ani {0%,50% {filter: drop-shadow(0px 0px 4px #F44336) drop-shadow(0px 0px 4px #F44336) drop-shadow(0px 0px 4px #F44336); }51% {filter: none;}}</style><table style='font-size:1em;width:100%;'><thead><tr><th style='text-align:left;'><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" >Aktiv</button></th><th style='text-align:left;'><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" >Bed</button></th><th style='text-align:left;'><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" >Zeit</button></th><th style='text-align:left;'>Wochentag</th><th style='text-align:left;'>Soll</th><th style='text-align:left;'>Astro</th><th style='text-align:left;'>Offset</th><th style='text-align:left;'>Zufall</th></tr></thead><tbody><tr><td><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" value="Rollladenaktor Küche.LEVEL~1~nr"onclick="setOnClickRollladenEG(this.value)"ondblclick="setOnDblClickRollladenEG(this.value)">✅</button></td><td> </td><td><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" value="Rollladenaktor Küche.LEVEL~1~time"onclick="setOnClickRollladenEG(this.value)"ondblclick="setOnDblClickRollladenEG(this.value)">21:08</button></td><td>täglich</td><td>Ab</td><td>sunset</td><td>+ 10</td><td>± 20</td></tr><tr><td><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" value="Rollladenaktor Küche.LEVEL~2~nr"onclick="setOnClickRollladenEG(this.value)"ondblclick="setOnDblClickRollladenEG(this.value)">✅</button></td><td> </td><td><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" value="Rollladenaktor Küche.LEVEL~2~time"onclick="setOnClickRollladenEG(this.value)"ondblclick="setOnDblClickRollladenEG(this.value)">06:48</button></td><td>täglich</td><td>Auf</td><td>goldenHourEnd</td><td> </td><td>± 20</td></tr></body></table><script>function setOnClickRollladenEG(val) {var objID = "javascript.0.Timer.RollladenEG.clickTarget";servConn.setState(objID, val);}function setOnDblClickRollladenEG(val) {var objID = "javascript.0.Timer.RollladenEG.dblClickTarget";servConn.setState(objID, val);}</script>
                                    

                                    Neu mit Update :

                                    <style>.timer-remember-green-glow {filter: drop-shadow(0px 0px 2px #4CAF50) drop-shadow(0px 0px 2px #4CAF50) drop-shadow(0px 0px 4px #4CAF50)}.timer-remember-red-glow {filter: drop-shadow(0px 0px 2px #F44336) drop-shadow(0px 0px 2px #F44336) drop-shadow(0px 0px 4px #F44336)}.timer-remember-green-blink {animation: timer-remember-green-blink-ani 1s linear infinite;}.timer-remember-red-blink {animation: timer-remember-red-blink-ani 1s linear infinite;}@keyframes timer-remember-green-blink-ani {0%,50% {filter: drop-shadow(0px 0px 4px #4CAF50) drop-shadow(0px 0px 4px #4CAF50) drop-shadow(0px 0px 4px #4CAF50); }51% {filter: none;}}@keyframes timer-remember-red-blink-ani {0%,50% {filter: drop-shadow(0px 0px 4px #F44336) drop-shadow(0px 0px 4px #F44336) drop-shadow(0px 0px 4px #F44336); }51% {filter: none;}}</style><table style='font-size:1em;width:100%;'><thead><tr><th style='text-align:left;'><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" >Aktiv</button></th><th style='text-align:left;'><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" >Bed</button></th><th style='text-align:left;'><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" >Zeit</button></th><th style='text-align:left;'>Wochentag</th><th style='text-align:left;'>Soll</th><th style='text-align:left;'>Astro</th><th style='text-align:left;'>Offset</th><th style='text-align:left;'>Zufall</th></tr></thead><tbody></tbody></table><script>function setOnClickRollladenEG(val) {var objID = "javascript.0.Timer.RollladenEG.clickTarget";servConn.setState(objID, val);}function setOnDblClickRollladenEG(val) {var objID = "javascript.0.Timer.RollladenEG.dblClickTarget";servConn.setState(objID, val);}</script>
                                    

                                    hier der LOG :

                                    2020-08-09 16:04:30.172 - info: javascript.0 (31028) Stop script script.js.Timer.Rollladen.Timer_Rollladen_EGTest
                                    2020-08-09 16:04:30.334 - info: javascript.0 (31028) Start javascript script.js.Timer.Rollladen.Timer_Rollladen_EGTest
                                    2020-08-09 16:04:30.365 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: registered 0 subscriptions and 0 schedules
                                    2020-08-09 16:04:31.879 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor Küche.LEVEL #1": [1] | 8 21 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0300877.1.LEVEL | Ab
                                    2020-08-09 16:04:31.881 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor Küche.LEVEL #2": [2] | 48 6 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0300877.1.LEVEL | Auf
                                    2020-08-09 16:04:31.884 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor WC.LEVEL #1": [21] | 44 21 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0300882.1.LEVEL | Ab
                                    2020-08-09 16:04:31.887 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor WC.LEVEL #2": [22] | 4 7 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0300882.1.LEVEL | Auf
                                    2020-08-09 16:04:31.889 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor Terrassentür.LEVEL #1": [41] | 47 21 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0301018.1.LEVEL | Ab
                                    2020-08-09 16:04:31.891 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor Terrassentür.LEVEL #2": [42] | 0 8 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0301018.1.LEVEL | Auf
                                    2020-08-09 16:04:31.893 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor Wohnzimmer.LEVEL #1": [61] | 26 21 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0301105.1.LEVEL | Ab
                                    2020-08-09 16:04:31.894 - info: javascript.0 (31028) script.js.Timer.Rollladen.Timer_Rollladen_EGTest: Schedule aktiviert: "Rollladenaktor Wohnzimmer.LEVEL #2": [62] | 45 6 * * 0,1,2,3,4,5,6 | hm-rpc.1.JEQ0301105.1.LEVEL | Auf
                                    

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

                                      @Glasfaser
                                      Kannst du bitte prüfen, ob da nicht was anderes schief gelaufen ist? Korrekt kopiert? Habe an dem Teil im Skript nichts geändert. Aber wenn ich den anderen Fehler mit den Bedingungen korrigiert habe, kann ich mir das auch anschauen.

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

                                        @smartboart

                                        Habe den Fehler gefunden, der das Erstellen neuer Bedingungen verhindert hat:

                                        in Zeile 685 muss folgende stehen:

                                        let html = '<select class="' + selectClass + '" onchange="setOnEdit' + path + '(this.value)">';
                                        

                                        Im Original steht statt " + path + " mein fixer Pfad drin. Kannst Du bei dir manuell korrigieren.

                                        @Glasfaser
                                        Kann deinen Fehler gerade nachstellen. Erklären kann ich es mir gerade jedoch noch nicht. Suche mal weiter...

                                        Version ist aus Post 1 zunächst entfernt...

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

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

                                          let html = '<select class="' + selectClass + '" onchange="setOnEdit' + path + '(this.value)">';

                                          hab ich geändert danke...

                                          jetzt kommt ....
                                          Unbenannt.JPG

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

                                            @smartboart

                                            Selbe Fehler wie zuvor an anderer Stelle:

                                            html += (!isBool ? '<input class="' + selectClass + '" value="' +  value + '" type="text" onchange="setOnEdit' + path + '(\'' + i + "~value~" + '\' + this.value)">' : "" )
                                            

                                            Bitte korrigieren. Bei dir steht noch "AtHomeSimul" an der Stelle, wo hier nun path genutzt wird.

                                            @Glasfaser

                                            Habe den Fehler lokalisiert bzgl. Split. Ich kann es mir absolut nicht erklären, aber die Callback-Funktion von CreateState scheint alle Variablen aus dem darüber liegenden Scope nicht zu kennen. Ging aber bisher... Werde es umstrukturieren und Update hochladen. Geht einfacher als hierbei den Fehler zu erörtern. Wollte mit dem Callback verhindern, dass ein State geschrieben wird, bevor es existiert.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            964
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            template vis
                                            47
                                            919
                                            206911
                                            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