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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Vorlage] Flexibles Timerskript + Vis

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

      @Pittini ja so ist es. Dann Neustart Skript und alles wieder schön

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

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

        ja so ist es. Dann Neustart Skript und alles wieder schön

        Schon mal Browsercache leeren probiert? Schon mal mit nem anderen Browser probiert? Wenn nein, bitte beides mal machen.

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

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

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

          ja so ist es. Dann Neustart Skript und alles wieder schön

          Schon mal Browsercache leeren probiert? Schon mal mit nem anderen Browser probiert? Wenn nein, bitte beides mal machen.

          Ja den Cache habe ich bereits mehrfach gelöscht.
          Auch mit anderen Browsern das Problem. Chrome und FireFox auf PC, Fully Kiosk auf Tablet und Chrome auf einem Android Smartphone.

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

            Nur zur Info, ich hab gestern aktuelle vom Git installiert und bei mir ist alles sofort nach neustart des Skrippt sichtbar gewesen. Keine Probleme.

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

              @gelberlemmy Nur mal als Test ins blaue. Mach mal aus der 500 in Zeile 1155 ne 1000, dann speichern und testen bitte.

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

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

                @gelberlemmy Nur mal als Test ins blaue. Mach mal aus der 500 in Zeile 1155 ne 1000, dann speichern und testen bitte.

                Leider keine Änderung

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

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

                  Nochmal zur Sicherheit. Du installierst das Skript, Du stellst via Vis nen Timer (oder auch mehrere) ein. Setzen und ändern/löschen/hinzufügen funktioniert einwandfrei, die Timer schalten auch.
                  Dann machst Du ne manuelle Aktualisierung des Browsers und zack isses kacke? Is das korrekt nachvollzogen so?

                  @Pittini ja so ist es. Dann Neustart Skript und alles wieder schön

                  Ok, dann fällt mir grad offiziell nix mehr ein, vermutlich is der Effekt nach irgendeinem update weg, aber das kanns natürlich ned sein. Evtl. fällt ja @Dutchman oder @apollon77 oder @AlCalzone was dazu ein.

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

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

                    Evtl. fällt ja @AlCalzone was dazu ein.

                    dazu bräuchte ich mal ein tl;dr, damit ich nicht den ganzen Thread nach Infos durchstöbern muss.

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

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

                      dazu bräuchte ich mal ein tl;dr, damit ich nicht den ganzen Thread nach Infos durchstöbern muss.

                      Ok, gern, hier Zusammenfassung:
                      @gelberlemmy hat mein Timerskript installiert. Es funktioniert alles wie es soll (haben auch inzwischen etliche Leuts ohne Probleme laufen), allerdings funktionierts nur solange bis er nen manuellen Browserrefresh macht. Danach steigt das Skript aus. Die Logs sagen mir, es steigt aus weil "undefined" Werte in Dps geschrieben werden die da nix zu suchen haben. Das Problem ist, ich hab null Ahnung warum. Die Logs dazu siehste hier: https://forum.iobroker.net/topic/33228/vorlage-flexibles-timerskript-vis/229 und hier is der Ursprungspost zum Thema https://forum.iobroker.net/topic/33228/vorlage-flexibles-timerskript-vis/219
                      Das Startlog ist völlig normal, alles bestens, Timer wird gesetzt, Timer wird ausgeführt. Im Log drunter siehste dann schon dass da undefined Werte reinkommen, dass das Skript da dann aussteigt is soweit klar und logisch. Nur woher kommen die Werte beim Browseraktualisieren?
                      Als Massnahme wurde bereits durchgeführt: Browsercache leeren, anderen Browser verwenden, Skriptverzeichnis löschen und Dps neu erstellen lassen, JS Instanz neustarten.

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

                        @Pittini Browser-Refresh dürfte keinen Einfluss auf Variablen in Skripten haben, da diese im Backend (ioBroker) laufen.

                        Die fragliche Zeile (631) verwendet eine Astro-Zeit, ohne zu prüfen, ob diese existiert. Es gibt ein paar Astro-Events, die an bestimmten Breitengraden zu bestimmten Jahreszeiten nicht existieren.
                        Ich vermute, das ist die Ursache.

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

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

                          @Pittini Browser-Refresh dürfte keinen Einfluss auf Variablen in Skripten haben, da diese im Backend (ioBroker) laufen.

                          Die fragliche Zeile (631) verwendet eine Astro-Zeit, ohne zu prüfen, ob diese existiert. Es gibt ein paar Astro-Events, die an bestimmten Breitengraden zu bestimmten Jahreszeiten nicht existieren.
                          Ich vermute, das ist die Ursache.

                          Hm, glaub ich eigentlich nicht, läßt sich aber ja leicht verifizieren indem wir @gelberlemmy mal fragen ob er überhaupt nen Astrotimer verwendet hatte. Ich seh das Problem hier:

                          javascript.0	2020-07-27 20:53:02.954	info	(4109) script.js.common.Timer_Target: Reaching WriteToTemplate(whichone), whichone=undefined
                          

                          Die Variable whichone legt fest welcher Timer in die TemplateDps geschrieben wird, wenn da ein undefined kommt kann nur murks rauskommen, nur woher kommt das undefined?
                          Das Skript is so aufgebaut das je nachdem, welcher Timer in ner Valuelist gewählt wird, die Werte dieses Timers in ein Template geschrieben wird, worauf sich das Vis bezieht. Beim klick auf des speichernbutton werden die Werte ausm (jetzt ja geänderten) Template in die eigentlichen TimerDps zurückgeschrieben. Iwo da vermute ich passiert was, aber wie gesagt ich komm da ned weiter.
                          Das ganze funktioniert bisher einwandfrei und ich glaub auch ned mal dasses am Skript liegt, kanns aber halt auch ned ausschliessen bevor die wahre Ursache gefunden wurde.

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

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

                            Hm, glaub ich eigentlich nicht

                            Wieso nicht? Steht doch in mehreren Logs oben:

                            javascript.0	2020-07-26 18:12:22.858	error	(2508) at CheckTodayAstroIsOver (script.js.Meine_Scripte.Timersteuerung:631:15)
                            javascript.0	2020-07-26 18:12:22.857	error	(2508) Error in callback: TypeError: Cannot read property 'setMinutes' of undefined
                            javascript.0	2020-07-26 18:12:22.848	error	(2508) Cannot get astro date for "time"
                            

                            Ich würde jetzt nicht pauschal ausschließen wollen, dass das nicht doch dafür sorgt, dass ungewollte Werte in DPs landen.

                            P 1 Reply Last reply Reply Quote 0
                            • gelberlemmy
                              gelberlemmy last edited by

                              Moin, also ich habe noch nie einen Astro Tier verwendet. Immer nur eine Schaltung zur bestimmten Uhrzeit.

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

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

                                Ich würde jetzt nicht pauschal ausschließen wollen, dass das nicht doch dafür sorgt, dass ungewollte Werte in DPs landen.

                                Jaein, das isn Folgefehler. Ich hab da ne Abfrage drin die auf !time prüft und da fällt natürlich das undefined drunter, gedacht war wenns nicht time ist, musses Astro sein, deswegen springt er in den falshen Zweig dann. Es bleibt aber immer noch die Frage, woher kommt das undefined das das auslöst. Ich fang das jetzt mal ab, dann soll @gelberlemmy mal posten wie oder was sich am Fehler geändert hat.

                                @gelberlemmy bitte mal Zeile 1110 ändern von:

                                            if (x == 5 && dp.state.val != "time") { //TimerChoice geändert und Astro gewählt
                                
                                

                                auf:

                                            if (x == 5 && dp.state.val != "time" && typeof dp.state.val != "undefined") { //TimerChoice geändert und Astro gewählt
                                
                                

                                Dann bitte mal testen und ggfs. das entstandene Log wieder hier posten.

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

                                  @Pittini danke für die Arbeit. Werde es nachher einmal probieren

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

                                    @gelberlemmy

                                    so keine Änderung. Die Fehlermeldungen gehen auch erst los, sobald ich in den Spalten "undefined" auswähle.

                                    javascript.0	2020-07-31 21:13:37.206	error	(21270) at processImmediate (internal/timers.js:456:21)
                                    javascript.0	2020-07-31 21:13:37.206	error	(21270) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                                    javascript.0	2020-07-31 21:13:37.205	error	(21270) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                                    javascript.0	2020-07-31 21:13:37.205	error	(21270) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                                    javascript.0	2020-07-31 21:13:37.204	error	(21270) at Object.<anonymous> (script.js.common.TimerTarget:1112:98)
                                    javascript.0	2020-07-31 21:13:37.204	error	(21270) at DetermineNextActiveAstroDay (script.js.common.TimerTarget:520:32)
                                    javascript.0	2020-07-31 21:13:37.203	error	(21270) at CheckTodayAstroIsOver (script.js.common.TimerTarget:631:15)
                                    javascript.0	2020-07-31 21:13:37.203	error	(21270) Error in callback: TypeError: Cannot read property 'setMinutes' of undefined
                                    javascript.0	2020-07-31 21:13:37.199	error	(21270) Cannot get astro date for "undefined"
                                    javascript.0	2020-07-31 21:13:37.198	info	(21270) script.js.common.TimerTarget: Reaching CheckTodayAstroIsOver(AstroChoice=undefined Shift=0)
                                    javascript.0	2020-07-31 21:13:37.198	info	(21270) script.js.common.TimerTarget: Reaching DetermineNextActiveAstroDay(whichone=-1 GoToTommorrow=false)
                                    javascript.0	2020-07-31 21:13:37.197	info	(21270) script.js.common.TimerTarget: Astro choosen
                                    javascript.0	2020-07-31 21:13:37.196	info	(21270) script.js.common.TimerTarget: Reaching MakeTable
                                    javascript.0	2020-07-31 21:13:37.195	info	(21270) script.js.common.TimerTarget: Reaching SwitchEditMode(whichone, onoff), whichonex=undefined TimerCount=1 onoff=true
                                    javascript.0	2020-07-31 21:13:33.022	info	(21270) script.js.common.TimerTarget: Reaching MakeTable
                                    javascript.0	2020-07-31 21:13:33.021	info	(21270) script.js.common.TimerTarget: Reaching SwitchEditMode(whichone, onoff), whichonex=undefined TimerCount=1 onoff=true
                                    javascript.0	2020-07-31 21:13:22.307	info	(21270) script.js.common.TimerTarget: Template TimerTarget changed, typeof=string Wert=
                                    javascript.0	2020-07-31 21:13:22.267	info	(21270) script.js.common.TimerTarget: Timertemplate changed to undefined
                                    javascript.0	2020-07-31 21:13:22.266	info	(21270) script.js.common.TimerTarget: Reaching MakeTable
                                    javascript.0	2020-07-31 21:13:22.266	info	(21270) script.js.common.TimerTarget: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=1 onoff=false
                                    javascript.0	2020-07-31 21:13:22.263	info	(21270) script.js.common.TimerTarget: Typeof MyTimer[undefined]=undefined
                                    javascript.0	2020-07-31 21:13:22.262	info	(21270) script.js.common.TimerTarget: Reaching WriteToTemplate(whichone), whichone=undefined
                                    
                                    gelberlemmy 1 Reply Last reply Reply Quote 0
                                    • gelberlemmy
                                      gelberlemmy @gelberlemmy last edited by

                                      Habe mir jetzt einen Button für den Regelneustart gebaut 😁

                                      IMG_20200801_082858.jpg

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

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

                                        Habe mir jetzt einen Button für den Regelneustart gebaut

                                        Als workaround sinnvoll, aber ich bin hartnäckig und will trotzdem wissen was da los ist. Vorallem weil nur Du das Problem hast. An obigem Screen sieht man ja schön das da alles leer ist im Änderungsbereich, schon das darf nicht sein.
                                        Kannst Du mal bitte zur Sicherheit in Vis ein komplett leeres neues Projekt anlegen und da eine einzige Seite machen mit den Widgets aus dem zur Verfügung gestellten View.
                                        Solltest Du Anydesk haben, würd ich mir das gerne mal live anschauen, wär vermutlich am sinnvollsten. ID kannste mir ja ggfs. im Chat durchgeben.

                                        gelberlemmy 2 Replies Last reply Reply Quote 0
                                        • gelberlemmy
                                          gelberlemmy @Pittini last edited by

                                          @Pittini wenn Anydesk kostenfrei ist, sehr sehr gerne.

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

                                            @gelberlemmy

                                            Ja, is kostenlos für Privatnutzung. https://anydesk.com/de/downloads

                                            F gelberlemmy 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            923
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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