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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Flexibles Timerskript + Vis

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

      @Pittini

      Mit der Zeit fallen mir immer mehr Möglichkeiten ein dein Timerskript zu benutzen. Ich habe jedoch das Gefühl, dass die Liste immer länger und unübersichtlicher wird.

      Wäre es vielleicht eine Idee eine Art Ordnerstruktur einzubauen so das man verschiedene Timer zum selben Thema gruppieren könnte und bei bedarf den Ordner ein und ausklappen könnte?

      Bei 20 Timern ist es vielleicht noch etwas übersichtlich, aber bei 30 oder mehr wirds dann doch irgendwann unübersichtlich. Was meinst du dazu ?

      P 1 Reply Last reply Reply Quote 1
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            722
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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