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

      Ich hatte 2 Timer und hatte vorher einen dritten Timer den ich gelöscht habe.
      Aus irgendeinem Grund bekomme ich jetzt keine Errors mehr und kann den Fehler gerade auch nicht reproduzieren 😕 Liegt wohl am Skriptneustart das der Error weg ist.

      P 1 Reply Last reply Reply Quote 0
      • E
        Einstein67 last edited by

        Bei mir kommt es nach dem löschen eines Timers, beim nächsten Schaltvorgang auch zu Fehlern, die nach einem Script-Neustart wieder weg sind.

        javascript.0	2020-05-24 15:56:00.002	info	(5967) script.js._Timer: sonoff.0.Witty1.POWER Timer 11 hat angeschaltet
        javascript.0	2020-05-24 15:53:58.800	info	(5967) script.js._Timer: 3 Targets found - Targets are: sonoff.0.Witty1.POWER,0_userdata.0.WarmWasser.WWasserZeit-EIN,0_userdata.0.Heizung.HeizZeit-EIN
        javascript.0	2020-05-24 15:53:58.798	info	(5967) script.js._Timer: registered 0 subscriptions and 0 schedules
        javascript.0	2020-05-24 15:53:58.790	info	(5967) Start javascript script.js._Timer
        javascript.0	2020-05-24 15:53:55.909	info	(5967) Stop script script.js._Timer
        javascript.0	2020-05-24 15:53:00.005	error	(5967) at process.topLevelDomainCallback (domain.js:137:15)
        javascript.0	2020-05-24 15:53:00.005	error	(5967) at processImmediate (internal/timers.js:456:21)
        javascript.0	2020-05-24 15:53:00.005	error	(5967) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
        javascript.0	2020-05-24 15:53:00.005	error	(5967) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
        javascript.0	2020-05-24 15:53:00.005	error	(5967) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
        javascript.0	2020-05-24 15:53:00.005	error	(5967) at Object.<anonymous> (script.js._Timer:762:28)
        javascript.0	2020-05-24 15:53:00.005	error	(5967) Error in callback: TypeError: Cannot set property '18' of undefined
        javascript.0	2020-05-24 15:53:00.002	info	(5967) script.js._Timer: Timer 11 hat ausgeschaltet
        javascript.0	2020-05-24 15:50:00.007	error	(5967) at process.topLevelDomainCallback (domain.js:137:15)
        javascript.0	2020-05-24 15:50:00.007	error	(5967) at processImmediate (internal/timers.js:456:21)
        javascript.0	2020-05-24 15:50:00.007	error	(5967) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
        javascript.0	2020-05-24 15:50:00.007	error	(5967) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
        javascript.0	2020-05-24 15:50:00.007	error	(5967) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
        javascript.0	2020-05-24 15:50:00.007	error	(5967) at Object.<anonymous> (script.js._Timer:762:28)
        javascript.0	2020-05-24 15:50:00.006	error	(5967) Error in callback: TypeError: Cannot set property '18' of undefined
        javascript.0	2020-05-24 15:50:00.002	info	(5967) script.js._Timer: sonoff.0.Witty1.POWER Timer 11 hat angeschaltet
        javascript.0	2020-05-24 15:41:25.624	info	(5967) script.js._Timer: Now Delete last channel=javascript.0.Timer.13
        javascript.0	2020-05-24 15:40:42.944	warn	(5967) This object will not be created in future versions. Please report this to the developer.
        javascript.0	2020-05-24 15:40:42.944	warn	(5967) Object javascript.0.Timer.13 is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, 
        

        Die Timer werden aber trotzdem zuverlässig geschalten 🙂

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

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

          Aus irgendeinem Grund bekomme ich jetzt keine Errors mehr und kann den Fehler gerade auch nicht reproduzieren Liegt wohl am Skriptneustart das der Error weg ist.

          Deswegen meine Fragen. Was Du jetzt sagst bestätigt meinen Verdacht dass da ne Subscription überbleibt obwohl der Timer schon gelöscht wurde.

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

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

            Timer funktioniert jetzt super. Nur werden die Farben immer gemäß dem Zustand des "Aktors" also true "grün" oder false "rot". Egal ob der Zustand manuell oder per TimerSkript erfolgt.

            Ja, das ist sone Definitionssache. Entweder so wie es ist und Du es beschreibst, oder Variante 2 Nur der erste Wechsel von "außen" ändert die Farbe zu grau und jede weitere Änderung wird ignoriert. Da bin ich mir selber noch etwas unschlüssig was mehr Sinn macht. Was denken denn die anderen hier?

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

              So, update für die gemeldeten Fehler ist da @Dominik-F , @Feuersturm , @Einstein67 . Hoffe ich hab alles erwischt, bitte Feedback.

              Changelog

              V2.0.3 Beta (24.5.2020)

              • Fix: Problem welches zur Warnmeldung:
                "Object javascript.0.Timer.x is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, array, object, mixed, file, json" behoben
              • Fix: Async Problem beim hinzufügen neuer Timer behoben welche zur Fehlermeldung:
                "Error in callback: TypeError: Cannot read property '0' of undefined" führten.
              • Fix: Problem mit verbleibenden subscriptions behoben welche zur Fehlermeldung:
                "Error in callback: TypeError: Cannot set property '18' of undefined" führten.
              Feuersturm 1 Reply Last reply Reply Quote 2
              • E
                Einstein67 last edited by Einstein67

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

                Was denken denn die anderen hier?

                Ich bin mir darüber noch nicht so richtig im klaren ...

                Eigentlich ist es eine Timerliste in der mir persönlich der "aktuelle Status" gar nicht so wichtig ist ...

                EDIT: Mit Version 2.0.3 keine Warnungen beim anlegen eines Timers und auch keine Fehler nach dem löschen eines Timers!!

                Super ... Vielen Dank!

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

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

                  Ja, das ist sone Definitionssache. Entweder so wie es ist und Du es beschreibst, oder Variante 2 Nur der erste Wechsel von "außen" ändert die Farbe zu grau und jede weitere Änderung wird ignoriert. Da bin ich mir selber noch etwas unschlüssig was mehr Sinn macht. Was denken denn die anderen hier?

                  Ich könnte mir das so Vorstellen, dass nur die Änderungen des Timers angezeigt werden und keine von außen so wie jetzt.

                  Hab nun aktualisiert und die Warnungen sind weg, hatte bisher auch keinen Error mehr. Mir ist jetzt nur aufgefallen, dass der Timer fürs Einschalten dauerhaft grün ist.

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

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

                    Ich könnte mir das so Vorstellen, dass nur die Änderungen des Timers angezeigt werden und keine von außen so wie jetzt.

                    Naja, ganz ohne außen ist witzlos, dann schaltet der einmal auf grün (oder rot, je nachdem) und bleibt so bis zum Sankt Nimmerleinstag.

                    Hab nun aktualisiert und die Warnungen sind weg, hatte bisher auch keinen Error mehr. Mir ist jetzt nur aufgefallen, dass der Timer fürs Einschalten dauerhaft grün ist.

                    Solange an ist, ist das ja auch ok. Oder is aus und trotzdem grün?

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

                      @Pittini

                      Ich hatte das so gedacht, dass während der Timer läuft er auf grün ist, ansonsten auf rot. Von außen ist für den Timer ja eigentlich uninteressant. Wenn ich auf die Tabelle schaue möchte ich ja wissen ob der Timer läuft oder nicht und nicht ob irgendjemand das manuell eingeschaltet hat.

                      Der Timer ist grün, obwohl der Aktor auf false ist. Sieht jetzt gerade so aus:
                      Unbenannt.PNG

                      Edit: Auch hier hat wieder ein Neustart des Skriptes geholfen.

                      E P 2 Replies Last reply Reply Quote 0
                      • Feuersturm
                        Feuersturm @Pittini last edited by

                        @Pittini Beim ersten spielen mit der 2.0.3 sind bisher keine Warnungen oder Errors im Log aufgetreten 🙂
                        Danke für die schnelle Einarbeitung der findings.

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

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

                          Der Timer ist grün, obwohl der Aktor auf false ist. Sieht jetzt gerade so aus:

                          Kann das möglicherweise sein weil du nur eine Minute als Zeit-Differenz eingegeben hast? Ich hab das Problem nicht.

                          ok.png

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

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

                            Ich hatte das so gedacht, dass während der Timer läuft er auf grün ist, ansonsten auf rot.

                            Siehe: https://forum.iobroker.net/topic/33228/vorlage-flexibles-timerskript-vis/26

                            und Anleitung

                            grün dargestellt werden alle Einträge welche einstellungsgemäß eingeschaltet wurden. Wird manuell oder durch einen anderen Timer der Status verändert, wechselt die Zeile wieder zu grau.

                            rot dargestellt werden alle Einträge welche einstellungsgemäß ausgeschaltet wurden. Wird manuell oder durch einen anderen Timer der Status verändert, wechselt die Zeile wieder zu grau.

                            Wenn ich auf die Tabelle schaue möchte ich ja wissen ob der Timer läuft oder nicht und nicht ob irgendjemand das manuell eingeschaltet hat.

                            Was heißt für Dich "ob der Timer läuft"? Laufen tut er immer solang er aktiv geschaltet ist. Letztendlich ist das wieder die Definitionsfrage von heut nachmittag.

                            S Dominik F. 2 Replies Last reply Reply Quote 0
                            • S
                              Saschag @Pittini last edited by

                              @Pittini

                              ich würde es wie in der Anleitung bevorzugen, nur funktioniert es bei mir nicht so 😢
                              Bei mir sind die Zeilen immer in der Farbe des Zustandes des Aktors manuell oder per Timer egal

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

                                @Pittini

                                Ja der ganze Teil sollte meine Meinung zur Definitionsfrage von heute Nachmittag sein, also n Vorschlag. Hattest da ja nach Meinungen gefragt.
                                Hab mich da doof ausgedrückt und das ganze hat sich dann mit meinen kurzzeitigen Problemen vermischt.

                                Noch was anderes:
                                Wäre es vielleicht möglich, die Schriftgröße am Anfang des Scriptes wie bei den Farben eingeben zu können? Einmal für den Kopf und für die Zeilen seperat?
                                Ich möchte das auch nicht einfach im Script ändern da es dann bei Updates immer weg wäre^^ Die Tabelle ist einfach so breit, dass ich, selbst wenn ich für mich unwichtige Spalten deaktiviere, die nicht auf dem Handy anzeigen kann weil die Schriftgröße das zu Breit macht.

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

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

                                  Wäre es vielleicht möglich, die Schriftgröße am Anfang des Scriptes wie bei den Farben eingeben zu können? Einmal für den Kopf und für die Zeilen seperat?

                                  Joa, des is easy, wird gemacht.

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

                                    Changelog

                                    V2.0.4 (25.5.2020)

                                    • Add: Schriftgrößen der Tabelle nun im Einstellungsbereich konfigurierbar.
                                    • Add: Benachrichtigung nun zusätzlich pro Timer aktivier/deaktivier-bar, hierzu zusätzliche Spalte + Button ins Vis eingefügt.
                                    • Change: Triggerhandling geändert. Farbwechsel in der Tabelle erfolgt nun bei schalten des Timers (rot/grün) und zurückschalten (grau) wodurch auch immer. Alle weiteren Schaltvorgänge von außerhalb werden ignoriert.
                                    Dominik F. Homer.J. 2 Replies Last reply Reply Quote 4
                                    • Dominik F.
                                      Dominik F. @Pittini last edited by

                                      @Pittini

                                      Perfekt, funktioniert alles super und ich kann die Tabelle nun auch auf dem Handy im Hochformat darstellen 🙂

                                      Mir ist was aufgefallen, glaube der Kommentar passt nicht :

                                      const TblShowTimerMessageCol = false; //Tabellenspalte Schaltung nur bei Abwesenheit ausgeben?
                                      
                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        Pittini Developer @Dominik F. last edited by

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

                                        Mir ist was aufgefallen, glaube der Kommentar passt nicht :

                                        Jo, passiert bei copy&paste 😉

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          Einstein67 last edited by Einstein67

                                          Ich hab beim ersten Schaltvorgang mit der neuen Version (18:00 Uhr) einige Fehler bekommen!?!

                                          web.0	2020-05-26 18:05:42.325	info	(18496) ==>Connected system.user.admin from ::ffff:192.168.0.25
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at processTimers (internal/timers.js:492:7)
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at listOnTimeout (internal/timers.js:549:17)
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at Object.<anonymous> (script.js._Timer:417:13)
                                          javascript.0	2020-05-26 18:00:00.020	error	(18357) at DoAction (script.js._Timer:487:48)
                                          javascript.0	2020-05-26 18:00:00.019	error	(18357) at Meldung (script.js._Timer:86:13)
                                          javascript.0	2020-05-26 18:00:00.019	error	(18357) Error in callback: ReferenceError: WriteEventLog is not defined
                                          javascript.0	2020-05-26 18:00:00.009	info	(18357) script.js._Timer: 0_userdata.0.WarmWasser.WWasserZeit-EIN Timer 4 hat angeschaltet
                                          

                                          EDIT: Da hab ich wohl die neue Zeile mit dem Event-Log übersehen!

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

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

                                            EDIT: Da hab ich wohl die neue Zeile mit dem Event-Log übersehen!

                                            Die is nich neu, war da seit es Meldungen gibt, stand vorher aber auf false, das is ne Globale Funktion bei mir und ich vergess permanent die beim uploaden auf false zu stellen, deswegen hab ich ja extra dazugeschrieben dass die false sein muß, is auch gleichn kleiner Test ob die User lesen was ich ich schreib 🙂 🙂 .

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            959
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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