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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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 @arteck last edited by

      @arteck
      Was genau ist mit "übersteuern" gemeint?
      Wenn du das Steuern eines Rollladen in Abhängigkeit eines Lichtsensors meinst, ist aktuell z.B. folgendes möglich:
      Der Lichtsensor wird in die Aufzählung für die Bedingungen gesetzt.
      Der Rollladen wird auf eine bestimmte Uhrzeit für das Öffnen eingestellt und zusätzlich z.B. die Bedingung "Lichtsensor < 200".
      Dann wird der Rollladen nur geöffnet, wenn der Lichtsensor zur gewählten Uhrzeit kleiner 200 ist.

      Oder willst du mit "übersteuern" ein Triggern des Öffnen/Schließen Befehls unabhängig von der Uhrzeit erreichen?

      arteck 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @GiuseppeS last edited by arteck

        @GiuseppeS ja so ähnlich... der Sensor meldt Licht>300 (Rollo würde auf gehen) aber da es Wochenende ist und ich ausschlafen will übersteure ich diesen mit einer Uhrzeit... erst ab 10 Uhr hoch.. oder im Urlaub (Urlaubsmodus)

        das gleiche andersrum Lichtsensor < 50 ..Rolo würde zu gehen aber da ich in den Garten mir die Beleuchtung anschauen will lasse ich die Rollos erst um 2 Uhr nachts runnter..

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

          @arteck
          Grundsätzlich sind diese Timer möglich.
          Die Timer, die morgens das Hochfahren zu einer menschenunwürdigen Uhrzeit während des Urlaubs veranlassen würden, werden mit der Bedingung "Urlaubsmodus == false" ergänzt. Wenn du Urlaub hast und den Schalter auf True setzt, wird dieser Timer nicht ausgeführt.

          Draußen die Beleuchtung bewundern und nicht ausgeschlossen werden, wäre auch über Bedingungen beim abendlichen Timer möglich. Da kommt es einfach drauf an, wie bei dir festgestellt wird, dass du draußen bist. Aber die verwendeten Sensoren, egal welche, können als Bedingung eingerichtet werden. Beliebt ist es Sensoren an der Terrassentür zu nutzen (z.B. "Tuer_isOpen" == false).

          Es sind aktuell bis zu 3 Bedingungen möglich. Theoretisch hätte ich auch mehr integrieren können, aber das Popup zum Editieren ist leider in der Höhe nicht absolut dynamisch umsetzbar. Wollte daher ungern den Platz für 5 oder mehr Timer vorhalten.

          Edit:
          zusätzliche Schalter wie "Urlaubsmodus" o.ä. sind nicht im Lieferumfang enthalten 😉
          Das kann jeder individuell für sich lösen/integrieren wie er mag.

          1 Reply Last reply Reply Quote 0
          • K
            K_o_bold last edited by

            @GiuseppeS ,

            bei mir läuft dein Skript seit ein paar Wochen problemlos. 🙂
            Jetzt bin ich am überlegen, das Skript auch parallel für andere Geräte zu verwenden.
            Mit eigener Vis und eigenen Aufzählungen.
            Z.B. für den Staubsauger oder für Lampen-Timer.

            Wie kann ich das im Skript am besten lösen? Ich bin leider noch nicht so fit mit JS.

            Über Hilfe bei der Umsetzung wäre ich sehr dankbar 😉

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

              @K_o_bold
              Hi, grundsätzlich müssten alle Pfade von den IDs angepasst werden.

              Bedeutet:

              • Skript kopieren und bei den IDs ".Devices." durch z.B. ".Lichter." ersetzen.
              • In VIS beide Views unter neuem Namen importieren. Hierbei würde ich empfehlen, vor dem Import der Textdatei ebenfalls ".Devices." durch ".Lichter." zu ersetzen.

              Theoretisch dürfte es funktionieren wenn ich nichts vergessen habe. Ich selbst habe es noch nicht durchgeführt.

              Ich wäre allerdings für Ideen offen, wie eine Bearbeitung von mehreren Tabellen durchgeführt werden könnte.

              Was machbar wäre:
              Die hinterlegte Aufzählung für die Geräte ist ein Array, d.h. es könnten mehrere Aufzählungen hinterlegt werden.
              Für jede Aufzählung würde eine neue HTML generiert werden.
              Bearbeitung der Timer würde immer über selbe Buttons und PopUp erfolgen. Darstellung wäre in x Tabellen unterteilt.

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

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

                @K_o_bold
                Hi, grundsätzlich müssten alle Pfade von den IDs angepasst werden.

                Bedeutet:

                • Skript kopieren und bei den IDs ".Devices." durch z.B. ".Lichter." ersetzen.
                • In VIS beide Views unter neuem Namen importieren. Hierbei würde ich empfehlen, vor dem Import der Textdatei ebenfalls ".Devices." durch ".Lichter." zu ersetzen.

                Theoretisch dürfte es funktionieren wenn ich nichts vergessen habe. Ich selbst habe es noch nicht durchgeführt.

                Da hast du nichts vergessen , das klappt genau so ... 👍

                Ich habe meine 8 Rollladentimer so aufgebaut ,
                dann kann man auch die 3 möglichen Bedingungen erweitern :
                function.timercondition.1 für Terrrassentür
                function.timercondition.2 für Kinderzimmer
                usw..

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

                  @GiuseppeS

                  danke für deine schnelle Anwort.
                  In meinem Fall geht es zunächst nur um den Staubsauger 😉
                  Da erscheint mir das ändern des Skripts für das eine Gerät "Staubsauger" doch etwas zu äufwändig.
                  @Glasfaser ,
                  Die IDs ".devices." sind gefühlt 100 mal vorhanden. d.h. ich müsste das händisch durchführen, oder gibt es eine Möglichkeit alle auf einmal zu ersetzen?

                  Wie bist du dabei vorgegangen?

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

                    @K_o_bold

                    Ganz einfach …...

                    Devices markieren , rechte Maustaste und dann "alle Vorkommen ändern" auswählen

                    1111.JPG

                    K 1 Reply Last reply Reply Quote 1
                    • K
                      K_o_bold @Glasfaser last edited by

                      @Glasfaser ,

                      perfekt :-). Vielen Dank. Man lernt nie aus...

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

                        Mir fällt keine angenehme Möglichkeit ein, ohne Suchen/Ersetzen, das Skript inkl. VIS zu duplizieren. Die VIS ist hierbei eher das Problem.
                        Aber im Skript habe ich zumindest eine neue Variable erstellt, bei der einfach der Pfad-Teil angegeben und somit variiert werden kann. Denke, dass es bzgl Aufwand/Nutzen die beste mir bekannte Lösung ist.
                        Da ich mich bzgl. der Trigger-Möglichkeiten eingelesen habe, wird im nächsten Skript die Abfrage der Bedingungen nicht mehr minütlich durchgeführt, sondern nur wenn sich etwas ändert (dann aber sofort).
                        Sobald die Anzeige des nächsten fälligen Timers fertig ist, lade ich das Skript hoch. Wäre dann für euch leichter zu übernehmen.

                        Habe heute endlich meine Timer Tabelle für die Anwesenheitssimulation erstellt. Kam zuletzt kaum dazu mich überhaupt mal an den PC zu setzen.

                        @Glasfaser
                        Das Ignorieren von Bedingungen kam bei dir anscheinend nicht mehr vor, oder?

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

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

                          @Glasfaser
                          Das Ignorieren von Bedingungen kam bei dir anscheinend nicht mehr vor, oder?

                          Alles so wie es sein soll 👍 ,
                          sonst hätte ich mich nach meiner Rückmeldung vom 28. Juli nochmal diesbezüglich gemeldet.

                          1 Reply Last reply Reply Quote 0
                          • P
                            Pi78 last edited by

                            Guten Morgen.
                            Ich lese hier schon einige Zeit mit und muss erstmal ein dickes Dankeschön für die Arbeit aussprechen. Das ist ein Timer den ich schon länger gesucht habe. Leider bereitet er mir noch Probleme.

                            Ich habe die Anleitung gefühlte 100x gelesen und auch alles laut Anleitung importiert, geändert und auch erstellt.

                            Wenn ich nun das Skript starte, ist es erstmal grün und wird dann gelb. Im Log unter dem Skript steht dann :

                            08:57:11.755 error javascript.0 at buildJson (script.js.common.Timer:912:37)
                            08:57:11.755 error javascript.0 at Object.tableMain (script.js.common.Timer:1000:69)

                            und im IoBroker Log:

                            javascript.0 2019-08-23 08:57:11.753 error at Timer.listOnTimeout (timers.js:290:5)
                            javascript.0 2019-08-23 08:57:11.753 error at tryOnTimeout (timers.js:323:5)
                            javascript.0 2019-08-23 08:57:11.753 error at ontimeout (timers.js:511:34)
                            javascript.0 2019-08-23 08:57:11.753 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1869:34)
                            javascript.0 2019-08-23 08:57:11.753 error at Object.tableMain (script.js.common.Timer:1000:69)
                            javascript.0 2019-08-23 08:57:11.753 error at buildJson (script.js.common.Timer:912:37)
                            javascript.0 2019-08-23 08:57:11.753 error at Function.keys (<anonymous>:null:null)
                            javascript.0 2019-08-23 08:57:11.752 error Error in callback: TypeError: Cannot convert undefined or null to object

                            Ich hoffe mir kann jemand helfen.

                            Vielen Dank schon mal und Grüße aus Essen

                            Sebastian

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

                              @Pi78

                              Zeig mal bitte dein Script !

                              1 Reply Last reply Reply Quote 0
                              • P
                                Pi78 last edited by

                                Das ist das Skript aus dem Post 1. Hatte es gestern nochmal runter geladen.
                                Ich kann es hier nicht posten, da größer 5000 Zeichen. Welche Info aus dem Skript brauchst du?

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

                                  @Pi78
                                  Dann gebe vielleicht an was du angepasst hast.

                                  1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @Pi78 last edited by

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

                                    Ich kann es hier nicht posten, da größer 5000 Zeichen.

                                    Script als .txt speichern und dann hier uploaden.

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      Pi78 last edited by

                                      Achso. Ja das ist einfach. Ich habe die widget Nummer am anfang des Skript angepasst. Die muss ja die Nummer von "Timer Bearbeiten" aus der Hauptansicht haben. Sonst habe ich alles so gelassen. Wie gesagt, ich habe nur das gemacht, was in der Anlwitung steht. Keine eigenen Änderungen.

                                      Schon mal vielen Dank für die schnellen Antworten.

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        Pi78 last edited by

                                        Ich bin gerade unterwegs. Ich speichere gleich das Skript und lade es hoch.

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          Pi78 last edited by

                                          Timer.txt

                                          So bin wieder zuhause. Wie ich gerade schon geschrieben habe, habe ich im Skript nur die Widget Nummer angepasst. Die Aufzählungen enum.functions.blinds und enum.functions.timerconditions habe ich genau so bei mir angelegt und mit Geräten befüllt. Auch die PopUp Karte habe ich wie in der Anleitung benannt.

                                          Gruß Sebastian

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

                                            @Pi78

                                            Teste erstmal deine Anpassungen im View , mit der Einstellung " false "
                                            Also alle Datenpunkte löschen und das Script nach der dem ändern wieder neu starten .

                                            111.JPG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            364
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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