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

      @dominik-f Grundsätzlich nachvollziehbar. Nur hab ich grad keinerlei Ideen wie umsetzen.

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

        @pittini

        Nur mal so leienhaft dahergedacht:
        Man könnte in einem Array die Ordnernamen im Skript festlegen. Wenn man dann einen Timer erstellt, dann könnte man in Vis dem Timer ja den Ordnernamen zuweisen.

        Wenn jetzt für jeden Ordner eine eigene Tabelle erstellt werden würde, könnte man mitttels Dropdown Menü den Ordner auswählen und somit die Tabelle die man haben möchte anzeigen lassen ähnlich wie bei den Profilen in deiner Heatingcontrol Vis

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

          Kann ich eigentlich irgendwie die Ansage von alexa und Nachricht über Telegram ändern.
          Derzeit sagt er Timer 1, Deckenlicht, send value 100 as number.

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

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

            Kann ich eigentlich irgendwie die Ansage von alexa und Nachricht über Telegram ändern.
            Derzeit sagt er Timer 1, Deckenlicht, send value 100 as number.

            Zeile 664-720 stehen die Texte verteilt. Der Text der Dir nicht gefällt kommt von 720, kannste dort ändern, mußt aber nach jedem update erneut ändern.

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

              @pittini N'Abend, ich habe kürzlich einen Shelly 25 als Doppelschalter integriert und wollte den über das Timerscript steuern. Leider haben beide Relais in der Deviceliste den gleichen Namen. Da fällt die richtige Auswahl schon schwer. Gibt es dafür eine Lösung?

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

                @rene55

                Dann benenne sie dir doch um in der Vis. Die Funktion dafür ist ja vorhanden.

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

                  @dominik-f Hi Dominik, könntest du mir bitte vielleicht das View fürs Handy auch mal zukommen lassen ? Falls du es noch hast 🙂 wäre mega Cool , danke..

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

                    @fototec

                    https://forum.iobroker.net/topic/33228/vorlage-flexibles-timerskript-vis/343?_=1615543076072

                    Die Zip Datei ist ca. 10 Posts über deinem.

                    1 Reply Last reply Reply Quote 0
                    • Holger Etzel
                      Holger Etzel last edited by

                      Hallo mal eine Frage,

                      seit meinen Updates Node-js, js-controler und js zeigt die vis nur noch einen farbigen Balken an, auch wenn mehrere States geschaltet haben. Hat das auch schon jemand bemerkt, oder ist das nur bei mir so? Habe das Skript auch aktualisiert.

                      Gruß
                      Holger

                      1 Reply Last reply Reply Quote 0
                      • Holger Etzel
                        Holger Etzel last edited by

                        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

                        P M 2 Replies Last reply Reply Quote 0
                        • P
                          Pittini Developer @Holger Etzel last edited by

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

                          Bedeutet diese Meldung wirklich das der Shelly von extern, also nicht über das Skript geschaltet wird?

                          Da mir kein Problem diesbezüglich bekannt ist, sag ich mal ja..

                          Dominik F. 1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            940
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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