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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [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 Glasfaser

      Weitere Optimierung, die noch in diese Timer-Steuerung einfließt:
      Wählbare zusätzliche Bedingungen (maximal 2 oder 3?), direkt über VIS wählbar.
      Alle möglichen Trigger (Wie z.B. das allseits beliebte "AtHome") kommen in eine Aufzählung.
      Im PopUp gibt es dann zunächst eine zusätzliche Zeile "Anzahl Bedingungen = 0". Je nach Auswahl der Anzahl, verlängert sich das PopUp und zeigt weitere Zeilen für die Bedingungen an.

      Das Wäre Optimal , das in deinem Popup / Liste mit einzubauen .

      Falls die Verschlussüberwachung das ist, wie ich es verstehe:
      Mit den frei konfigurierbaren Bedingungen könnte ein Datenpunkt "Aussperrschutz" o.ä. verwendet werden. In die Timer für Rollladen-runter könnte dieser Datenpunkt angezogen werden.

      So meine ich es.

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

        @GiuseppeS

        Hallo, du schreibst:

        Unter "javascript.0/Timer" werden alle notwendigen Objekte erstellt. Die meisten sind für das Editieren notwendig. Die wichtigsten Objekte sind:
        TimerJSON: Enthält alle Timer mit den notwendigen Details. Hier könnte auch die Reihenfolge der Geräte für die Darstellung manipuliert werden

        Habe in der TimerJSON die Device Nr so angepasst, wie ich die Reihenfolge in der Tabelle gerne hätte und abgespeichert. Habe das Script neu gestartet und javascript auch. An der Reihenfolge änderz sich aber nichts. Habe ich was vergessen?

        Gruß,
        Jubbes

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

          @Jubbes
          Die Device Nummer wird nur für die automatische Generierung der Timer genutzt.

          Um die Reihenfolge zu ändern musst du die Reihenfolge der Geräte als Gruppe ändern.

          Nimm den TimerJSON und pack ihn hier als Text rein:
          http://jsonviewer.stack.hu/

          Wenn du nun oben links auf "viewer" klickst, siehst du die Gruppen der Geräte, die ich meine. Einfach die kompletten Gruppen verschieben. Dies ist aber nur in Textform auf der Seite möglich, allerdings kannst Du nach dem Edit auch validieren.

          Es ist mühselig ein großes JSON in Text-Form zu editieren. Klammern und Kommata sind sehr wichtig und werden oft übersehen.

          Mögliche weitere Lösung für die Reihenfolge:
          TimerJSON löschen; Aufzählung in der Reihenfolge neu erstellen, wie die Geräte auch angezeigt werden sollen. Bei mir stimmt die Reihenfolge innerhalb der Aufzählung und in meiner Tabelle überein. Ist vielleicht der einfachste Weg.
          Nachteil: Deine bereits gepflegten Timer sind verloren.

          Aber ich nehme es als Idee mit, die Reihenfolge dynamisch anhand der Device-ID zu gestalten.

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

            @GiuseppeS
            Habe gelöscht und Timer neu eingetragen. War am einfachsten.

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

              @GiuseppeS
              Ich habe ein wenig mit deiner Vorlage für mich gearbeitet / gespielt . ( Ist halt Geschmacksache … mal was neues ...)

              • Rollladen bedienbar Auf / 50% / Ab // inkl. aktuellem Rollladenzustand ,Hintergrund in Blau.
              • Öffnungszustand in %
              • Deine Tabelle eingebaut inkl. den Einstell-Buttons

              Habe mir einzelne "enum" pro Fenster erstellt und aus deiner Vorlage erstmal 4 einzelne Skript´s pro Rollladen ( 4 Rollladen ) für meine VIS angelegt .
              Diese sind dann einzeln über den jeweiligen Popup einstellbar.( 4 x View Popup)

              Unbenannt 2.jpg

              Unbenannt 4.jpg

              Wo ich leider immer noch nicht weiterkomme mit deinem Skript , ist das ich leider eine Terrassentür habe inkl. Schloss und die Datenpunktabfrage als Bedingung einbauen möchte.

              Ich benötige also zwei Abfragen / Bedingungen:

              • Wenn Terrassentür auf , dann nicht Rollladen ab ( Aussperrschutz bei Anwesenheit )

              • Wenn Terrassentür nicht abgeschlossen ist wenn Rollladen runter ( Verschlussüberwachung ) dann nicht auf .

              Stehe leider auf dem Schlauch wo ich das einbauen soll .

              Oder hast Du in der Zeit schon etwas dazu erstellt!?

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

                @Glasfaser
                Das schaut richtig gut aus. Hast du alle deine Rollläden einzeln dargestellt?
                Ich hatte schon überlegt, den Haupt-Pfad mit "Javascript.0/Timer/Devices/..." in eine Variable auszulagern, damit Kopien einfacher erstellt werden können. Aber hatte mich dagegen entschieden, da ich selten ein Nutzen davon gehabt hätte. Mache ich evtl auch noch rein.
                Habe nächste Woche Urlaub und kann eher mal eine Stunde investieren. Komme dieses Wochenende nicht dazu, ab Montag werde ich Zeit haben.

                Das Thema Sortierung für @Jubbes ist kein Ding mehr. Und bei den Bedingungen bin ich eigentlich nur über die Technik unschlüssig. Will nicht all zu viele states neu erstellen, aber werde wohl nicht drum herum kommen.

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

                  @GiuseppeS
                  Ja , alle 8 Rollladen sind einzeln dargestellt .

                  Unbenannt5.jpg

                  1561401886142-11.jpg

                  1561401897466-22.jpg

                  Wollte mit deiner Vorlage es ein wenig kompakter machen.

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

                    Die letzte Version enthält nun frei konfigurierbare Bedingungen. Die States für die Bedingungen müssen über eine weitere Aufzählung einfließen.

                    Ich werde nun dieses Skript auch für meine Anwesenheitssimulation nutzen.

                    @Glasfaser
                    Denke, dass dein Anwendungsfall nun auch abgedeckt werden kann.
                    Habe übrigens einen Schalter eingebaut, der die HTML-Ausgabe auf mehrere States splittet. Somit sollte eine mehrfache Kopie des Skripts unnötig sein.

                    Eine nachträgliche Sortierung der Geräte innerhalb einer Tabelle ist für mich ohne größeren Aufwand nicht möglich. Ich hatte eine einfache Lösung im Hinterkopf aber da hätte die nachträgliche Ergänzung der Aufzählung mit weiteren Geräten nicht mehr funktioniert.
                    Die Geräte werden alphabetisch sortiert. Wenn daher die State-Namen innerhalb der Aufzählung z.B. mit Zahlen beginnen würden, wäre eine Sortierung somit möglich.

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

                      @GiuseppeS
                      Das klingt ja schon mal sehr gut .👍

                      Aber in der Zeit habe ich für die Verschlussüberwachung eine andere Lösung für mich erstmal erstellt.
                      Habe wie Du schon erwähnt hast mir dazu ein Blocky Skript mit den Bedingungen erstellt und im "enum "einen Datenpunkt nur für die Terrasse erstellt die angesteuert wir, also nicht direkt der Aktor .

                      Habe ein bisschen noch mit der Optik gearbeitet für die einzelnen Rollladen :

                      Terrassentürrollladen ist nicht bedienbar , da die Terrassentür nicht zu und verschlossen ist .

                      1.jpg

                      Hier ist die Terrassentür zu / verschlossen und auch bedienbar :

                      2.jpg

                      Bin mal gespannt , wenn dein neues Skript eingestellt wird . ( Noch nicht da .. wegen Bug 😈 )

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

                        So, Skript ist nun auch wieder online. Blöd wenn globale Variablen genutzt werden, diese dann aber über verschiedene Funktionen gleichzeitig verändert werden können 🙄

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

                          Kurz und knapp , Sehr gut gemacht , Top.👍

                          Skript läuft … und sieht gut aus …….

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

                            @GiuseppeS
                            Klappt sehr gut , habe alle 8 Rollladen auf dein neues Skript umgeändert , funktioniert super 👍
                            Die Zeiten wurden heute auch super geändert ( Random ).

                            Ich wurde gestern auch nicht ausgesperrt (Terrassenrollladen) 😳

                            Unbenannt 2.jpg

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

                              @Glasfaser
                              Freut mich, dass alles gut funktioniert 👍

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

                                @Glasfaser
                                Was mir vorhin noch einfiel:
                                Das Dropdown für die Geräte hast du ja entfernt, weil du die Rollläden gesplittet hast. Täglich wird die Funktion recalc ausgeführt, um die Astrozeiten & Random-Zeiten neu anzuziehen. Dabei wird das Dropdown für die Rollläden und für die Timer-Nummer eigentlich geleert. Wenn du das bei dir nicht geändert hast, dann könnte nach Ausführung von recalc die Änderung von Timer fehlerhaft sein. Falls das der Fall ist: bei der recalc Funktion müsstest du am Schluss deinen gewünschten Rollladen eingeben, wo original ein " " steht.

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

                                  Habe dein Skript gestern schon dazu geändert gehabt , aber Danke für den Hinweis 😊 :

                                  6666666666666666.JPG

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

                                    @Glasfaser
                                    Top. Dann ist das Skript übersichtlicher als ich dachte 😂 👍

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

                                      @GiuseppeS

                                      Ja... ist sehr übersichtlich aufgebaut 📄

                                      Hatte auch den Vorteil das ich es so ähnlich von Brati aufgebaut hatte ( zusammengestückelt auf meine Bedürfnisse 😞 Laie).

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        Chris71 last edited by

                                        Guten Morgen, bin auch schon lange auf der Suche nach so einer Steuerung für meine Rolladen. Erstmal danke für die Arbeit.
                                        Leider scheitert es bei mir schon bei der Eingabe der function.timercondition.
                                        var deviceCond = "enum.functions.timerconditions";

                                        Bei den functions gibt es diesen Ordner nicht.

                                        Was muss ich da eingeben damit ich im LOG keine Fehler mehr erhalte?

                                        G 1 Reply Last reply Reply Quote 0
                                        • C
                                          Chris71 last edited by

                                          Script_Rolladen.jpg
                                          Rolladen.jpg
                                          LOG_Rolladen.jpg

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

                                            @Chris71
                                            Hi. Bei dir müssen zwei Aufzählungen existieren. Eine für die Rollläden und eine weitere Aufzählung für die States der Bedingungen. Die Namen der beiden Aufzählungen trägst Du oben in den beiden Feldern ein.
                                            Die voreingestellten Namen basieren auf meine Aufzählungen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            710
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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