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.
    • F
      Freaknet @Pittini last edited by Freaknet

      @Pittini

      Also grad nochmal paar Datenpunkte aus dem alias.0 Ordner eingefügt (Screen).
      Immer das selbe Problem... die Namen werden in der Vis nicht angezeigt und nur (Objekt Objekt) (siehe Foto) angezeigt. Wenn es nichts hilft muss ich wohl die Datenpunkte aus den Adaptern nehmen, da funktioniert das sehr gut!

      Bildschirmfoto 2020-07-25 um 21.25.52.png

      Bildschirmfoto 2020-07-25 um 21.25.24.png

      Also das Schaltziel wird richtig angezeigt... nur der Zielname wird nicht übernommen.

      Bildschirmfoto 2020-07-25 um 21.32.53.png

      1 Reply Last reply Reply Quote 0
      • F
        Freaknet last edited by

        Hi nochmal,

        also das Problem konnte ich jetzt lösen.
        Das Problem lag an den Namen der alias.0 Ordner.
        Die ID und der Name des Objekt´s müssen sich unterscheiden, dann wird auch in der Vis alles korrekt angezeigt. Siehe Beispiel:

        Vorher:
        Bildschirmfoto 2020-07-25 um 22.36.13.png

        Nachher:
        Bildschirmfoto 2020-07-25 um 22.36.54.png
        Bildschirmfoto 2020-07-25 um 22.44.22.png

        Vielleicht hilft das jemanden ja weiter 😉

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

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

          Vielleicht hilft das jemanden ja weiter

          Netter workaround bei dem ich grad nicht weis warums funktioniert. Das eigentliche Problem ist in der 2.1.6 behoben, sollte jetzt auch im Aliasordner klappen.

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

            @Pittini

            Vielen Dank für die schnelle Umsetzung mit Version 2.1.6. Schaut perfekt aus 👍

            Jetzt hätte ich nur noch ein Anliegen oder eine Frage.
            Ist es möglich, im Script den richtigen Zielname hinter dem Schaltziel schreiben zu lassen?

            Es geht um folgendes z.B.
            Ich habe 2 Datenpunkte in einem Ordner mit "TimerTarget" hinterlegt.
            alias.0.Licht.Nachtlicht_OG.ON (An/Aus)
            alias.0.Licht.Nachtlicht_OG.BRIGHTNESS (Helligkeit 0-100)

            Bildschirmfoto 2020-07-26 um 15.20.34.png

            Wenn ich nun in der VIS sowohl ON als auch BRIGHTNESS verwenden will steht jeweils immer Nachtlicht OG in der Auswahlliste. Somit kann man nicht direkt erkennen ob es der ON oder der BRIGHTNESS Datenpunkt ist. Erst nach dem Speichern sehe ich dann im Schaltziel, ob ich den richtigen Datenpunkt erwischt habe.

            Bildschirmfoto 2020-07-26 um 15.17.58.png

            Vielleicht kann man das ja noch einbauen, das der direkte Name des Datenpunkt angezeigt wird. Falls nicht gewünscht oder möglich ist es auch nicht schlimm. Würde es aber erleichtern den richtigen Datenpunkt auszuwählen.

            Schonmal Danke und noch einen schönen Sonntag!

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

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

              Vielleicht kann man das ja noch einbauen, das der direkte Name des Datenpunkt angezeigt wird. Falls nicht gewünscht oder möglich ist es auch nicht schlimm. Würde es aber erleichtern den richtigen Datenpunkt auszuwählen.

              Das kann man nicht global machen, da würden andere (mich eingeschlossen) ein Problem kriegen, die hätten dann in der Liste z.B. x mal "power" stehen. Was noch unübersichtlicher wäre. Verstehe aber auch Dein anleigen und hab Dir das mal schnell als Option in die 2.1.7 gepackt. Zeile 10 auf false stellen, dann sollte es so sein wie Du wolltest.

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

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

                Das kann man nicht global machen, da würden andere (mich eingeschlossen) ein Problem kriegen, die hätten dann in der Liste z.B. x mal "power" stehen. Was noch unübersichtlicher wäre. Verstehe aber auch Dein anleigen und hab Dir das mal schnell als Option in die 2.1.7 gepackt. Zeile 10 auf false stellen, dann sollte es so sein wie Du wolltest.

                Das war's 🙂 👍
                Vielen lieben Dank für die schnelle Umsetzung!!

                Nachtag:
                Jetzt kommt folgende Error-Meldung noch bei mir:

                javascript.0	2020-07-26 18:12:22.860	error	(2508) at process.topLevelDomainCallback (domain.js:137:15)
                javascript.0	2020-07-26 18:12:22.859	error	(2508) at processImmediate (internal/timers.js:456:21)
                javascript.0	2020-07-26 18:12:22.859	error	(2508) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                javascript.0	2020-07-26 18:12:22.859	error	(2508) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                javascript.0	2020-07-26 18:12:22.859	error	(2508) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                javascript.0	2020-07-26 18:12:22.859	error	(2508) at Object.<anonymous> (script.js.Meine_Scripte.Timersteuerung:1107:130)
                javascript.0	2020-07-26 18:12:22.858	error	(2508) at DetermineNextActiveAstroDay (script.js.Meine_Scripte.Timersteuerung:520:32)
                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"
                
                P 1 Reply Last reply Reply Quote 0
                • P
                  Pittini Developer @Freaknet last edited by

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

                  Jetzt kommt folgende Error-Meldung noch bei mir:

                  Kommt noch oder erst seit der Änderung? Aus sonem Schnipsel kann ich auch nix erkennen btw., bitte komplettes Startlog.

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

                    Keine Daten und Fehler nach Seitenaktualisierung im Webbrowser. Chrome auf dem PC und Fully Kiosk auf dem Tablet.

                    Hallo, ich habe ein Problem mit dem Skript. Beim Anlegen wie das auch in Github beschrieben, läuft das Script. Aber sobald ich die VIS Seite in dem Webbrowser aktualisiere, habe ich keine Daten mehr stehen. Auch die angelegten Datenpunkte sind nicht sichtbar. Wenn ich etwas anlegen will, steht da als Punkt "undefined" Wenn ich dies als Punkt setze kommen sehe ich die angelegten Datenpunkte wieder. Aber diese kann ich nicht ändern. Dann fängt das mit den Fehlermeldungen an. Auch wird das Pausenzeichen des Skriptes gelb. Auch ein Löschen der Datenpunkte unter Javascript und Neustarten des Skriptes löst mein Problem nicht. Ich muss also immer nach aktualisieren des Browsers das Script neu starten...
                    Beim Ausführen bekomme ich dann eine Warnung siehe letztes Bild.
                    Hat da jemand eventuell ein Tipp für mich ? Leider sind meine Java Kenntnisse gegen null.
                    Danke Gruß André

                    Timer 1.jpg Timer 2.jpg Timer 3.jpg Timer 4.jpg Timer 5.jpg Timer 6.jpg Timer 7.jpg
                    Timer 8.jpg
                    Timer 9.jpg

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

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

                      Kommt noch oder erst seit der Änderung?

                      Scheint das es jetzt nicht mehr kommt wenn ich das Script neu starte.
                      Scheint erstmal gelöst zu sein 😉 Warum??
                      Teste mal weiter.
                      Danke!

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

                        @Pittini

                        Guten Abend,

                        habe gerade von v2.1.5 auf v2.1.7 gewechselt und bekomme folgende Fehlermeldung:

                        21:17:31.700	info	javascript.0 (28046) Stop script script.js.Olli.Timer
                        21:17:31.771	info	javascript.0 (28046) Start javascript script.js.Olli.Timer
                        21:17:31.785	info	javascript.0 (28046) script.js.Olli.Timer: Starting TimerSkript V2.1.7
                        21:17:31.790	info	javascript.0 (28046) script.js.Olli.Timer: registered 0 subscriptions and 0 schedules
                        21:17:31.843	info	javascript.0 (28046) script.js.Olli.Timer: Initial CreateStates finished!
                        21:17:31.843	info	javascript.0 (28046) script.js.Olli.Timer: Reaching Main
                        21:17:31.843	info	javascript.0 (28046) script.js.Olli.Timer: Reaching Init()
                        21:17:31.844	info	javascript.0 (28046) script.js.Olli.Timer: GetParentId(Targets[y])=sonoff.0.Sonoff_1
                        21:17:31.844	info	javascript.0 (28046) script.js.Olli.Timer: GetParentId(Targets[y])=sonoff.0.Sonoff_2
                        21:17:31.845	info	javascript.0 (28046) script.js.Olli.Timer: GetParentId(Targets[y])=shelly.0.SHSW-1#8CAAB505CF4B#1
                        21:17:31.845	info	javascript.0 (28046) script.js.Olli.Timer: GetParentId(Targets[y])=shelly.0.SHSW-1#8CAAB505D4BC#1
                        21:17:31.845	info	javascript.0 (28046) script.js.Olli.Timer: GetParentId(Targets[y])=deconz.0.Lights.2
                        21:17:31.846	info	javascript.0 (28046) script.js.Olli.Timer: GetParentId(Targets[y])=deconz.0.Lights.3
                        21:17:31.846	info	javascript.0 (28046) script.js.Olli.Timer: 6 Targets found - Targets are: sonoff.0.Sonoff_1.POWER,sonoff.0.Sonoff_2.POWER,shelly.0.SHSW-1#8CAAB505CF4B#1.Relay0.Switch,shelly.0.SHSW-1#8CAAB505D4BC#1.Relay0.Switch,deconz.0.Lights.2.on,deconz.0.Lights.3.on
                        21:17:31.846	info	javascript.0 (28046) script.js.Olli.Timer: Names are: Sonoff_1,Sonoff_2,Shelly 1,Shelly 2,Mi Smart Plug 1,Mi Smart plug 2
                        21:17:31.849	info	javascript.0 (28046) script.js.Olli.Timer: Reaching CreateTimerCountList()
                        21:17:31.849	info	javascript.0 (28046) script.js.Olli.Timer: Reaching SetValueListPairs()
                        21:17:31.850	info	javascript.0 (28046) script.js.Olli.Timer: Reaching ConvertPresence. TempPresence=true
                        21:17:31.852	error	javascript.0 (28046) at ConvertPresence (script.js.Olli.Timer:323:5)
                        21:17:31.852	error	javascript.0 (28046) at main (script.js.Olli.Timer:463:5)
                        21:17:31.852	error	javascript.0 (28046) at Object.<anonymous> (script.js.Olli.Timer:211:17)
                        21:17:31.866	info	javascript.0 (28046) script.js.Olli.Timer: Timer CreateState(s) finished!
                        21:17:31.867	info	javascript.0 (28046) script.js.Olli.Timer: Reaching CreateDeviceTrigger() Trigger added for sonoff.0.Sonoff_2.POWER whichone= 0
                        21:17:31.868	info	javascript.0 (28046) script.js.Olli.Timer: Reaching SetTimer(whichone=,0 GoToTommorrow=false)
                        21:17:31.869	info	javascript.0 (28046) script.js.Olli.Timer: Reaching CreateTimerTargetsNameList()
                        21:17:31.869	info	javascript.0 (28046) script.js.Olli.Timer: Original TargetNames are:Sonoff_1,Sonoff_2,Shelly 1,Shelly 2,Mi Smart Plug 1,Mi Smart plug 2
                        21:17:31.870	info	javascript.0 (28046) script.js.Olli.Timer: Possible Target are:sonoff.0.Sonoff_1.POWER,sonoff.0.Sonoff_2.POWER,shelly.0.SHSW-1#8CAAB505CF4B#1.Relay0.Switch,shelly.0.SHSW-1#8CAAB505D4BC#1.Relay0.Switch,deconz.0.Lights.2.on,deconz.0.Lights.3.on
                        21:17:31.871	info	javascript.0 (28046) script.js.Olli.Timer: New TargetNames are:Sonoff_1,Sonoff_2,Shelly 1,Shelly 2,Mi Smart Plug 1,Mi Smart plug 2
                        21:17:31.871	info	javascript.0 (28046) script.js.Olli.Timer: Reaching MakeTable
                        21:17:31.875	error	javascript.0 (28046) at MakeTable (script.js.Olli.Timer:774:38)
                        21:17:31.878	error	javascript.0 (28046) at FillTimerArray (script.js.Olli.Timer:310:9)
                        21:17:31.878	error	javascript.0 (28046) at Object.<anonymous> (script.js.Olli.Timer:260:17)
                        

                        Anbei der Header aus dem Script:

                        //Wichtige Einstellungen
                        const logging = true; //Logmeldungen an/aus
                        const praefix = "javascript.0.Timer."; //Grundpfad
                        const PresenceDap = ""; //Pfad zum Anwesenheitsdatenpunkt - Leer lassen wenn nicht vorhanden!
                        const WelcheFunktionVerwenden = "TimerTarget";
                        const UseChannelNames = true; //Namen aus ID oder Channel extrahieren?
                        
                        //Benachrichtigungseinstellungen
                        const UseTelegram = false; // 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 = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                        
                        //Tabellen Einstellungen
                        const TblOnBgColor = "#4caf50"; //Hintergrundfarbe für Timer hat angeschaltet
                        const TblOffBgColor = "#f44336"; //Hintergrundfarbe für Timer hat ausgeschaltet
                        const TblIdleBgColor = ""; //Hintergrundfarbe für Timer ist inaktiv
                        const TblDisabledBgColor = "black"; //Hintergrundfarbe für Timer ist inaktiv
                        const TblEditBgColor = "#ffc107"; //Hintergrundfarbe für Timer welcher gerade bearbeitet wird
                        const TblChoosenColor = "white"; //Rahmenfarbe für gewählten Timer, noch nicht im Edit Mode
                        const HeadBgColor = "dimgrey"; //Hintergrundfarbe des Tabellenkopfes
                        const FontColor = "white"; //Textfarbe für Tabelleninhalt
                        const HeadFontColor = "white"; //Textfarbe für Tabellenkopf
                        const FontSize = "12px";//Textgröße für Tabelleninhalt
                        const HeadFontSize = "16px";//Textgröße für Tabellenlopf
                        const TblShowTimerLfdCol = true; //Tabellenspalte mit laufender Nummer anzeigen?
                        const TblShowTimerActiveCol = true; //Tabellenspalte ob Timer aktiv anzeigen?
                        const TblShowTimerActionCol = true; //Tabellenspalte mit Timer Aktion anzeigen?
                        const TblShowTimerSendValueCol = true; //Tabellenspalte mit Sendewerten anzeigen?
                        const TblShowTimerModeCol = true; //Tabellenspalte mit Timermodus anzeigen?
                        const TblShowTimerTimeCol = true; //Tabellenspalte mit Schaltzeit anzeigen? 
                        const TblShowTimerAstroOffsetCol = true; //Tabellenspalte mit Astro Offset anzeigen?
                        const TblShowTimerTargetCol = true; //Tabellenspalte mit Timer Ziel anzeigen?
                        const TblShowTimerTargetNameCol = true; //Tabellenspalte mit Namen des Timer Ziels anzeigen?
                        const TblShowTimerDaysCol = true; //Tabellenspalte mit aktiven Tagen anzeigen?
                        const TblShowTimerIfPresenceCol = true; //Tabellenspalte Schaltung nur bei Anwesenheit ausgeben?
                        const TblShowTimerIfNoPresenceCol = true; //Tabellenspalte Schaltung nur bei Abwesenheit ausgeben?
                        const TblShowTimerMessageCol = true; //Tabellenspalte für separate Benachrichtigungseinstellung ausgeben?
                        const ImgInvert = 0; // Bildfarben invertieren? Erlaubte Werte von 0 bis 1
                        const TblLfdImg = "/icons-mfd-svg/time_timer.svg"; //Bild für "Timer aktiv"
                        const TblActiveImg = "/icons-mfd-svg/control_on_off.svg"; //Bild für "Timer aktiv"
                        const TblIfPresenceImg = "/icons-mfd-svg/status_available.svg"; //Bild für "Nur wenn anwesend"
                        const TblIfNoPresenceImg = "/icons-mfd-svg/control_building_empty.svg"; //Bild für "Nur wenn abwesend"
                        const TblMessageImg = "/icons-mfd-svg/message_mail.svg"; //Bild für "Nachricht senden"
                        

                        Wahrscheinlich habe ich etwas übersehen, nur was? 🙂

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

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

                          Wahrscheinlich habe ich etwas übersehen, nur was?

                          Is klar dass das Skript da aussteigt. Du hast den Variablennamen in Zeile 4 geändert, original heißt der "PresenceDp" und nicht "PresenceDap".

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

                            @gelberlemmy

                            Besteht das Problem auch mit dem Orginaldatenpunkt?
                            Zeig auch mal bitte deine Einstellungen im Skript

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

                              @Pittini

                              Peinlich peinlich, jetzt läuft es wie es soll 🙂

                              Vielen Dank.

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

                                @Dominik-F
                                Es gibt nur diesen einen Datenpunkt einmal zum testen, da ich erst sicher gehen möchte,dass dies funktioniert.
                                Dies sollte doch kein Problem sein, da es hier ja um die Anzeige des Skriptes selbst geht.

                                code_text
                                ```//Timerskript
                                
                                //Wichtige Einstellungen
                                const logging = true; //Logmeldungen an/aus
                                const praefix = "javascript.0.Timer."; //Grundpfad
                                const PresenceDp = "fb-checkpresence.0.Andre.presence"; //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 = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                                
                                //Tabellen Einstellungen
                                const TblOnBgColor = "#4caf50"; //Hintergrundfarbe für Timer hat angeschaltet
                                const TblOffBgColor = "#f44336"; //Hintergrundfarbe für Timer hat ausgeschaltet
                                const TblIdleBgColor = ""; //Hintergrundfarbe für Timer ist inaktiv
                                const TblDisabledBgColor = "black"; //Hintergrundfarbe für Timer ist inaktiv
                                const TblEditBgColor = "#ffc107"; //Hintergrundfarbe für Timer welcher gerade bearbeitet wird
                                const TblChoosenColor = "white"; //Rahmenfarbe für gewählten Timer, noch nicht im Edit Mode
                                const HeadBgColor = "dimgrey"; //Hintergrundfarbe des Tabellenkopfes
                                const FontColor = "white"; //Textfarbe für Tabelleninhalt
                                const HeadFontColor = "white"; //Textfarbe für Tabellenkopf
                                const FontSize = "12px";//Textgröße für Tabelleninhalt
                                const HeadFontSize = "16px";//Textgröße für Tabellenlopf
                                const TblShowTimerLfdCol = true; //Tabellenspalte mit laufender Nummer anzeigen?
                                const TblShowTimerActiveCol = true; //Tabellenspalte ob Timer aktiv anzeigen?
                                const TblShowTimerActionCol = true; //Tabellenspalte mit Timer Aktion anzeigen?
                                const TblShowTimerSendValueCol = true; //Tabellenspalte mit Sendewerten anzeigen?
                                const TblShowTimerModeCol = true; //Tabellenspalte mit Timermodus anzeigen?
                                const TblShowTimerTimeCol = true; //Tabellenspalte mit Schaltzeit anzeigen? 
                                const TblShowTimerAstroOffsetCol = true; //Tabellenspalte mit Astro Offset anzeigen?
                                const TblShowTimerTargetCol = true; //Tabellenspalte mit Timer Ziel anzeigen?
                                const TblShowTimerTargetNameCol = true; //Tabellenspalte mit Namen des Timer Ziels anzeigen?
                                const TblShowTimerDaysCol = true; //Tabellenspalte mit aktiven Tagen anzeigen?
                                const TblShowTimerIfPresenceCol = true; //Tabellenspalte Schaltung nur bei Anwesenheit ausgeben?
                                const TblShowTimerIfNoPresenceCol = true; //Tabellenspalte Schaltung nur bei Abwesenheit ausgeben?
                                const TblShowTimerMessageCol = true; //Tabellenspalte für separate Benachrichtigungseinstellung ausgeben?
                                const ImgInvert = 0; // Bildfarben invertieren? Erlaubte Werte von 0 bis 1
                                const TblLfdImg = "/icons-mfd-svg/time_timer.svg"; //Bild für "Timer aktiv"
                                const TblActiveImg = "/icons-mfd-svg/control_on_off.svg"; //Bild für "Timer aktiv"
                                const TblIfPresenceImg = "/icons-mfd-svg/status_available.svg"; //Bild für "Nur wenn anwesend"
                                const TblIfNoPresenceImg = "/icons-mfd-svg/control_building_empty.svg"; //Bild für "Nur wenn abwesend"
                                const TblMessageImg = "/icons-mfd-svg/message_mail.svg"; //Bild für "Nachricht senden"
                                
                                1 Reply Last reply Reply Quote 0
                                • P
                                  Pittini Developer @gelberlemmy last edited by

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

                                  Hat da jemand eventuell ein Tipp für mich ? Leider sind meine Java Kenntnisse gegen null.

                                  Ich sags gern nochmal, ich brauch ein komplettes Startlog.
                                  Nicht als Screenshot, sondern hier als Codeblock einfügen. Und nicht das Log ausm Js Fenster, sondern ausm großen iobroker Log.

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

                                    @Pittini
                                    ok. das heisst ich suche die Logdatei aus dem Ordner /op/iobroker/log und poste es hier ?
                                    Ich würde dann den JS Adpater auf Debugg stellen ?

                                    Leider habe ich den Button Herunterladen im "LOG Reiter" des Admin nicht.

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

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

                                      ok. das heisst ich suche die Logdatei aus dem Ordner /op/iobroker/log und poste es hier ?
                                      Ich würde dann den JS Adpater auf Debugg stellen ?

                                      2mal nein.

                                      Du startest das Skript.
                                      Du öffnest das iobroker log (Im admin links auf logs klicken),
                                      Du markierst den Teil der vom Skript kommt mit der Maus, kopierst ihn und fügst ihn hier als Codeblock (Das Icon links des Kettensymbols) ein.

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

                                        @Pittini
                                        so nach dem Starten des Skriptes:

                                        javascript.0	2020-07-27 20:50:00.031	info	(4109) script.js.common.Timer_Target: Reaching MakeTable
                                        javascript.0	2020-07-27 20:50:00.030	info	(4109) script.js.common.Timer_Target: Reaching SetLockStates() TriggerIndex=-1 SwitchingTimerIndex=0
                                        javascript.0	2020-07-27 20:50:00.029	info	(4109) script.js.common.Timer_Target: Reaching Meldung, msg= Timer 1, Virtuelle Devices.0, hat ausgeschaltet
                                        javascript.0	2020-07-27 20:50:00.028	info	(4109) script.js.common.Timer_Target: Timer 1, Virtuelle Devices.0, switched off
                                        javascript.0	2020-07-27 20:50:00.025	info	(4109) script.js.common.Timer_Target: Reaching DoAction(), aktiv=true Rolle=0 whichone=0 Presence=true MyTimer[whichone][13]=Virtuelle_Devices.0.Gartenbewäserung MyTimer[whichone][14]=true
                                        javascript.0	2020-07-27 20:49:46.880	info	(4109) script.js.common.Timer_Target: Reaching MakeTable
                                        javascript.0	2020-07-27 20:49:46.879	info	(4109) script.js.common.Timer_Target: New TargetNames are:Virtuelle Devices.0
                                        javascript.0	2020-07-27 20:49:46.878	info	(4109) script.js.common.Timer_Target: Possible Target are:Virtuelle_Devices.0.Gartenbewäserung
                                        javascript.0	2020-07-27 20:49:46.878	info	(4109) script.js.common.Timer_Target: Original TargetNames are:Virtuelle Devices.0
                                        javascript.0	2020-07-27 20:49:46.878	info	(4109) script.js.common.Timer_Target: Reaching CreateTimerTargetsNameList()
                                        javascript.0	2020-07-27 20:49:46.877	info	(4109) script.js.common.Timer_Target: Reaching SetTimer(whichone=,1 GoToTommorrow=false)
                                        javascript.0	2020-07-27 20:49:46.876	info	(4109) script.js.common.Timer_Target: Timer CreateState(s) finished!
                                        javascript.0	2020-07-27 20:49:46.840	info	(4109) script.js.common.Timer_Target: CronString for Timer 1 created 00 50 20 * * *
                                        javascript.0	2020-07-27 20:49:46.839	info	(4109) script.js.common.Timer_Target: Reaching MakeCronString(whichone=0)
                                        javascript.0	2020-07-27 20:49:46.838	info	(4109) script.js.common.Timer_Target: Reaching CreateTimeDaysString(whichone=0)
                                        javascript.0	2020-07-27 20:49:46.838	info	(4109) script.js.common.Timer_Target: Timer 1 will be set, GoToTommorrow=false
                                        javascript.0	2020-07-27 20:49:46.837	info	(4109) script.js.common.Timer_Target: Reaching SetTimer(whichone=,0 GoToTommorrow=false)
                                        javascript.0	2020-07-27 20:49:46.837	info	(4109) script.js.common.Timer_Target: Reaching CreateDeviceTrigger() Trigger added for Virtuelle_Devices.0.Gartenbewäserung whichone= 0
                                        javascript.0	2020-07-27 20:49:46.835	info	(4109) script.js.common.Timer_Target: Timer CreateState(s) finished!
                                        javascript.0	2020-07-27 20:49:46.829	info	(4109) script.js.common.Timer_Target: Reaching CreateTrigger()
                                        javascript.0	2020-07-27 20:49:46.828	info	(4109) script.js.common.Timer_Target: Reaching ConvertPresence. TempPresence=true
                                        javascript.0	2020-07-27 20:49:46.827	info	(4109) script.js.common.Timer_Target: Reaching SetValueListPairs()
                                        javascript.0	2020-07-27 20:49:46.826	info	(4109) script.js.common.Timer_Target: Reaching CreateTimerCountList()
                                        javascript.0	2020-07-27 20:49:46.820	info	(4109) script.js.common.Timer_Target: Reaching Init()
                                        javascript.0	2020-07-27 20:49:46.820	info	(4109) script.js.common.Timer_Target: Reaching Main
                                        javascript.0	2020-07-27 20:49:46.819	info	(4109) script.js.common.Timer_Target: Initial CreateStates finished!
                                        javascript.0	2020-07-27 20:49:46.807	info	(4109) script.js.common.Timer_Target: registered 0 subscriptions and 0 schedules
                                        javascript.0	2020-07-27 20:49:46.800	info	(4109) script.js.common.Timer_Target: Starting TimerSkript V2.1.5
                                        javascript.0	2020-07-27 20:49:46.777	info	(4109) Start javascript script.js.common.Timer_Target
                                        javascript.0	2020-07-27 20:49:29.718	info	(4109) script.js.common.Timer_Target: Timer Schedule 2 killed
                                        javascript.0	2020-07-27 20:49:29.718	info	(4109) script.js.common.Timer_Target: Timer Schedule 1 killed
                                        javascript.0	2020-07-27 20:49:29.709	info	(4109) Stop script script.js.common.Timer_Target
                                        

                                        Jetzt nachdem ich den Browser aktualisiert habe und nur "undefined" in allen Auswahlspalten habe. Einfach einmal eine Spalte angeklickt :

                                        javascript.0	2020-07-27 20:53:39.087	error	(4109) at processImmediate (internal/timers.js:456:21)
                                        javascript.0	2020-07-27 20:53:39.087	error	(4109) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                                        javascript.0	2020-07-27 20:53:39.087	error	(4109) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                                        javascript.0	2020-07-27 20:53:39.087	error	(4109) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                                        javascript.0	2020-07-27 20:53:39.086	error	(4109) at Object.<anonymous> (script.js.common.Timer_Target:1105:98)
                                        javascript.0	2020-07-27 20:53:39.086	error	(4109) at DetermineNextActiveAstroDay (script.js.common.Timer_Target:513:32)
                                        javascript.0	2020-07-27 20:53:39.086	error	(4109) at CheckTodayAstroIsOver (script.js.common.Timer_Target:624:15)
                                        javascript.0	2020-07-27 20:53:39.085	error	(4109) Error in callback: TypeError: Cannot read property 'setMinutes' of undefined
                                        javascript.0	2020-07-27 20:53:39.066	error	(4109) Cannot get astro date for "undefined"
                                        javascript.0	2020-07-27 20:53:39.064	info	(4109) script.js.common.Timer_Target: Reaching CheckTodayAstroIsOver(AstroChoice=undefined Shift=0)
                                        javascript.0	2020-07-27 20:53:39.062	info	(4109) script.js.common.Timer_Target: Reaching DetermineNextActiveAstroDay(whichone=-1 GoToTommorrow=false)
                                        javascript.0	2020-07-27 20:53:39.061	info	(4109) script.js.common.Timer_Target: Astro choosen
                                        javascript.0	2020-07-27 20:53:39.061	info	(4109) script.js.common.Timer_Target: Reaching MakeTable
                                        javascript.0	2020-07-27 20:53:39.060	info	(4109) script.js.common.Timer_Target: Reaching SwitchEditMode(whichone, onoff), whichonex=undefined TimerCount=2 onoff=true
                                        javascript.0	2020-07-27 20:53:02.988	info	(4109) script.js.common.Timer_Target: Template TimerTarget changed, typeof=string Wert=
                                        javascript.0	2020-07-27 20:53:02.959	info	(4109) script.js.common.Timer_Target: Timertemplate changed to undefined
                                        javascript.0	2020-07-27 20:53:02.958	info	(4109) script.js.common.Timer_Target: Reaching MakeTable
                                        javascript.0	2020-07-27 20:53:02.958	info	(4109) script.js.common.Timer_Target: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=2 onoff=false
                                        javascript.0	2020-07-27 20:53:02.955	info	(4109) script.js.common.Timer_Target: Typeof MyTimer[undefined]=undefined
                                        javascript.0	2020-07-27 20:53:02.954	info	(4109) script.js.common.Timer_Target: Reaching WriteToTemplate(whichone), whichone=undefined
                                        

                                        Ich hoffe damit kann etwas anfangen. So Script ist das Pausenzeichen wieder auf "gelb" Skript neu gestartet. Und nun läuft es wieder

                                        Gruß André

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

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

                                          Ich hoffe damit kann etwas anfangen. So Script ist das Pausenzeichen wieder auf "gelb" Skript neu gestartet. Und nun läuft es wieder

                                          Also das ist ein sehr seltsamer Fehler und ich bin mir fast sicher dasses nicht am Skript liegt. Also müssen wir das mal eingrenzen. Das erste Log oben schaut ok aus, es wurde wohl auch korrekt geschaltet.
                                          Beim 2ten Log sind plötzlich Werte "undefined" also nicht vorhanden. Auch das das beim klicken ins Vis passiert ist seltsam, da sollte nämlich gar nix passieren, erst bei Änderung eines Wertes darf da was passieren.
                                          Beschreibe bitte mal wirklich Schritt für Schritt was Du machst und zeig mir bitte nen Screenshot aus der Objektliste den aufgeklappten Ordner "javascript.0.Timer", sowie Screenshots von den aufgeklappten Channels 0,1, und Template.

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

                                            @Pittini

                                            Danke für die schnelle Rückmeldung.
                                            Wie folgt:

                                            1. nach dem Start des Skriptes läuft die Seite mit dem Timer problemlos.
                                            2. manuelle aktualisierung des Webbrowsers.
                                            3. Ansicht nur noch die obere Zeile wo die Daten bearbeitet werden. Angelegte Timer nicht sichtbar.
                                            4. Anklicken eines Feldes erscheinen die angelegten Timer wieder.
                                            5. Auswahlen in der oberen Zeilen nur noch "undefined" Bearbeiten bestehenden Timer nicht möglich.
                                            6. Fehlermeldungen im LOG. Skript Pausenzeichen gelb.
                                            7. Stop dann Start des Skriptes, alles wieder in Funktion.

                                            Siehe auch die Bilder aus meinem ersten Post. Dort kann man gut sehen, dass dort nur die oberen Zeilemn angezeigt werden.

                                            Anbei die Bilder der Objektwerte:

                                            Timer6.jpg Timer5.jpg Timer4.jpg Timer3.jpg Timer2.jpg Timer1.jpg

                                            Gruß André

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            886
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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