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.
    • G
      GiuseppeS last edited by

      Habe nun noch schnell die Version hochgeladen, in der die Mappings bzgl. individueller Sollwerte einfacher möglich ist. Schaut nun so aus:

      var sollDropDown = "0;5;10;15;20;30;40;50;60;70;80;90;100;Auf;Ab";
      // Soll-Werte für Bool-States true/false (werden automatisch erkannt)
      var sollDropDownBool = "An;Aus";
      // Falls Soll-Werte individualisiert wurden, bitte nachfolgend die realen Werte hinterlegen/anpassen
      var sollWertMapping = {"Auf": 100, "Ab": 0, "An": true, "Aus": false}
      

      Wenn in sollDropDown oder sollDropDownBool etwas bzgl. ausgeschriebener Sollwerte geändert wird, müssen deren "Übersetzungen" (Mappings) im unteren JSON sollWertMapping eingetragen werden.
      Beispiel:
      Wenn das Skript für Rollläden genutzt wird, könnte in sollDropDown der String "mitte" hinzugefügt werden. Im JSON könnte dann eingetragen werden: "mitte": 50.
      Wenn in diesen drei Variablen etwas geändert werden sollte: Bitte achtet darauf, dass die Einzelwerte durch ; oder , getrennt werden.

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

        @GiuseppeS

        Danke ... bin gerade am Erweitern 😊

        Im htlm Code
        ( z.b. javascript.0.Timer.RollladenEG.HTML_Rollladenaktor Wohnzimmer.LEVEL )
        ist eine 0 reingerutscht !
        .

        <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>
        0<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 Wohnzimmer.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 Wohnzimmer.LEVEL~1~time"onclick="setOnClickRollladenEG(this.value)"ondblclick="setOnDblClickRollladenEG(this.value)">20:13</button></td>
        <td>täglich</td>
        <td>Ab</td>
        <td>dusk</td>
        <td>- 20</td>
        <td>± 15</td>
        </tr>
        
        <tr>
        <td><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" value="Rollladenaktor Wohnzimmer.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 Wohnzimmer.LEVEL~2~time"onclick="setOnClickRollladenEG(this.value)"ondblclick="setOnDblClickRollladenEG(this.value)">07:34</button></td>
        <td>täglich</td>
        <td>Auf</td>
        <td>goldenHourEnd</td>
        <td>- 15</td>
        <td>± 15</td>
        </tr>
        
        <tr>
        <td><button style="border:none; background-color:transparent; color:white; font-size:1.0em; text-align:left" value="Rollladenaktor Wohnzimmer.LEVEL~3~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 Wohnzimmer.LEVEL~3~time"onclick="setOnClickRollladenEG(this.value)"ondblclick="setOnDblClickRollladenEG(this.value)">07:55</button></td>
        <td>täglich</td>
        <td>Auf</td>
        <td>goldenHourEnd</td>
        <td>- 15</td>
        <td>± 15</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>
        


        .
        2.JPG
        .
        1.JPG

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

          @Glasfaser
          Oh, wo kommt die her. Schaue ich mir direkt mal an. Bin gerade zufällig daheim 😆

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

            @Glasfaser
            In Zeile 1461 ist ein einzelnes Plus-Zeichen. Das kannst du bei dir entfernen. Habe es eben auch im Master entfernt und gerade hochgeladen

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

              @GiuseppeS

              Das ist mal ein schneller Service 🙂

              1.JPG

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

                @Glasfaser
                Sag mal, was hast du eigentlich für eine Schriftart oder wo hast du die eingestellt? Global oder pro View?

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

                  @GiuseppeS
                  im View ( Widget ) eingestellt

                  Jura-DemiBold
                  
                  1 Reply Last reply Reply Quote 1
                  • Stratos Gkrekidis
                    Stratos Gkrekidis @GiuseppeS last edited by

                    @GiuseppeS
                    Danke ... für das neue update (sollwert Mapping)

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

                      @GiuseppeS

                      Nur zur Info !

                      Nach dem einspielen des Updates v2 am 29.03 , hatte ich das Phänomen , das die Scrips später kurz in Pause gegangen sind ( gelb ) und dannach lief alles .( viel später als die neuen State´s erstellt wurden )
                      Habe mir nichts dabei gedacht , es lief ja alles ...

                      Wegen arbeiten an meiner Synology habe ich gestern sie mal neu Rebootet .
                      Heute ohne Grund sind keine Rollladen hochgefahren , beide Scrips sind jetzt ganz in Dauerpause .
                      Habe das System danach neu Rebootet .......
                      .
                      1.png

                      .
                      Ich werde es beobachten , nur ist nichts im Log .

                      G 1 Reply Last reply Reply Quote 0
                      • Stratos Gkrekidis
                        Stratos Gkrekidis last edited by

                        bei mir läuft es wie geschmiert seit heute morgen.

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

                          @Glasfaser
                          Hast du nach dem Einspielen der letzten Version die zwei neuen Variablen oben erstellt?

                          Wenn das Skript auf gelb geht, müssten Fehler im Log angezeigt werden. Wenn das wiederholt vorkommt, bitte im Skript oben Debug-Ausgabe aktivieren.

                          Edit:
                          Eben erst gelesen, dass anscheinend nichts im Log angezeigt wird 🙇

                          Glasfaser 1 Reply Last reply Reply Quote 1
                          • Stratos Gkrekidis
                            Stratos Gkrekidis last edited by

                            das sind mein Änderungen

                            var sollDropDown = "0;5;10;15;20;30;40;50;60;70;80;90;100;Up;Down;Eco;Normal";

                            var sollWertMapping = {"Up": 100, "Down": 0, "On": true, "Off": false, "Eco": "Eco", "Normal": "Normal"}

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

                              @GiuseppeS

                              Vorher den Zusatz/Erweiterung eingetragen und dann den Rest erneuert , dann das Script gestartet . Die Pause kam viele später ....

                              Edit:
                              Eben erst gelesen, dass anscheinend nichts im Log angezeigt wird

                              Keine Panik ... ( habe selber nicht mehr daran gedacht ))
                              Die große Debug-Ausgabe nimm ich dann mal im Betrieb ,habe Sie aus gehabt !!!

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

                                @Stratos-Gkrekidis
                                Das scheint bei dir ja gut zu passen 👍

                                @Glasfaser
                                Es spricht dafür, dass der Fehler erst auftritt, wenn ein Timer ausgeführt wird. Evtl könntest du einen regulären Timer testweise auf 15 Uhr o.ä. stellen, um den Fehlerfall früher zu reproduzieren.

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

                                  @GiuseppeS

                                  Kann ich machen .... das ich mehere früher einstelle .

                                  Nur habe ich bestimmt gestern über 20 mal es sowieso in anspruch genommen , wo ich die Ausgabentabelle /Timer merken getestet habe , damit ich es im View einbauen kann .
                                  Und spät Abend´s führen auch alle Rollläden runter .

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

                                    @GiuseppeS
                                    Hallo, und ersteinmal Danke für die tolle Zeitsteuerung, Nutze sie zur Steuerung von RGBW Beleuchtung, perfekt
                                    Was ich leider nicht hinbekomme ist das Aktiv/Inaktiv schalten per Doppelklick, generell klappt das schon(per Maus), allerdings ist ein Doppelklick am Touchscreen eher blöd 😉 Habe schon den 'EDIT' Button aktiviert.. das klappt soweit... jetzt würde ich nur noch gerne im EDIT Fenster auch den Aktiv/Inaktiv Status setzen können... Für eine Hilfestellung wäre ich sehr dankbar.

                                    Mfg. Ulrich

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

                                      @Zoidberg
                                      Hmm. Im EDIT Fenster wäre der Button nicht optimal platziert, da einiges drauf ausgerichtet ist, dass es außerhalb des PopUps eingestellt wird.

                                      Funktioniert es am Touchscreen aus technischer Sicht nicht, oder ist das empfinden eher unschön?

                                      Die Funktion auf ein einfachen Klick/Touch zu legen wäre schnell erledigt.

                                      Dilemma für die Umsetzung sind die optionalen Darstellungsformen.
                                      Einfach-Klick für Edit wäre gut auf der Ist-Uhrzeit. Erledigt!

                                      Aber wohin zum aktivieren/deaktivieren? Weil...
                                      Optional kann die Spalte "Device" und eine Spalte von Nr/Aktiv ausgeblendet werden.
                                      Es muss gewährleistet werden, dass mit einem Einfachen Klick ein Timer ausgewählt werden kann, um einen Timer zu löschen oder zu kopieren (add).

                                      @Glasfaser
                                      Du nutzt ja nicht die Device-Spalte, lässt Du sowohl Timer "Nr" als auch "Aktiv" darstellen?

                                      Würde das wie folgt umsetzen:
                                      Klick auf "Device" oder "Nr" wählt ausschließlich Timer für Del/Add. Doppel-Klick auch wie bisher.

                                      Einfach-Klick auf "Aktiv" togglet den Aktiv-Status.
                                      Einfach-Klick auf "Zeit" öffnet PopUp.

                                      Möglichkeiten für Darstellung wären dann wie folgt:
                                      Entweder "Device" oder "Nr" muss dargestellt werden.
                                      Spalte "Aktiv" muss immer dargestellt werden.

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

                                        @Zoidberg
                                        @GiuseppeS

                                        So geht es ! :

                                        Ist halt der Button nur als Test erstmal reingesetzt :

                                        1.JPG
                                        .
                                        2.JPG
                                        .
                                        3.JPG
                                        .

                                        [{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.Timer.RollladenEG.Editor.Aktiv","g_fixed":true,"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,"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,"html_append":"<label for=\"w00755_checkbox\"><label>","class":"mdui-switch mdui-blue-acc","html":"Switches Beispiele","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,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"0px","top":"351px","width":"50px","height":"30px","z-index":"1"},"widgetSet":"basic"}]
                                        

                                        @GiuseppeS

                                        Du nutzt ja nicht die Device-Spalte, lässt Du sowohl Timer "Nr" als auch "Aktiv" darstellen?
                                        .

                                        .So sieht es aus :

                                        5.JPG

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

                                          @GiuseppeS Technisch ist der DoppelKlick auf dem Touch eher unschön.. möcht eigentlich alles aus dem einfach Klick vermeiden, bzw. verhindern.. Btw. gibt es eine möglichkeit in VIS global Rechtsklick und Doppelklick zu unterdrücken ?

                                          @Glasfaser Danke werde ich mal testen

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

                                            @Zoidberg

                                            Habe noch ein Klick auf die Uhrzeit in der Übersicht ,
                                            dann geht oben rechts die alte Einstellung von früher auf ,
                                            dort kann auch der Timer Aktiv/Unaktiv geschaltet werden

                                            .
                                            1.JPG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            566
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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