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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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 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
                                          • P
                                            Pittini Developer @gelberlemmy last edited by

                                            @gelberlemmy

                                            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?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            555
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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