Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Flexibles Timerskript + Vis

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Flexibles Timerskript + Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dominik F.
      Dominik F. @Pittini last edited by

      @Pittini

      Okay ich hab mich etwas unklar ausgedrückt merke ich.

      Der erste Fehler mit der Blauen Stunde ist klar soweit, da bist du dran.
      Der zweite mit der Zeit, da ging es mir jetzt nur um die "0" vor der 8 in meinem Beispiel. Also bei der Zeiteinstellung wird die Stunde als "08" dargestellt, bei der Astrofunktion in "8".

      Zu dem Datenpunkt: Diesmal hab ich glaube ich nichts überlesen 😄 Diesen Datenpunkt nutze ich schon. Ich versuche in meiner View einen State anzeigen zu lassen, der rot ist, wenn kein Timer aktiv ist und grün ist, wenn überhaupt irgend ein Timer aktiv ist. Der State kann aber nur True/False anzeigen daher meine Frage nach noch einem zusätzlichen Datenpunkt der True wird, wenn irgendein Timer aktiv ist. Hier mal ein Bild dazu:

      Unbenannt.PNG

      P 1 Reply Last reply Reply Quote 0
      • P
        Pittini Developer @Dominik F. last edited by

        @Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:

        Der State kann aber nur True/False anzeigen daher meine Frage nach noch einem zusätzlichen Datenpunkt der True wird, wenn irgendein Timer aktiv ist.

        Papperlapapp. 0 wird als false gewertet, alles drüber als true. Machs doch nicht komplizierter als es ist. Das geht einwandfrei mit nem Bool Widget ohne zusätzlichen Dp.

        Der zweite mit der Zeit, da ging es mir jetzt nur um die "0" vor der 8 in meinem Beispiel. Also bei der Zeiteinstellung wird die Stunde als "08" dargestellt, bei der Astrofunktion in "8".

        Ok, ist zwar nur nen Schönheitsfehler, aber das kann ich im nächsten update korrigieren denk ich.

        Dominik F. 1 Reply Last reply Reply Quote 1
        • Dominik F.
          Dominik F. @Pittini last edited by

          @Pittini

          Okay, du hast mal wieder recht 🙂 Habs nun ausprobiert und es funktioniert!
          Unbenannt.PNG

          1 Reply Last reply Reply Quote 0
          • D
            deta Most Active @Dominik F. last edited by

            @Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:

            @deta

            Nehmen wir als Beispiel Aussenbeleuchtung beim Haus. Ich möchte z.B. das die immer bei der gleichen "Dunkelheit"/"Dämmerung" anspringt. Nur der Zeitpunkt verändert sich ja schleichend da es immer früher dunkel wird zum Winter hin und ab einem gewissen Zeitpunkt immer später dunkel wird zum Sommer hin. Mit der Astrofunktion kann man das dann einstellen. Nutzt mal diese nicht muss man ja ständig die Zeit neu einstellen. Da es im Winter sagen wir mal um 18 uhr Dunkel wird und im Sommer um 22 Uhr.

            Ok sagen wir mal es wird gerade um 18 Uhr dunkel, Licht geht an. 1 Woche später wird es erst um 18:30 dunkler. Woher weis die Funktion , das es jetzt früher dunkler wird?

            P 1 Reply Last reply Reply Quote 0
            • P
              Pittini Developer @deta last edited by

              @deta sagte in [Vorlage] Flexibles Timerskript + Vis:

              Ok sagen wir mal es wird gerade um 18 Uhr dunkel, Licht geht an. 1 Woche später wird es erst um 18:30 dunkler. Woher weis die Funktion , das es jetzt früher dunkler wird?

              Du meinst später. Das errechnet die Funktion anhand Längengrad, Breitengrad, Azimut und Elevation. Das sind aber fertige Funktionen in JS, ich muß mich mit dem Detailgedöns nicht rumschlagen.

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

                @Pittini

                Guten Abend,

                habe gerade Dein Skript installiert und alles funktioniert wie vorgesehen, ausser einem kleinen "Schönheitsfehler":

                2ff6b7b5-01c2-4a54-b5d8-89da51fb079c-image.png

                Hab schon alles mögliche probiert, aber ich bekomme die Zeitanzeige einfach nicht kleiner. Woran könnte das liegen?

                W P 2 Replies Last reply Reply Quote 0
                • W
                  weimaraner @qqolli last edited by

                  Das Problem habe ich auch. Ich dachte es liegt an meinen vis Einstellungen.
                  https://forum.iobroker.net/topic/33228/vorlage-flexibles-timerskript-vis/126

                  1 Reply Last reply Reply Quote 0
                  • P
                    Pittini Developer @qqolli last edited by

                    @qqolli sagte in [Vorlage] Flexibles Timerskript + Vis:

                    habe gerade Dein Skript installiert und alles funktioniert wie vorgesehen, ausser einem kleinen "Schönheitsfehler":

                    Hab schon alles mögliche probiert, aber ich bekomme die Zeitanzeige einfach nicht kleiner. Woran könnte das liegen?

                    Kann ich wenig dazu sagen. Das hat ja nix mit dem Skript zu tun, das ist ein ganz normales Widget, das bei allen außer Dir und @weimaraner korrekt angezeigt wird. Also würde ich mal guggen ob Ihr die aktuellen Version der jqui-mfd Widgets und Vis nutzt und/oder ob Ihr irgendwelche CSS verwendet die das verhauen. Was passiert den wenn ihr den View in ein völlig neues, leeres Projekt importiert? Sollte es dann korrekt aussehen is es ziemlich sicher ein CSS.

                    1 Reply Last reply Reply Quote 0
                    • D
                      deta Most Active last edited by

                      Hallo,
                      habe heute Nachmittag mal auf die aktuelle Version geupdatet von Git.
                      Seit dem geht das Telegram nicht mehr.
                      Ein Aus schalten geht, aber er sendet keine Nachrichten.
                      Ja ich hab die Config telegram true gesetzt.

                      const SkriptVersion = "2.0.7"; //Stand 02.06.2020 - Github: https://github.com/Pittini/iobroker-Timer Forum: https://forum.iobroker.net/topic/33228/vorlage-flexibles-timerskript-vis
                      
                      //Timerskript
                      
                      //Wichtige Einstellungen
                      const logging = true; //Logmeldungen an/aus
                      const praefix = "javascript.0.Timer."; //Grundpfad
                      const PresenceDp = "radar2.0._nHere"; //Pfad zum Anwesenheitsdatenpunkt - Leer lassen wenn nicht vorhanden!
                      const WelcheFunktionVerwenden = "TimerTarget";
                      
                      //Benachrichtigungseinstellungen
                      const UseTelegram = true; // Sollen Nachrichten via Telegram gesendet werden?
                      const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                      const AlexaId = ""; // Die Alexa Seriennummer.
                      const UseMail = false; //Nachricht via Mail versenden?
                      const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
                      const UseEventLog = true; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                      
                      //Tabellen Einstellungen
                      

                      cu Deta

                      Dominik F. 1 Reply Last reply Reply Quote 0
                      • Dominik F.
                        Dominik F. @deta last edited by

                        @deta

                        Nur um Sachen auszuschließen :
                        1.

                        const UseEventLog = true; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                        

                        muss false sein, da dies eine reine Funktion von Pittini ist.
                        2. Nutzt du den gleichen Anwesenheitsdatenpunkt?

                        const PresenceDp = "radar2.0._nHere"; //Pfad zum Anwesenheitsdatenpunkt - Leer lassen wenn nicht vorhanden!
                        
                        1. Poste mal den Log dazu, ansonsten wird dir Pittini nicht helfen können.
                        D 1 Reply Last reply Reply Quote 0
                        • D
                          deta Most Active @Dominik F. last edited by

                          Moin, es geht wieder, es lag daran. Ja Radar2 ist installiert.

                          Danke

                          Mfg
                          Deta

                          @Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:

                          @deta

                          Nur um Sachen auszuschließen :
                          1.

                          const UseEventLog = true; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                          1 Reply Last reply Reply Quote 0
                          • P
                            Pittini Developer last edited by Pittini

                            So, hat bisserl gedauert, hab nen Großteil der Astrosachen neu geschrieben und hoffe jetzt alle Probleme beseitigt und alle Wünsche erfüllt zu haben.
                            Bitte testen und melden falls noch was auftritt.

                            Changelog

                            V2.1.0 (14.06.2020)

                            • Fix: Diverse Aktualisierungs und Anzeigefehler für Astro behoben.
                            • Fix: Mehrfachaufrufe bestimmter Funktionen korrigiert.
                            • Fix: Führende Nullen bei Stundenangabe in Astrofunktionen hinzugefügt.
                            • Fix: Korrektur der Astrofunktionen wenn nur bestimmte Tage gewählt wurden.
                            • Fix: Doppelauslösungen (nur durch Log oder Nachricht bemerkbar) im Sommerhalbjahr bei Astro korrigiert.
                            • Fix: Auflaufen von Schedules korrigiert.
                            sigi234 1 Reply Last reply Reply Quote 0
                            • sigi234
                              sigi234 Forum Testing Most Active @Pittini last edited by sigi234

                              @Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:

                              Changelog
                              V2.1.0 (14.06.2020)

                              Änderung nur im Skript oder View auch?

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                Pittini Developer @sigi234 last edited by

                                @sigi234 sagte in [Vorlage] Flexibles Timerskript + Vis:

                                Änderung nur im Skript oder View auch?

                                Nur Skript.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Saschag @Pittini last edited by

                                  @Pittini

                                  ich nutze die MDCSS von @Uhula und habe im Script mühevoll die Tabellenattribute „entfernt“ 😊 da ich die Tabelle im schlichten Style von MDCSS habe wollten.
                                  Weist du vielleicht ob die Funktion „ function MakeTable()“ sich geändert hat 😊😊 sonst vergleich ich es gerne auch selber!

                                  Danke

                                  P 1 Reply Last reply Reply Quote 0
                                  • Q
                                    Qlink last edited by

                                    @Pittini

                                    Vielen Dank für das tolle Skript. Es funktioniert soweit ohne Probleme bei mir.

                                    Ich habe allerdings 2 Fragen:

                                    • Ich habe ein Homematic 12/7er Modul (Name = Aktor_6) im Einsatz mit 7 Ausgangskanälen. Diese 7 Ausgangskanäle schalten unterschiedliche Dinge bei mir. Lichter, Steckdosen oder wie hier im Beispiel einen PoE Injektor für meinen Raspberry Pi (Name = PoE_Raspitaster)

                                    Ich habe in iobroker unter Objekte den Kanal mit "TimerTarget" gekennzeichnet:
                                    obj.PNG

                                    Leider wird mir in vis nicht wie ich erwartet hätte der Name "PoE_Raspitaster" vom Kanal angezeigt, sondern der Name des Homematic Moduls "Aktor_6":

                                    vis.PNG

                                    Wenn ich also mehrere Kanäle vom selben Modul mit dem Skript steuern will, würde ich diese nicht mehr unterscheiden können, weil alle als "Aktor_6" angezeigt werden würden.
                                    Ist das so gewollt, oder habe ich was falsch eingestellt ? Wäre es möglich den in vis angezeigten Namen zu editieren ?

                                    Die zweite Frage betrifft das Zeiteingabe Feld. Wie bei anderen Usern hier im Thread schon vorher angemerkt, hat es aus welchem Grund auch immer die falsche Größe (siehe Screenshot) und ich habe noch keine Möglichkeit gefunden die Größe richtig zu stellen.
                                    Gibt es hierzu bereits eine Lösung ?

                                    Danke.

                                    Beste Grüße

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      Pittini Developer @Saschag last edited by

                                      @Saschag sagte in [Vorlage] Flexibles Timerskript + Vis:

                                      Weist du vielleicht ob die Funktion „ function MakeTable()“ sich geändert hat

                                      Soweit ich mich erinnere hab ich da nicht hingelangt.

                                      S 1 Reply Last reply Reply Quote 0
                                      • P
                                        Pittini Developer @Qlink last edited by

                                        @Qlink sagte in [Vorlage] Flexibles Timerskript + Vis:

                                        Ist das so gewollt, oder habe ich was falsch eingestellt ? Wäre es möglich den in vis angezeigten Namen zu editieren ?

                                        Das is so ne Sache von "wie ichs mach, mach ichs falsch". Die meisten HM Sachen haben den eindeutigen Namen zwei channels höher stehen, deswegen holt sich das Skript von da den Namen, schon dafür musste ich ne Ausnahmeregel einführen. Dass es jetzt bei Dir wieder anders ist, is doof, du kannst die Ausnahmeregel aber außer Kfrat setzen indem Du Zeile 408 von:

                                            else if (DpId.indexOf("hm-rpc.") != -1 || DpId.indexOf("shelly.") != -1 || DpId.indexOf("yeelight-2.") != -1) { //Wenn HM, shelly oder yeelight, 2 Ebenen zurück
                                        
                                        

                                        zu

                                            else if (DpId.indexOf("shelly.") != -1 || DpId.indexOf("yeelight-2.") != -1) { //Wenn HM, shelly oder yeelight, 2 Ebenen zurück
                                        
                                        

                                        ändern. Dann geht das Skript auch bei HM Geräten nur einen Channel nach oben, was dann aber evtl. bei anderen HM Geräten wieder nicht passt.
                                        Editieren des Namens ist nicht möglich, da das Skript das nirgends speichert, sondern immer den Channelnamen ausgibt.

                                        Die zweite Frage betrifft das Zeiteingabe Feld. Wie bei anderen Usern hier im Thread schon vorher angemerkt, hat es aus welchem Grund auch immer die falsche Größe (siehe Screenshot) und ich habe noch keine Möglichkeit gefunden die Größe richtig zu stellen.

                                        Gibt es hierzu bereits eine Lösung ?

                                        Mir ist noch keine Lösung bekannt, kann das auch nicht nachstellen, hier passts. Das ist das ganz normale "jqui - ctrl- Input DateTime" Widget. Wenn das zickt, kann ich auch nix machen, evtl. mal im Vis Bereich nen Thread dazu aufmachen. Alternativ das Input Widget verwenden und die Zeit inkl. Doppelpunkt händisch eingeben.

                                        1 Reply Last reply Reply Quote 0
                                        • Q
                                          Qlink last edited by

                                          Super, jetzt klappts auch mit dem Kanalnamen.

                                          Vielen Dank für die Hilfe.

                                          Toll wäre als Feature Request, wenn man pro Schaltvorgang diese Regel anpassen könnte, je nachdem welches Gerät es ist, damit er sich den richtigen Namen holt ...

                                          Beste Grüße

                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            Pittini Developer @Qlink last edited by

                                            @Qlink sagte in [Vorlage] Flexibles Timerskript + Vis:

                                            Toll wäre als Feature Request, wenn man pro Schaltvorgang diese Regel anpassen könnte, je nachdem welches Gerät es ist, damit er sich den richtigen Namen holt ...

                                            Ne, ich werd das so machen dass er beim einstellen des Ziels das einmalig holt, man es aber dann beliebig editieren kann, auf einen DP mehr pro Timer kommts nu auch nimmer an.

                                            Dominik F. 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            982
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            40
                                            500
                                            79436
                                            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