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 goes Matter ... Matter Adapter in Stable

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

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

      m iobroker-admin gibt es oben den Schraubenschlüssel. Dort kannst du deinen Wohnort eingeben. Innerhalb von iobroker gibt es Standard blockly oder js, um auf die Zeiten zuzugreifen.

      ah ja, das hatte ich entweder noch nie gesehen oder gleich wieder vergessen.
      Und ganz wichtig, danach den javascript Adapter stoppen und wieder starten.

      Super, das geht nun auch 🙂

      VG jpgorganizer

      jpgorganizer 1 Reply Last reply Reply Quote 0
      • jpgorganizer
        jpgorganizer @jpgorganizer last edited by

        Fragen zur Benutzung bzw. den Features:

        • das timer Edit Fenster geht immer auf allen Geräten auf, die die VIS offen haben. Das ist ungeschickt. Wie kann man das verhindern?
        • Wie geht man mit verschiedenen Timerarten (ich nenne es mal Kategorien) um? Ich meine sowas wie Timer für die Rollos, Timer für die Bewässerung, Timer für den Mäher, Timer für die Lampen usw. Wenn ich bei den Rollos bin, dann möchte ich die Timer der Rollos sehen, bei den Lampen die Timer der Lampen u.s.w. Kann man das über die vorhandenen Gruppen lösen? Oder ist das was anderes? Wenn ich es richtig verstanden habe, dann kann man nur ein enum für die Timer nutzen. Dann müssten alle Timer in ein enum gepackt werden.
        • ich habe für meine Bewässerung "Szenen" gebaut (hat nichts mit dem Szenen Adapter zu tun, ist aber ähnlich). Szenen können durch den Anwender selbst jederzeit angelegt und auch umbenannt werden. Ich möchte für solche Szenen auch TImer erstellen können. Da diese Szenena dynamisch erzeugt werden, kann ich sie nicht in das enum packen. Was wäre die Idee um das zu lösen?

        Oh je, da sehe ich noch viel Arbeit auf mich zukommen.

        VG jpgorganizer

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

          @jpgorganizer
          Zu 1:
          Hier hatte ich ursprünglich eine Erkennung der aufrufenden Instanz drin, damit auch nur auf dieser Instanz der Editor aufgeht. Aber die Erkennung lief nicht einwandfrei, daher hatte ich dann die brutale Methode gewählt, also überall öffnen. Hier könnte eine Optimierung helfen.

          Zu 2:
          Verschiedene Geräte-Gruppen werden aktuell mit mehreren Instanzen des Skripts gelöst. So macht es aus meiner Sicht auch Sinn. Eine Lösung, die ich immer klasse fand, ist sowas:
          https://css-tricks.com/css-only-carousel/

          Zu 3:
          Wie können diese Szenen abgerufen und gesteuert werden?

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

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

            Hier hatte ich ursprünglich eine Erkennung der aufrufenden Instanz drin,

            hast du den Code noch irgendwo? Kann ich den haben? Egal ob aktuell funktonstüchtig oder nicht, nur als Beispiel. Dann schau ich mir das mal an.

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

            Verschiedene Geräte-Gruppen werden aktuell mit mehreren Instanzen des Skripts gelöst.

            das ist eine Möglichkeit - muss ich mal drüber grübeln, was dann wiederum nicht geht

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

            Zu 3:
            Wie können diese Szenen abgerufen und gesteuert werden?

            Starten ganz einfach durch Setzen eines Datenpunktes mit einem Wert RUN. Jede Szene hat ihre eigenen Datenpunkte, u.a. einen zum Starten/Stoppen, einen mit einem Namen, ...
            Grundsätzlich kein Problem mit dem Timer, nur eben, dass die Szene dynamisch erzeugt wird.

            Danke.

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

              Mini Update ist online:

              Changelog v1.3.2 20.12.2020 (Skript)

              • Bugfix: Wenn bei den Bedingungen Strings als Vergleichswerte eingegeben werden müssen, können "" oder '' weggelassen werden!

              @jpgorganizer
              Habe diesen Bugfix etwas anders umgesetzt: Ich schaue hierzu auf das State, das für die Bedingung ausgewählt wurde. Wird eine Zahl oder ein Bool erwartet, werden "" weggelassen ansonsten hinzugefügt.

              1 Reply Last reply Reply Quote 0
              • B
                Bunner last edited by

                Hallo,
                ich bin ioBroker Neuling und versuche seit Tagen diesen Timer zum Laufen zu bringen . Nach dem Starten (auch mehrfach) bekomme ich diverse Error Meldungen im Log.
                Meine Rolladen sind über den Fhem Adapter eingebunden (Umzug soll später erfolgen). Was mache ich falsch?
                04.PNG 03.PNG 02.PNG 01.PNG

                Vielen Dank

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

                  @bunner

                  Screenshot´s sind sehr schlecht zu lesen !!!
                  Bitte den Log in Code-Tags </> setzen .

                  Lade das Script nochmal runter und füge es in ein neues Script ein , was ist dann !?

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

                    @bunner

                    Wann bekommst du Fehlermeldungen? Direkt nach dem Start des Skripts?

                    Was wurde im Skript alles angepasst, nur die beiden angezeigten Variablen mit den enum?

                    Hinweis:
                    Bitte Skript nicht von Kommentaren o.ä. bereinigen, sonst wird es schwierig den Fehler anhand der Zeilenangaben nachzuvollziehen.

                    Am besten Skript stoppen, alle erstellten States löschen und Skript neu starten. Skript ein zweites Mal starten. Log hier posten. Bitte darauf achten, dass das Log vollständig ist.

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

                      @giuseppes

                      Hab das Skript nochmal neu eingefügt und siehe da es läuft schon mal fehlerfrei an und in der vis runtime siehts auch ganz auch gut. Werde jetzt erstmal weiter probieren.
                      Vielen Dank für die schnelle Hilfe 👍

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

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

                        Hab das Skript nochmal neu eingefügt
                        siehts auch ganz auch gut.

                        meistens ein Kopierfehler ......

                        1 Reply Last reply Reply Quote 0
                        • A
                          ak1 last edited by

                          Ich nutze das Skript nun schon eine gewisse Zeit erfolgreich, insbesondere als Basis für meine Anwesenheitssimulation.
                          @GiuseppeS Danke!
                          Die Timer-Views/Dialoge habe ich in meiner Visualisierung (basierend auf MDCSS2) eingebaut. Auch das klappt. Ich ändere jedoch sehr selten bestehende Timer.

                          Jetzt würde ich gerne folgendes erreichen:
                          Für ein einzelnes bekanntes Device bzw. einen Timer, z.B. badHeizung #1 möchte ich einen vereinfachten Editor-Dialog bauen. Vereinfacht, weil es hier nur auf die Startzeit ankommt. Alle anderen Einstellungen (Astro, Bedingungen, etc.) bleiben unverändert. Ich brauche den einfachen Dialog, um ihn den anderen Familienmitgliedern zur Verfügung stellen zu können.

                          Einen Tipp benötige ich, wie ich denn gezielt einen Timer zum Editieren anspreche.
                          Ist der richtige Timer ausgewählt, stehen die relevanten Einstellung ja offensichtlich in der javascript.0.Timer.Editor Struktur.

                          Vielleicht hat ja jemand eine Idee...

                          Danke!

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

                            @ak1
                            Werde in den nächsten Wochen das Skript nicht einsehen können, diesbezüglich also offline, aber aus der Erinnerung heraus besteht die Möglichkeit zwei verschiedene Editoren zu verwenden.
                            Wie fit bist du in Javascript?

                            Beschreibung der aktuellen Arbeitsweise:
                            Der Editor wird im View automatisch gefunden, weil im Editor-Widget eine zusätzliche Klasse angegeben ist. Im HTML Code befindet sich auch Javascript. Dieser Code sucht nach der Klasse und übermittelt per ioBroker State die Widget ID an das Hauptskript. Somit weiß das Skript, welcher Editor /Widget geöffnet werden soll.

                            Erweiterung für zweiten Editor:
                            Timer Tabelle bekommt ein Bool-Widget für "Expert / Anfänger". Widget für bestehenden Editor copy / paste.
                            Dieser Editor-Light bekommt andere Klasse zugewiesen.
                            Im HTML Javascript Code muss folgendes rein:
                            Wenn Bool Widget auf Expert, dann Standard Editor ID übertragen (d.h. was aktuell übertragen wird). Wenn Bool auf Anfänger steht, dann den Editor-Light übertragen.

                            Ich bin mit gerade nur unsicher wann die Widget ID übertragen wird, automatisch mit Laden der Seite oder wenn ein Timer angewählt wird. Für diese Lösung dürfte die ID erst mit Klick des Timers erfolgen.

                            Alternative Lösung:
                            Du fängst im Hauptskript die übertragene Timer ID ab und entscheidest dort einen anderen Editor Widget aufzurufen. Dies wäre allerdings absolut unflexibel.

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

                              @giuseppes Danke! Ich schaue mal, ob ich etwas mit diesen Information hinbekomme.

                              1 Reply Last reply Reply Quote 0
                              • M
                                Moko last edited by

                                Danke für die Vorlage. Habe sie bei mir erfolgreich eingesetzt und war auch damit zufrieden.
                                War.... bis zum 06.01. da wollte ich einen Timer deaktivieren.
                                Hab ihn deaktiviert und anschließend gelöscht.
                                Dummerweise ist der Timer immer noch aktiv und läuft fröhlich weiter, obwohl er nicht mehr angezeigt wird und auch in der
                                javascript.0.Timer.Devices.TimerJSON bzw javascript.0.Timer.Devices.TableHTML nicht vorhanden ist.😟
                                Wie bekomme ich diesen Ghosttimer wieder gelöscht?
                                Würde es reichen wenn ich das Script stoppe, javascript.0.Timer lösche und das Script wieder starte?
                                Danke

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

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

                                  Wie bekomme ich diesen Ghosttimer wieder gelöscht?

                                  Starte dein System neu .

                                  sudo reboot
                                  
                                  1 Reply Last reply Reply Quote 1
                                  • G
                                    GiuseppeS @Moko last edited by

                                    @moko
                                    Also mir ist das so noch nicht vorgekommen. Evtl reicht wirklich ein Neustart des Systems. Ansonsten gibt es ja die vollumfängliche JSON. Wenn das Skript neu gestartet wird, wird diese json interpretiert. Wenn hier der Timer nicht drin ist, dann wird er auch nicht gesetzt.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Moko last edited by

                                      Danke, hab jetzt mal komplett neugestartet. Muss jetzt bis 16:40 Uhr warten 😉

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

                                        @moko

                                        Ich hatte auch mal ein 👻 ( gaaaanz am Anfang ,wo ich mit GiuseppeS immer getestet habe )

                                        Hast du das Log aktiv .

                                        Standarteinstellung :

                                        // Log-Modus
                                        var stdLog = true; // elementare Ausgabe, Schedule erstellt/gelöscht
                                        var debugLog = false; // zusätzliche Ausgaben, z.B. zu den Bedingungen
                                        
                                        1 Reply Last reply Reply Quote 1
                                        • M
                                          Moko last edited by

                                          Reboot scheint geholfen zu haben: Steckdosen haben sich heute nicht eingeschaltet 😀

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            stefu87_CH @sigi234 last edited by

                                            @sigi234 Hast du diese Menüfenster noch in Betrieb?
                                            EB2C68A7-46CE-406B-B3C1-86B27CEEDA00.jpeg

                                            Würdest du es zur Verfügung stellen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            445
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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