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.
    • M
      mech @Holger Etzel last edited by

      @holger-etzel said in [Vorlage] Flexibles Timerskript + Vis:

      Mal noch eine blöde Frage:

      ich bekomme dauern willkürliche Schaltvorgänge.

      javascript.0	2021-03-26 15:31:30.150	info	(3078722) script.js.System.Zeitsteuerung_2_1_9: Device shelly.0.SHSW-25#8CAAB5556B27#1.Relay1.Switch switched from outside, setting TargetDeviceTimer 4 to idle
      javascript.0	2021-03-26 15:31:30.150	info	(3078722) script.js.System.Zeitsteuerung_2_1_9: Device shelly.0.SHSW-25#8CAAB5556B27#1.Relay1.Switch switched from outside, setting TargetDeviceTimer 3 to idle
      javascript.0	2021-03-26 15:31:30.150	info	(3078722) script.js.System.Zeitsteuerung_2_1_9: Reaching SetLockStates() TriggerIndex=1 SwitchingTimerIndex=-1
      javascript.0	2021-03-26 15:31:30.150	info	(3078722) script.js.System.Zeitsteuerung_2_1_9: TargetSwitchingInProgress=false
      javascript.0	2021-03-26 15:31:30.149	info	(3078722) script.js.System.Zeitsteuerung_2_1_9: MyTimer[1][(Dps.length + 0)]=idle
      javascript.0	2021-03-26 15:31:30.149	info	(3078722) script.js.System.Zeitsteuerung_2_1_9: TargetDevice shelly.0.SHSW-25#8CAAB5556B27#1.Relay1.Switch state changed to false, refreshing table
      

      Das ist so einer. Habe um 15:31 keine Schaltung des Shelly´s im System
      Bedeutet diese Meldung wirklich das der Shelly von extern, also nicht über das Skript geschaltet wird?

      Gruß
      Holger

      @Holger-Etzel Ist dein Smarthome von Extern erreichbar? Ggfs. Ports in der Fritzbox für externe Zugriffe freigegeben?

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

        @pittini

        Mir ist da gerade etwas aufgefallen, ich wollte mir die Zeiten einzelner Timer noch zusätzlich anzeigen lassen, damit meine Frau gewisse Zeiten einfacher sehen kann.

        Der eingestellte Timer in der Vis ist Nr. 9, in den Objekten ist es jedoch Timer 8. Ich finde das etwas verwirrend. Wäre es möglich die laufenden Nummern der Timer anzugleichen? In der Vis fangen sie bei 1 an, in den Objekten bei 0.

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

          @dominik-f Ja, das ist so beabsichtigt und werd ich auch nicht ändern. Intern verwende ich die "normale" Zählweise welche von 0 beginnt. Um die User nicht zu verwirren (hat ja nich jeder DV Hintergrund) wird ab 1 gezählt und dargestellt.

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

            Hallo in die Runde,

            ich versuche das Timer Skript für das ebenfalls im Einstz befindliche LightControl Skript zu verwenden. Hierbei habe ich folgendes Problem.

            Wenn ich das TimerSkript mit einem TimerTarget eines true/false DP von einem LED Strahler oder ähnlichem verwende klappt alles prima.
            Sobald ich jedoch als TimerTarget einen LightControl DP wie bspw. "javascript.0.LightControl.1.Power" verwende startet das Skript, läuft jedochauf einen Fehler und in der VIS kann ich kein Target auswählen.

            Im Log steht Folgendes.

            2021-05-21 13:33:02.444 - info: javascript.0 (30567) Start javascript script.js.Tools.Timerscript
            2021-05-21 13:33:02.449 - info: javascript.0 (30567) script.js.Tools.Timerscript: Starting TimerSkript V2.1.10
            2021-05-21 13:33:02.453 - info: javascript.0 (30567) script.js.Tools.Timerscript: registered 0 subscriptions and 0 schedules
            2021-05-21 13:33:02.462 - info: javascript.0 (30567) script.js.Tools.Timerscript: Initial CreateStates finished!
            2021-05-21 13:33:02.463 - info: javascript.0 (30567) script.js.Tools.Timerscript: Reaching Main
            2021-05-21 13:33:02.463 - info: javascript.0 (30567) script.js.Tools.Timerscript: Reaching Init()
            2021-05-21 13:33:02.463 - info: javascript.0 (30567) script.js.Tools.Timerscript: GetParentId(Targets[y])=javascript.0.LightControl.1
            2021-05-21 13:33:02.464 - warn: javascript.0 (30567) Object "javascript.0.LightControl.1" does not exist
            2021-05-21 13:33:02.465 - error: javascript.0 (30567) Error in callback: TypeError: Cannot read property 'common' of null
            2021-05-21 13:33:02.466 - error: javascript.0 (30567) at init (script.js.Tools.Timerscript:436:86)
            2021-05-21 13:33:02.466 - error: javascript.0 (30567) at main (script.js.Tools.Timerscript:460:5)
            2021-05-21 13:33:02.466 - error: javascript.0 (30567) at Object. (script.js.Tools.Timerscript:211:17)
            2021-05-21 13:33:02.466 - error: javascript.0 (30567) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1976:38)
            2021-05-21 13:33:02.466 - error: javascript.0 (30567) at processImmediate (internal/timers.js:463:21)
            

            Irgendetwas mache ich wie es aussieht falsch. Hat hierzu jemand eine mögliche Lösung?

            Freundliche Grüße
            Marco

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

              @captainbalou Hmm, ja, nachvollziehbar, sollte aber nicht sein. Zeig mal nen Screenshot vom Objektbaum vom aufgeklappten Lightcontrol.1 inkl. der 3 Symbole ganz rechts. Ich hab da nen Verdacht. Und bitte schau mal in den Einstellungen vom JS Adapter ob da setObject erlaubt ist.

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

                Hallo @Pittini ,

                anbei die beiden Infos:

                82d95e67-ac44-4228-961c-e71fc2bdcfb7-grafik.png

                ac74f58f-ecd8-4fb8-be94-700498963347-grafik.png

                Grüße
                Marco

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

                  @captainbalou Ok, mein Verdacht ist damit bestätigt, bei Dir sinds keine Channels. Die erstellt das Skript aber an sich selbsständig beim anlegen der DPs, das sieht eigentlich so aus:
                  2021-05-23 10_14_28-Window.png

                  Die beste Variante wär mal den ganzen Baum zu löschen, der wird beim nächsten Skriptstart dann neu angelegt, hoffentlich mit den richtigen channels. Aber wenn nicht sollte was im Log stehen.
                  Der zweite Weg, wär im nachhinein channels draus zu machen, das geht mit nem Einzeiler pro Channel. Also neues Skript anlegen, das hier reinschreiben, ggfs. Natürlich Namen und Id anpassen, einmal starten und dann kann man das Einzeiler-Skript wieder stoppen und löschen.

                  setObject("javascript.0.LightControl.1", { type: 'channel', common: { name: "Der jeweilige Raumname" }, native: {} });
                  
                  C 1 Reply Last reply Reply Quote 0
                  • C
                    CaptainBalou @Pittini last edited by

                    @pittini Ich habe den LightControl Baum gelöscht und das Skript neu gestartet Es wurde alles wieder angelegt. Allerdings auch nicht als Channel - wie zuvor. Im Log steht nichts was auf ein Problem schließen lassen könnte. Ich habe den Javascript Adapter auf Debug gestellt und sehe diese Meldungen.

                    javascript.0	2021-05-23 23:48:53.176	info	(25003) script.js.Tools.LightControl_js: PresenceCount Dp found, set Presence to 2
                    javascript.0	2021-05-23 23:48:51.573	info	(25003) script.js.Tools.LightControl_js: registered 0 subscriptions and 0 schedules
                    javascript.0	2021-05-23 23:48:51.562	info	(25003) script.js.Tools.LightControl_js: starting LightControl V.0.1.5
                    javascript.0	2021-05-23 23:48:51.531	info	(25003) Start javascript script.js.Tools.LightControl_js
                    

                    Ich habe exemplarisch drei Räume mit deinem Einzeiler modifiziert. Hat funktioniert.

                    0d2493c5-007c-4cf5-8a3e-2f6fa51d6300-grafik.png

                    Ganz wie in deinem Screenshot sieht es nicht aus, da die Unterordner keine Channels sind, aber ich denke der Funktion tut das aktuell nichts ab.

                    Bekomme ich irgendwie heraus weshalb das nicht angelegt wird wie es soll ohne den Javascript Code manuell durchzuforsten? 🙂

                    Grüße
                    Marco

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

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

                      Im Log steht nichts was auf ein Problem schließen lassen könnte.

                      Naja, ich vermute mal Du hast im Skript logging auf false, dann wird das nix. Debug am JS Adapter einzustellen bringt 0.

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

                        @pittini Hast Recht (natürlich). 🙂 Ist durch das "Update" auf die neue Version wieder auf false gewesen. Ok, also nochmal die Logs nach aktivieren des Logging.

                        javascript.0	2021-05-24 11:52:19.464	info	(27308) script.js.Tools.LightControl_js: Reaching AutoOff_Lux() Lux=172
                        javascript.0	2021-05-24 11:52:19.464	info	(27308) script.js.Tools.LightControl_js: Reaching AutoOn_Lux() Lux=172
                        javascript.0	2021-05-24 11:52:19.464	info	(27308) script.js.Tools.LightControl_js: PresenceCount Dp found, set Presence to 2
                        javascript.0	2021-05-24 11:52:19.460	info	(27308) script.js.Tools.LightControl_js: Group 2 has 1 Motion Sensor Datapoints, with values:
                        javascript.0	2021-05-24 11:52:19.460	info	(27308) script.js.Tools.LightControl_js: Group 1 has 1 Motion Sensor Datapoints, with values:
                        javascript.0	2021-05-24 11:52:19.459	info	(27308) script.js.Tools.LightControl_js: Group 0 has 1 Motion Sensor Datapoints, with values:
                        javascript.0	2021-05-24 11:52:19.459	info	(27308) script.js.Tools.LightControl_js: Reaching Init
                        javascript.0	2021-05-24 11:52:19.459	info	(27308) script.js.Tools.LightControl_js: Reaching main
                        javascript.0	2021-05-24 11:52:19.459	info	(27308) script.js.Tools.LightControl_js: CreateStates fertig!
                        javascript.0	2021-05-24 11:52:18.312	info	(27308) script.js.Tools.LightControl_js: registered 0 subscriptions and 0 schedules
                        javascript.0	2021-05-24 11:52:18.304	info	(27308) script.js.Tools.LightControl_js: starting LightControl V.0.1.5
                        javascript.0	2021-05-24 11:52:18.299	info	(27308) Start javascript script.js.Tools.LightControl_js
                        
                        1 Reply Last reply Reply Quote 0
                        • S
                          stefande last edited by

                          Ich nutze einen Touchscreen an einem Windows PC ohne Maus und Tastatur.
                          Leider ist die Eingabe der Zeit damit nicht praktikabel.
                          Es öffnet sich zwar das Dialogfenster, aber eine präzise Zeiteingabe über die Slider ist per Touch nicht möglich.
                          Hat jemand vielleicht eine Idee, wie ich das Problem lösen kann?

                          Danke im Voraus für eure Ideen.

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

                            @stefande

                            Vielleicht kannste dir die Slider in der Größe ja verändern. Ich nutze das am Handy und kann dort alles ohne Probleme minutengenau einstellen

                            1 Reply Last reply Reply Quote 0
                            • S
                              stefande last edited by

                              @dominik-f

                              Am Handy geht das bei mir auch ohne Probleme.
                              Unter Windows funktioniert leider das Slidern nicht, weder mit Chome, Firefox oder Edge.
                              Ich kann nur wild auf die Leiste tippen und hoffen, dass ich irgendwann mal die richtige Zeit treffe.
                              Das Vergössen des Popups würde das Treffen vermutlich deutlich erleichtern, aber mit den jqui Widgets stehe ich auf dem Kriegspfad.
                              Vielleicht kann mir ja jemand einen Tipp geben, wie ich das Popup anpassen kann, oder hat eine Idee zu einem anderen Widget, mit dem ich die Zeit eingeben kann.

                              Nach schon stunden langem Basteln, bin ich ziemlich verzweifelt.

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

                                @stefande Du kannst dafür auch einfach nen normales Input Widget nehmen, mußt nur sicherstellen dass die Zeit immer im Format HH:MM:SS anzugeben ist, erwartet wird einfach ein String in dieser Form, von welchem Widget das kommt is dem Skript egal.

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

                                  @pittini
                                  Hast du vielleicht eine Idee welches Widget geeignet wäre?
                                  Ich hab schon selber nach einem Widget gesucht, aber die meisten sind erstmal Böhmisch Dörfer für mich.

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

                                    @stefande jqui-input

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

                                      @pittini

                                      Ich hab mich jetzt mal ein bisschen mit dem jqui-input Widget beschäftigt.
                                      Da mir nach wie vor eine Tastatur fehlt, hab ich es mal mit der Widget Virtueller Tastatur versucht.
                                      Hier ist die Eingabe extrem umständlich, da man zur Eingabe des Doppelpunkts immer das Layout umschalten muss. Man kann in dem Widget auch ein Keypad auswählen, aber damit hab ich überhaupt keine Möglichkeit den Doppelpunkt einzugeben.

                                      Hast du dazu vielleicht noch eine Idee?

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

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

                                        Hast du dazu vielleicht noch eine Idee?

                                        Nein.

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

                                          @pittini

                                          Schade.
                                          Falls du oder jemand anders vielleicht doch noch einen Geistesblitz hat.

                                          Bitte melden.

                                          1 Reply Last reply Reply Quote 0
                                          • Negalein
                                            Negalein Global Moderator @Pittini last edited by

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

                                            Thread zum Timerskript unter

                                            Hallo

                                            Ich bekomm mit dem Script folgende WARNungen.
                                            Kannst du mir sagen, wo ich was ändern muss?

                                            javascript.0 2021-08-19 16:45:32.506	warn	Read-only state "javascript.0.Timer.PresenceFuncAvailable" has been written without ack-flag with value "false"
                                            javascript.0 2021-08-19 16:45:32.506	warn	Read-only state "javascript.0.Timer.AktionText" has been written without ack-flag with value "Ausschalten;Einschalten;Umschalten"
                                            javascript.0 2021-08-19 16:45:32.505	warn	Read-only state "javascript.0.Timer.AktionValues" has been written without ack-flag with value "0;1;2"
                                            
                                            P 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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