Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorlage] Variable Zeitsteuerung mit VIS Editor

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.0k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Scheduled Pinned Locked Moved Visualisierung
vistemplate
919 Posts 47 Posters 295.9k Views 75 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    stromie
    wrote on last edited by stromie
    #908

    Hi

    hab mal etwas debuggt und folgendes gefunden, dass es bei mir geht.

    a6f2f21f-5489-4e6e-be6f-755691cba067-image.png

    3413f871-ee02-4a28-b4bd-49da341d3e13-image.png

    wenn ich das Script bei ersten mal laufen lasse, werden die States erzeugt. Beim zweiten und weiteren Starts prüft er ja auff null. Im State steht auch nix drin. Er geht aber nicht in die If Anweisung sondern in die else.

    wenn ich das Script so ändere

    64e69d5b-8ccc-4453-b7c3-4798e83a36f3-image.png

    geht es.

    Grüße Ronny

    G 1 Reply Last reply
    1
    • S stromie

      Hi

      hab mal etwas debuggt und folgendes gefunden, dass es bei mir geht.

      a6f2f21f-5489-4e6e-be6f-755691cba067-image.png

      3413f871-ee02-4a28-b4bd-49da341d3e13-image.png

      wenn ich das Script bei ersten mal laufen lasse, werden die States erzeugt. Beim zweiten und weiteren Starts prüft er ja auff null. Im State steht auch nix drin. Er geht aber nicht in die If Anweisung sondern in die else.

      wenn ich das Script so ändere

      64e69d5b-8ccc-4453-b7c3-4798e83a36f3-image.png

      geht es.

      Grüße Ronny

      G Offline
      G Offline
      GiuseppeS
      wrote on last edited by
      #909

      @stromie
      Klasse, super analysiert. Dann hat sich das Verhalten anscheinend verändert, wie der Leere Wert eines neuen States interpretiert wird. Werde ich zeitnah auf github aktualisieren. Kurios ist aber weiterhin, dass es bei mir ohne Anpassung funktioniert.
      Bist du bei Javascript oder Admin Adapter auf einer Beta Version unterwegs? Würde es gerne bei mir nachstellen. Evtl genügt auch eine Abfrage auf Leerstring statt null.

      1 Reply Last reply
      0
      • S Offline
        S Offline
        stromie
        wrote on last edited by
        #910

        Hi
        hier noch die Version der Adapter

        Admin ist auf 6.12.0
        Javascript auf 7.1.4

        Beta bin ich eigentlich nicht.

        Grüße Ronny

        G 1 Reply Last reply
        0
        • S stromie

          Hi
          hier noch die Version der Adapter

          Admin ist auf 6.12.0
          Javascript auf 7.1.4

          Beta bin ich eigentlich nicht.

          Grüße Ronny

          G Offline
          G Offline
          GiuseppeS
          wrote on last edited by
          #911

          @stromie
          Seltsam aber kann man nicht ändern. Habe selbe Admin Version und bei JS die 7.1.6.
          Da du den Bug ausfindig gemacht hast, werde ich es eben so einbinden. Werde es mit Leerstring umsetzen. D.h. beim Erstellen des States mit "" füllen und später darauf abprüfen. Wer weiß ob null später auch zu Problemen führt.

          Danke dir. Hoffe dass der Timer ansonsten wie erwartet funktioniert.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            stromie
            wrote on last edited by
            #912

            Ich prüf das mal.

            Grüße Ronny

            M 1 Reply Last reply
            0
            • S stromie

              Ich prüf das mal.

              Grüße Ronny

              M Offline
              M Offline
              Michael 6
              wrote on last edited by
              #913

              @stromie
              Ich finde Skript und Visualisierung genial. Wird es eine Anpassung für VIS-2 geben?

              G 1 Reply Last reply
              0
              • M Michael 6

                @stromie
                Ich finde Skript und Visualisierung genial. Wird es eine Anpassung für VIS-2 geben?

                G Offline
                G Offline
                GiuseppeS
                wrote on last edited by
                #914

                @michael-6
                Das Projekt ist auf github veröffentlicht, daher kann jeder gerne beitragen. Ich persönlich habe mich noch nicht mit vis2 beschäftigt, daher ist mir noch nicht bekannt, wie die Kommunikation zwischen VIS und Javascript Adapter hergestellt werden kann. Ob es z.B. weiterhin ähnlich funktionieren kann wie bisher. Auch bzgl des Aufwandes für die VIS Widgets kann ich nicht abschätzen.
                Wenn es möglich ist, das Projekt zu vis2 zu migrieren, wird es früher oder später migriert werden. Ich nutze es ja selbst auch weiterhin.

                1 Reply Last reply
                1
                • K Offline
                  K Offline
                  klaus88
                  wrote on last edited by
                  #915

                  Ich habe eine Frage an euch:
                  Auf Zeile 1579 löscht er den Stat ScrollPos:

                   // #############################################
                          // Anpassung der States nach Skript-Update #####
                  
                          if (existsState("javascript." + instance + ".Timer." + path + ".ScrollPos")) deleteState("javascript." + instance + ".Timer." + path + ".ScrollPos");
                  
                          // Ende der Erweiterungen ######################
                          // #############################################
                  

                  dadurch gibt er mir einen Fehler aus, dass er den State nicht findet - wisst ihr warum das gemacht wird ?
                  Zuerst erzeugen und dann löschen?

                  Danke
                  Klaus

                  G 1 Reply Last reply
                  0
                  • K klaus88

                    Ich habe eine Frage an euch:
                    Auf Zeile 1579 löscht er den Stat ScrollPos:

                     // #############################################
                            // Anpassung der States nach Skript-Update #####
                    
                            if (existsState("javascript." + instance + ".Timer." + path + ".ScrollPos")) deleteState("javascript." + instance + ".Timer." + path + ".ScrollPos");
                    
                            // Ende der Erweiterungen ######################
                            // #############################################
                    

                    dadurch gibt er mir einen Fehler aus, dass er den State nicht findet - wisst ihr warum das gemacht wird ?
                    Zuerst erzeugen und dann löschen?

                    Danke
                    Klaus

                    G Offline
                    G Offline
                    GiuseppeS
                    wrote on last edited by GiuseppeS
                    #916

                    @klaus88
                    Bist du absolut sicher, dass der Fehler mit diesem State zusammenhängt?
                    Beim Update des Skripts zur nächsten Version wurde dieser State unnötig, deshalb habe ich diese Bereinigung unnötiger States drin.

                    Edit:
                    Wahrscheinlich hatte ich vergessen, überhaupt das Erstellen des States zu entfernen. Deshalb wird es in der letzten Version noch erstellt und anschließend gelöscht.

                    Lösche die Zeile, wo das State erstellt wird.

                    K 1 Reply Last reply
                    0
                    • G GiuseppeS

                      @klaus88
                      Bist du absolut sicher, dass der Fehler mit diesem State zusammenhängt?
                      Beim Update des Skripts zur nächsten Version wurde dieser State unnötig, deshalb habe ich diese Bereinigung unnötiger States drin.

                      Edit:
                      Wahrscheinlich hatte ich vergessen, überhaupt das Erstellen des States zu entfernen. Deshalb wird es in der letzten Version noch erstellt und anschließend gelöscht.

                      Lösche die Zeile, wo das State erstellt wird.

                      K Offline
                      K Offline
                      klaus88
                      wrote on last edited by
                      #917

                      @giuseppes Danke

                      1 Reply Last reply
                      0
                      • G GiuseppeS

                        Hallo Leute,

                        habe mir eine Zeitsteuerung für die Bedienung auf meinem Smartphone programmiert, die ich gerne mit euch teile.

                        Alle notwendigen Infos sind auf Github zu finden:

                        https://github.com/gsicilia82/Timer_iobroker

                        Fragen / Probleme / Wünsche können gerne als Issue auf Github oder hier im Thread gestellt werden.

                        In diesem Thread werde ich auch über zukünftige Updates informieren. Bei Interesse, einfach diesen Thread auf "beobachten" setzen.


                        Beispiel Screenshots:

                        Hauptansicht für die Timer

                        f1242ab0-61b4-45b3-acb0-72c531e46e25-image.png

                        PopUp-View für die Bearbeitung

                        7be029ea-d8c3-4949-8e5a-66e31515665c-image.png

                        K Offline
                        K Offline
                        Kapitaen31
                        wrote on last edited by Kapitaen31
                        #918

                        Hallo,

                        ich bin vor kurzem erst auf diesen schönen Timer gestoßen.
                        Ich finde, ihr habt eine echt tolle Arbeit geleistet.
                        Diesen Timer habe ich vor ein paar Tagen in meiner VIS eingebaut.

                        Nun sind mir ein paar Dinge eingefallen, die ich noch mit integrieren möchte.
                        Bei mir werden diverse Schaltsteckdosen über Astro Funktionen gesteuert. Dies funktioniert auch sehr gut.
                        Normalerweise wird bei Sonnenuntergang "eingeschaltet" und z.B. um 21 Uhr wieder ausgeschaltet. Das ist jetzt im Winter sehr gut realisierbar. Aber in den Sommer Monaten ist der Sonnenuntergang ja später als 21 Uhr. Wie kann ich das am besten realisieren ?
                        Meine Idee war, ich erstelle mir ein Bool DP, wo ich reinschreibe, wann Sonnenuntergang ist, der später als 21 Uhr ist (Als Bedingung im Timer den DP einfügen). Nur wenn ich diese ausschalt Zeit nun doch weiter nach hinten verlegen möchte, muss ich wieder den DP händisch anpassen. Wie kann ich das in Bezug zur eingestellten Zeit in diesem Timer realisieren ?
                        Dann war meine nächste Überlegung, wenn ich im Urlaub andere Ausschaltzeiten haben möchte, als in der Arbeitszeit, gibt es dort eine einfache Art dies zu verändern....
                        Es sind dann ja immer nicht nur zwei Schaltsteckdosen, sondern so einige.... und wenn ich das immer von Hand ändere, ist es ganz schön nervig...

                        Hat da jemand von euch eine Idee ?

                        Andreas


                        Raspberry 4 mit 120GB SSD Bookworm
                        Grafana, influxDB2, Hue, Zigbee2MQTT, Shelly,usw.

                        G 1 Reply Last reply
                        0
                        • K Kapitaen31

                          Hallo,

                          ich bin vor kurzem erst auf diesen schönen Timer gestoßen.
                          Ich finde, ihr habt eine echt tolle Arbeit geleistet.
                          Diesen Timer habe ich vor ein paar Tagen in meiner VIS eingebaut.

                          Nun sind mir ein paar Dinge eingefallen, die ich noch mit integrieren möchte.
                          Bei mir werden diverse Schaltsteckdosen über Astro Funktionen gesteuert. Dies funktioniert auch sehr gut.
                          Normalerweise wird bei Sonnenuntergang "eingeschaltet" und z.B. um 21 Uhr wieder ausgeschaltet. Das ist jetzt im Winter sehr gut realisierbar. Aber in den Sommer Monaten ist der Sonnenuntergang ja später als 21 Uhr. Wie kann ich das am besten realisieren ?
                          Meine Idee war, ich erstelle mir ein Bool DP, wo ich reinschreibe, wann Sonnenuntergang ist, der später als 21 Uhr ist (Als Bedingung im Timer den DP einfügen). Nur wenn ich diese ausschalt Zeit nun doch weiter nach hinten verlegen möchte, muss ich wieder den DP händisch anpassen. Wie kann ich das in Bezug zur eingestellten Zeit in diesem Timer realisieren ?
                          Dann war meine nächste Überlegung, wenn ich im Urlaub andere Ausschaltzeiten haben möchte, als in der Arbeitszeit, gibt es dort eine einfache Art dies zu verändern....
                          Es sind dann ja immer nicht nur zwei Schaltsteckdosen, sondern so einige.... und wenn ich das immer von Hand ändere, ist es ganz schön nervig...

                          Hat da jemand von euch eine Idee ?

                          Andreas

                          G Offline
                          G Offline
                          GiuseppeS
                          wrote on last edited by GiuseppeS
                          #919

                          @kapitaen31
                          Freut mich dass der Timer nach so langer aktiver Zeit weiterhin neue Fans findet.

                          Grundsätzlich können für die Schaltzeiten Astro Zeiten statt manuelle Zeiten gewählt werden. Objekte, die zur selben Zeit / Astro geschaltet werden sollen, können der selben Gruppe zugeordnet werden. Wenn solch ein Timer dann im Sommer verändert wird, können die Änderungen der Zeiten für die Gruppe übernommen werden. Änderungen für eine Gruppe können unabhängig zwischen Zeiten und / oder Bedingungen übernommen werden.

                          Eine Art Hauptschalter für die verschiedenen Timer gibt es nicht. Aber grundsätzlich kann der Timer mehrfach in Javascript eingebunden werden. Somit könnte eine "Instanz" für die Urlaubsgeräte und die andere "Instanz" für den regulären Betrieb genutzt werden.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          298

                          Online

                          32.6k

                          Users

                          82.3k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe