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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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.
    • sigi234
      sigi234 Forum Testing Most Active @ak1 last edited by

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

      @sigi234
      Ja, habe ich. Auf dem Adapter .0 läuft normalerweise alles, was schon "produktiv" ist. Auf .1 laufen die Skripte, an denen ich noch am Basteln bin.

      Leg den DP noch mal an.

      control.0.presence_abscence.AS_Bad_2

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

        @sigi234
        Habe ich jetzt nochmal gemacht. Ich habe ihn auch in "Timers" Aufzählung aufgenommen.
        Mal sehen, ob sich die Warnung irgendwann wiederholt. Ich meine, sie kam bislang nur einmal täglich.

        Noch als Hintergrundinformation: Ich benutze die Zeitsteuerung ja für eine Anwesenheitssimulation. Und ich möchte da durch die Timer nicht unmittelbar Lampen schalten. Vielmehr schalte ich von mir angelegte Objekte/States, die dann wieder mein Skripte für Küche, Bad, ... triggern. Das gibt mir mehr Flexibilität und funktioniert eigentlich sehr gut.

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

          @ak1
          Wenn Du ein Gerät über die Vis löschst (d.h. alle Timer löschen), dann wird das Gerät auch aus dem Haupt JSON gelöscht.
          Beim jedem Neustart des Scripts wird die hinterlegte Aufzählung durchlaufen, wenn vermeintlich neue Geräte in der Aufzählung vorhanden sind, werden diese Geräte mit den beiden Default Timer erstellt. War das bei dir auch der Fall oder wurde aufgrund der Leiche schon mit Fehlern abgebrochen? Hätte mMn noch stattfinden müssen.
          Ansonsten mal TimerJSON hier anfügen. Dann kann man da noch rein schauen.

          Nachdem du den Fehlerfall hattest, hast du mal den PC neu gestartet? Würde ich empfehlen, manchmal laufen irgendwelche alten fehlerhaften Codes im JS wenn nicht neu gestartet wird. Liegt vllt an der JS Sandbox Funktionalität. Der User Glasfaser hatte zumindest auch schonmal merkwürdiges Verhalten, was mit Neustart behoben wurde.

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

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

            Nachdem du den Fehlerfall hattest, hast du mal den PC neu gestartet? Würde ich empfehlen, manchmal laufen irgendwelche alten fehlerhaften Codes im JS wenn nicht neu gestartet wird. Liegt vllt an der JS Sandbox Funktionalität.

            Da kann ich ein Liedchen von singen …. Link Text

            Der User Glasfaser hatte zumindest auch schonmal merkwürdiges Verhalten, was mit Neustart behoben wurde.

            Jipp … der Tip war 👍

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

              Besten Dank für die Hinweise. Im Timer JSON war keine Spur von AS_Bad_2 zu finden. Aber wie gesagt, ich habe jetzt den besagten Datenpunkt nochmal angelegt. Das Skript hat ihn beim Neustart auch ordentlich gefunden. Außerdem habe ich meine ioBroker-(virtuelle)-Maschine neu gestartet. Ich bin mir tatsächlich nicht sicher, ob ich das vorher gemacht hatte.
              Jetzt warte ich erstmal, dann lösche ich die beiden Standardtimer für AS_Bad_2, nehme den Datenpunkt aus der Aufzählung, lösche den Datenpunkt und starte dann das Skript nochmal. Ich hoffe, dass dann AS_Bad_2 nicht mehr als Zombie umhergeht 😉

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

                Nur ein kleiner Hinweis bzgl. Sommerzeit/Winterzeit:

                Astro-Zeiten wurden laut Vorlage immer um 15:05 Uhr neu berechnet und um 15:10 Uhr mit Funktion recalc() verwendet. Diese Zeiten stehen in den Zeilen 481/482.

                Heute Morgen hatte es den Nachteil, dass die oft genutzten Sunrise Zeiten noch in Sommerzeit waren. Bitte die Zeiten in den Zeilen 481/482 anpassen. Mit 4:00 Uhr und 4:01 Uhr sollte nichts mehr schief gehen:

                    // Astro-Zeiten werden täglich aktualisiert, anschließend neu Berechnung der Timer
                    schedule('0 4 * * *', setAstro);
                    schedule('1 4 * * *', recalc);
                

                Im ersten Post habe ich das bereits angepasst. Weiterhin viel Spaß mit dem Skript.

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

                  Skripte wurden geändert …

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

                  ….. Weiterhin viel Spaß mit dem Skript.

                  Funktioniert super …… Danke .

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

                    Absolut super das script, sehr brauchbar, vielen Dank für deine Arbeit! Müsste eigendlich ein Adapter sein, Zeitschaltungen braucht doch fast jeder für sein SmartHome, gibt es Bestrebungen in die Richtung?

                    Eine kleine Frage hätte ich noch:
                    Wäre es möglich, das Überwachen einer Bedingung einzubauen? D.h. wenn wegen einer Bedingung nicht geschaltet wird, die Bedingung dann aber wegfällt und noch geschaltet sein sollte, er nachträglich noch schaltet?
                    Also z.B. Rollladen soll von 15-17 Uhr geschlossen sein, wird aber nicht da um 15Uhr die Türe offen ist. Um 15:30 Uhr wird die Türe geschlossen, und Rolladen soll dann runterfahren.
                    Hab das bisher über ein zusatzscript und Datenpunkt mit "sollzustand" gelöst den ich jeweils prüfe, finde ich aber etwas unschön, da ich dann ja die Bedingung gleich weglassen könnte.

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

                      @dbweb
                      Bestrebungen dieses Skript als Adapter zur Verfügung zu stellen, gibt es aus unterschiedlichen Gründen nicht. Ein Adapter ist viel komplexer als ein Skript. Ein Adapter würde aus meiner Sicht nur Sinn machen, wenn zusätzlich ein VIS Widget für die Darstellung zur Verfügung gestellt wird; hier wäre ich aber ein blutiger Anfänger...

                      Die Idee, dass Timer nachträglich (innerhalb eines Zeitfensters) ausgeführt werden, wenn Bedingungen sich positiv ändern, ist absolut verständlich. Die kam mir nämlich auch schon 🤦‍♂️
                      Auch @K_o_bold hatte sich diesbezüglich in der Vergangenheit gemeldet.
                      Zum Beispiel für eine Anwesenheitssimulation, die sofort startet, wenn man das Haus verlässt und die sunset Zeit überschritten ist.
                      Wie müsste die Konfiguration eines Timers aussehen: Im PopUp ein neuer Schalter "Timer merken" und ein Dropdown für die Zeit in 10-Minuten Schritten?

                      Das Scripten wäre schon komplex. Wären bestimmt x hundert Code-Zeilen...

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

                        @GiuseppeS ,

                        genau diese Interaktion mit dem Rollladen die @dbweb erwähnt hat, habe ich dir auch schon mal genannt :-).

                        Wäre es vielleicht einfacher für dich, ein zweites Skript zu erstellen, in dem die Trigger nicht die Zeit sondern die Bedingungen sind?
                        Und im Popup dann einen Schalter einbauen, wo man definieren kann ob man Zeit oder Bedingungs Trigger verwenden will?

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

                          Beim Adapter wäre halt die Frage, ob die Konfiguration der Zeiten nicht als separater Tab im Admin sein sollte und man nur optional das Widget installiert, falls man die Zeiten vom vis aus einstellen möchte.
                          Adapter sind ja nicht per se komplizierter, es käme halt noch ein "Adaptergerüst" um dein Script. Dafür hast du im Adapter etwas mehr Möglichkeiten, Dinge die man jetzt im Script ändern muss könnte man in der Adapterkonfiguration oder automatisch machen, dein Script wäre damit auch für Leute zugänglich, die sich nicht an Javascript rantrauen (wieso auch immer). Ich würde mich auch anbieten dir dabei zu helfen 😉

                          Wegen den Bedinungen schreibe ich später etwas, muss mal schauen wie du das alles im Code umgesetzt hast um eine Idee zu haben wie man das "einfach" einbauen könnte.

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

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

                            @GiuseppeS ,

                            genau diese Interaktion mit dem Rollladen die @dbweb erwähnt hat, habe ich dir auch schon mal genannt :-).

                            Wäre es vielleicht einfacher für dich, ein zweites Skript zu erstellen, in dem die Trigger nicht die Zeit sondern die Bedingungen sind?
                            Und im Popup dann einen Schalter einbauen, wo man definieren kann ob man Zeit oder Bedingungs Trigger verwenden will?

                            Ein Trigger sollte schon zumindest ein Zeitfenster haben, um eine Aktion auszuführen. Ansonsten wäre es ja einfacher mit Blockly etwas gemäß "Wenn Trigger, dann Aktion X".

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

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

                              Beim Adapter wäre halt die Frage, ob die Konfiguration der Zeiten nicht als separater Tab im Admin sein sollte und man nur optional das Widget installiert, falls man die Zeiten vom vis aus einstellen möchte.
                              Adapter sind ja nicht per se komplizierter, es käme halt noch ein "Adaptergerüst" um dein Script. Dafür hast du im Adapter etwas mehr Möglichkeiten, Dinge die man jetzt im Script ändern muss könnte man in der Adapterkonfiguration oder automatisch machen, dein Script wäre damit auch für Leute zugänglich, die sich nicht an Javascript rantrauen (wieso auch immer). Ich würde mich auch anbieten dir dabei zu helfen 😉

                              Wegen den Bedinungen schreibe ich später etwas, muss mal schauen wie du das alles im Code umgesetzt hast um eine Idee zu haben wie man das "einfach" einbauen könnte.

                              Das mit dem Adaptergerüst schau ich mir noch an, wie gesagt, da bin ich gerade dabei. Ich komme da gern noch auf dich zu.

                              Bzgl. des Codes sag ich nur: ich bin kein Informatiker 😆
                              Habe auch schon in guten Codes gesehen, wie es schöner und damit übersichtlicher dargestellt werden könnte. Habe versucht so oft wie möglich generisch nutzbare Funktionen zu verwenden. Auch, um damit anderen möglichen Nutzern etwas zum "abschauen" mitzugeben.

                              Wenn es ein Adapter werden sollte, würde ich mich in das Thema Widgets noch einlesen. Ohne Widgets (oder VIS im Allgemeinen) sehe ich keinen Vorteil gegenüber dem Adapter "shuttercontrol", den es ja schon gibt. Btw: Kennst du den? Ich wollte damals unbedingt etwas mit VIS, damit ich spontan Zeiten ändern oder diese zumindest schnell einsehen konnte.
                              Ein höherer WAF für Timer war ursprünglich auch mein Ziel. Mit dem Test am lebenden Objekt wurde mir diese Zielerreichung nicht bestätigt 😆

                              Wenn du Code beisteuern willst, kannst du es gerne hier machen. Wenn es hilft, kann ich das Skript auch auf github laden.

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

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

                                Habe versucht so oft wie möglich generisch nutzbare Funktionen zu verwenden. Auch, um damit anderen möglichen Nutzern etwas zum "abschauen" mitzugeben.

                                😊 👍

                                Ich wollte damals unbedingt etwas mit VIS, damit ich spontan Zeiten ändern oder diese zumindest schnell einsehen konnte.

                                ….. genau deshalb habe ich auch mit Code Schnipseln von @Brati meine Skript´s erstelllt und bin dann aber komplett auf @GiuseppeS umgestiegen , um auch weiterhin VIS Einstellungsmöglichkeiten zu haben .

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

                                  Klar, das VIS Widget wäre ein muss.
                                  Shuttercontrol ist halt eben wirklich auf Rolladen spezialisiert, deins verwende ich aktuell für Lichter, Aquarium und sogar teilweise für den Boiler. Und natürlich in 2-3 Wochen auch für die Weihnachtsbeleuchtung. Also mehr als allgemeine Zeitschaltuhr.
                                  Elekteische Rolladen habe ich leider (noch) nicht 😉

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

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

                                    Klar, das VIS Widget wäre ein muss.

                                    ………………….…... 👍

                                    1.JPG

                                    .
                                    2.JPG

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

                                      Hab mal rasch deinen Code angeschaut, schaut soweit ganz übersichtlich aus, auch wenn das ein oder andere etwas kürzer gehen würde, aber absolut ok wenns nicht dein daily business ist.

                                      Ich schreib mal vom Handy die
                                      Grundidee (es ist z.B. 16Uhr):
                                      Zusätzliche Option / Checkbox bei den Timern: "Aktiviere wenn Bedingung wegfällt"

                                      Änderung einer Bedingung auf false ->
                                      Alle Timer mit dieser Option und Bedinung zeitsortiert durchgehen bis zum jetzigen Zeitpunkt (16Uhr) und dir jeweils den letzten Sollwert merken / überschreiben.
                                      Am Schluss hast du dann die Liste der Timer die gerade aktiv wären, es aber durch die Bedingung nicht wurden, d.h. die kannst du dann einfach setzen.

                                      Evtl. komm ich die nächsten Tage dazu, das in Code zu schreiben, geht auf dem Handy jetzt nur grad schlecht, sollten aber eigendlich nur ein paar Zeilen sein.

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

                                        Hallo,
                                        erstmal Gratulation für diese Zeitsteuerung - habe sie soeben eingebaut und sie funktioniert perfekt! Hast mir damit sehr viel Arbeit erspart!

                                        Eine einzige Frage - aber die eher grafisch: Wie habt ihr das Popup so schön hinbekommen. Bei mir erscheint ein weißer Rand :
                                        Popup.jpg

                                        Habe natürlich dein CSS eingebunden - Bilder kopiert usw. Im VIS Editor habe ich auch versucht die Größe ein bisschen zu verändern, was nichts brachte:
                                        EditorPopup.jpg

                                        Herzlichen Dank für eure Hilfe
                                        Klaus

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

                                          @klaus88

                                          Hier kannst du es anpassen .

                                          999.JPG

                                          1 Reply Last reply Reply Quote 1
                                          • K
                                            klaus88 last edited by

                                            @Glasfaser : Danke für den Tipp --> ist aber so eingestellt !
                                            darkfive.jpg

                                            Ich glaube das hat es etwas mit der Steuerung bzw. des Aufrufes des Popups aus dem Hauptview zu tun, denn es ist der Rahmen des Popups weiß!

                                            Danke auf jeden Fall für deinen schnellen Tipp!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            742
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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