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. @FuXXz2 last edited by

      @fuxxz2

      Die Farben im Editor hab ich für mich eingestellt im CSS von Uhula, daher das dunkle Design dort.
      Rest hast du ja gefunden.

      Wenn du magst, kannst du einen neuen Thread aufmachen und mir da dein Projekt hochladen. Ich würde da dann noch eine vernünftige Top Navigation bauen die in etwa so aussieht:

      Unbenannt.PNG

      Anstatt Heizung / Licht etc dann halt Heizung / Timer.
      Möchte den Thread hier nicht überladen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            851
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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