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 sagte in [Vorlage] Flexibles Timerskript + Vis:

      javascript.0	2020-05-23 11:43:00.006	info	(26521) script.js.common.TimerNeu: Timer 1 hat ausgeschaltet
      javascript.0	2020-05-23 11:43:00.005	info	(26521) script.js.common.TimerNeu: Reaching DoAction(), whichone=1 Presence=trueMyTimer[whichone][13]=hm-rpc.0.OEQ0572933.1.STATEMyTimer[whichone][14]=true
      javascript.0	2020-05-23 11:42:40.451	info	(26521) script.js.common.Fensterauswertung: TempMessageLog=23.05.2020 11:42:40: EG Badfenster seit 30 Minuten geöffnet!,23.05.2020 11:27:40: EG Badfenster seit 15 Minuten geöffnet!,23.05.2020 11:12:40
      javascript.0	2020-05-23 11:42:00.004	info	(26521) script.js.common.TimerNeu: Reaching DoAction(), whichone=0 Presence=trueMyTimer[whichone][13]=hm-rpc.0.OEQ0572933.1.STATEMyTimer[whichone][14]=false
      

      Das schaut an sich gut aus, der ist in keinen Fehler gelaufen, die ausschaltung wurde komplett durchgeführt, die einschaltung hat er verworfen. Der einzige Grund warum er das tut ist dass der Timer nicht auf aktiv gesetzt wurde. kannste das mal bitte überprüfen?

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

        @Pittini

        ich glaube es liegt wieder mal an den Presence Datenpunkten. Bei Timer 0, der fürs Einschalten zuständig ist, sind beide Datenpunkte false, bei Timer 1 sind beide true.
        Beide Timer sind aktiv.

        Unbenannt.PNG

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

          @Pittini

          Es funktioniert nun. Ich hab n Presencedatenpunkt eingegeben und dann die Datenpunkte über die Vis auf True gestellt.
          Die Einstellungen werden wohl gespeichert auch wenn die Anwesenheit irgendwann wegnimmt. Laut der Anleitung sollte die Anwesenheit bei keinem Datenpunkt auf True gestellt werden. Das scheint noch nicht ganz zu funktionieren.

          Dazu fände ich es gut, wenn der gelbe Balken, der anzeigt was angewählt ist verschwindet nachdem man gespeichert hat. Ich hab jetzt nur 2 Timer und ein Timer ist ja immer angwählt und zeigt somit nichts an weil es Gelb ist.

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

            @Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:

            Es funktioniert nun. Ich hab n Presencedatenpunkt eingegeben und dann die Datenpunkte über die Vis auf True gestellt.

            Sollte nicht nötig sein, aber ich schau mir das nochmal an.

            Die Einstellungen werden wohl gespeichert auch wenn die Anwesenheit irgendwann wegnimmt.

            Hä?

            Laut der Anleitung sollte die Anwesenheit bei keinem Datenpunkt auf True gestellt werden. Das scheint noch nicht ganz zu funktionieren.

            Wo steht das denn? Eigentlich steht da:
            Solltet Ihr keinen Anwesenheitsdatenpunkt eingetragen haben, so ist dieser Button, sowie die zugehörige Spalte in der Übersichtstabelle nicht sichtbar. Skriptintern wird die Anwesenheit auf true gesetzt.

            Dazu fände ich es gut, wenn der gelbe Balken, der anzeigt was angewählt ist verschwindet nachdem man gespeichert hat. Ich hab jetzt nur 2 Timer und ein Timer ist ja immer angwählt und zeigt somit nichts an weil es Gelb ist.

            Jap, da is was dran, da überleg ich mir mal was, evtl die gelbe Markierung nur in der ersten Spalte zu setzen, oder nen Rahmen statt Farbe.

            1 Reply Last reply Reply Quote 0
            • D
              deta Most Active last edited by

              ok, dann werde ich es mal die nächsten Stunden mal testen.

              Idee für Erweiterung wäre: Das man wenn eine Schaltung erfolgt, eine Telegram Nachricht bekommt.
              "z.b.: Die Pumpe wurde eingeschaltet um xx Uhr"
              " Die Pumpe wurde ausgeschaltet um xx Uhr"
              " Die Lampe(Gerätenamen) wurde .."

              Wäre das machbar? Wäre echt gut.

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

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

                Wäre das machbar? Wäre echt gut.

                Ja, das ist relativ easy da die entsprechenden Meldungen ja eh generiert werden fürs Log. Paßt eigentlich gut zu meinen anderen beiden Skripts die das auch machen, hätte nur nicht gedacht dass man das auch bei Timern will.

                D 1 Reply Last reply Reply Quote 0
                • D
                  deta Most Active @Pittini last edited by

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

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

                  Wäre das machbar? Wäre echt gut.

                  Ja, das ist relativ easy da die entsprechenden Meldungen ja eh generiert werden fürs Log. Paßt eigentlich gut zu meinen anderen beiden Skripts die das auch machen, hätte nur nicht gedacht dass man das auch bei Timern will.

                  Wäre echt klasse.
                  Hab gerade mal das js installiert und beim start stand im Log

                  
                  javascript.0	2020-05-23 14:02:14.262	info	(22136) script.js.Poolsteuerung.Timer-Skript: Reaching MakeTable
                  javascript.0	2020-05-23 14:02:14.259	info	(22136) script.js.Poolsteuerung.Timer-Skript: Timer CreateState(s) fertig!
                  javascript.0	2020-05-23 14:02:14.174	info	(22136) script.js.Poolsteuerung.Timer-Skript: Timer CreateState(s) fertig!
                  javascript.0	2020-05-23 14:02:13.592	warn	(22136) This object will not be created in future versions. Please report this to the developer.
                  javascript.0	2020-05-23 14:02:13.591	warn	(22136) Object javascript.0.Timer.1 is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, array, object, mixed, file, json
                  javascript.0	2020-05-23 14:02:13.582	warn	(22136) This object will not be created in future versions. Please report this to the developer.
                  javascript.0	2020-05-23 14:02:13.581	warn	(22136) Object javascript.0.Timer.0 is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, array, object, mixed, file, json
                  javascript.0	2020-05-23 14:02:13.568	info	(22136) script.js.Poolsteuerung.Timer-Skript: Reaching CreateTrigger()
                  javascript.0	2020-05-23 14:02:13.566	info	(22136) script.js.Poolsteuerung.Timer-Skript: Reaching ConvertPresence. TempPresence=true
                  javascript.0	2020-05-23 14:02:13.564	info	(22136) script.js.Poolsteuerung.Timer-Skript: Reaching SetValueListPairs()
                  javascript.0	2020-05-23 14:02:13.561	info	(22136) script.js.Poolsteuerung.Timer-Skript: Reaching CreateTimerCountList()
                  javascript.0	2020-05-23 14:02:13.547	info	(22136) script.js.Poolsteuerung.Timer-Skript: Reaching Init()
                  javascript.0	2020-05-23 14:02:13.546	info	(22136) script.js.Poolsteuerung.Timer-Skript: Reaching Main
                  javascript.0	2020-05-23 14:02:13.545	info	(22136) script.js.Poolsteuerung.Timer-Skript: Initial CreateStates fertig!
                  javascript.0	2020-05-23 14:02:12.821	warn	(22136) This object will not be created in future versions. Please report this to the developer.
                  javascript.0	2020-05-23 14:02:12.820	warn	(22136) Object javascript.0.Timer.Template is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, array, object, mixed, file, json
                  javascript.0	2020-05-23 14:02:12.803	info	(22136) script.js.Poolsteuerung.Timer-Skript: registered 0 subscriptions and 0 schedules
                  javascript.0	2020-05-23 14:02:12.723	info	(22136) Start javascript script.js.Poolsteuerung.Timer-Skript
                  javascript.0	2020-05-23 14:01:50.382	info	(22136) Stop script script.js.Poolsteuerung.Timer-Skript
                  
                  1 Reply Last reply Reply Quote 0
                  • D
                    deta Most Active last edited by

                    Mh so wo muss ich jetzt die Schaltziele eintragen? Steh da gerade auf dem schlauch.🙄

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

                      @Pittini

                      So hat mir keine Ruhe gelassen 😉 -- Zigbee funktioniert nicht 100%

                      Das Thema mit den Farben auch nicht. 😞

                      javascript.0	2020-05-23 14:20:00.053	info	(5902) script.js.Timer.TimerV2: Timer 3 hat ausgeschaltet
                      javascript.0	2020-05-23 14:20:00.050	warn	(5902) at Object.<anonymous> (script.js.Timer.TimerV2:372:13)
                      javascript.0	2020-05-23 14:20:00.049	warn	(5902) at DoAction (script.js.Timer.TimerV2:433:21)
                      javascript.0	2020-05-23 14:20:00.038	info	(5902) script.js.Timer.TimerV2: Reaching DoAction(), whichone=3 Presence=trueMyTimer[whichone][13]=MyTimer[whichone][14]=true
                      javascript.0	2020-05-23 14:18:30.162	info	(5902) script.js.Timer.TimerV2: Settings saved
                      javascript.0	2020-05-23 14:18:29.159	info	(5902) script.js.Timer.TimerV2: Reaching MakeTable
                      javascript.0	2020-05-23 14:18:29.157	info	(5902) script.js.Timer.TimerV2: Reaching MakeTable
                      javascript.0	2020-05-23 14:18:29.156	info	(5902) script.js.Timer.TimerV2: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=false
                      javascript.0	2020-05-23 14:18:29.148	info	(5902) script.js.Timer.TimerV2: CronString für Timer 0 erstellt 00 09 * * 6
                      javascript.0	2020-05-23 14:18:29.148	info	(5902) script.js.Timer.TimerV2: Timer 0 wird gesetzt
                      javascript.0	2020-05-23 14:18:29.147	info	(5902) script.js.Timer.TimerV2: Zeit gewählt 09:00:00
                      javascript.0	2020-05-23 14:18:29.147	info	(5902) script.js.Timer.TimerV2: Timer Schedule 0 killed
                      javascript.0	2020-05-23 14:18:29.143	info	(5902) script.js.Timer.TimerV2: Reaching WriteToTimer, whichone=0
                      javascript.0	2020-05-23 14:17:55.627	info	(5902) script.js.Timer.TimerV2: Reaching MakeTable
                      javascript.0	2020-05-23 14:17:55.626	info	(5902) script.js.Timer.TimerV2: Reaching MakeTable
                      javascript.0	2020-05-23 14:17:51.616	info	(5902) script.js.Timer.TimerV2: Reaching MakeTable
                      javascript.0	2020-05-23 14:17:51.613	info	(5902) script.js.Timer.TimerV2: Reaching MakeTable
                      javascript.0	2020-05-23 14:15:00.041	info	(5902) script.js.Timer.TimerV2: zigbee.0.7cb03eaa0a07eff0.state Timer 2 hat angeschaltet
                      javascript.0	2020-05-23 14:15:00.039	info	(5902) script.js.Timer.TimerV2: Reaching DoAction(), whichone=2 Presence=trueMyTimer[whichone][13]=zigbee.0.7cb03eaa0a07eff0.stateMyTimer[whichone][14]=true
                      javascript.0	2020-05-23 14:11:14.345	info	(5902) script.js.Timer.TimerV2: Reaching MakeTable
                      

                      Zigbee einschalten hat funktioniert.

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

                        @deta

                        RTFM

                        Installation

                        1. Wenn noch nicht geschehen, allen gewünschten Zieldatenpunkten eine Funktion zuweisen. Die Funktion muss vorher in den Aufzählungen hinzugefügt werden und könnte z.B. "TimerTarget" lauten. Soll ein anderer Begriff verwendet werden, muss dies dann auch im Script geändert werden. Nach der Zuweisung, bzw. dem anlegen neuer Aufzählungspunkte ist es oft hilfreich die JS Instanz neu zu starten da diese bei Aufzählungsänderungen gerne mal "zickt" was dann zu Skriptfehlern führt.

                        und

                        1. Das Listenfeld "Ziel" - Hier wählt Ihr aus welches Ziel geschaltet werden soll. Die hier vorhandenen Einträge, sind die Namen jener Id's, welche Ihr der Funktion "TimerTarget" zugewiesen habt. Schaltbar ist grundsätzlich alles was mit true/false gesteuert wird, egal ob Lampen, Steckdosen oder auch Skripte, Datenpunkte usw.
                        D 1 Reply Last reply Reply Quote 0
                        • D
                          deta Most Active @Pittini last edited by

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

                          @deta

                          RTFM

                          Installation

                          1. Wenn noch nicht geschehen, allen gewünschten Zieldatenpunkten eine Funktion zuweisen. Die Funktion muss vorher in den Aufzählungen hinzugefügt werden und könnte z.B. "TimerTarget" lauten. Soll ein anderer Begriff verwendet werden, muss dies dann auch im Script geändert werden. Nach der Zuweisung, bzw. dem anlegen neuer Aufzählungspunkte ist es oft hilfreich die JS Instanz neu zu starten da diese bei Aufzählungsänderungen gerne mal "zickt" was dann zu Skriptfehlern führt.

                          und

                          1. Das Listenfeld "Ziel" - Hier wählt Ihr aus welches Ziel geschaltet werden soll. Die hier vorhandenen Einträge, sind die Namen jener Id's, welche Ihr der Funktion "TimerTarget" zugewiesen habt. Schaltbar ist grundsätzlich alles was mit true/false gesteuert wird, egal ob Lampen, Steckdosen oder auch Skripte, Datenpunkte usw.

                          Wo ist das Listenfeld. In den Objekten? Da ist kein Ziel und wenn in welchen Format?

                          Hab das so eingetragen in den Objekten, funktioniert aber nicht.

                          Screenshot_20200523_144229.png

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

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

                            Zigbee funktioniert nicht 100%

                            (5902) script.js.Timer.TimerV2: Reaching DoAction(), whichone=3 Presence=trueMyTimer[whichone][13]=MyTimer[whichone][14]=true
                            

                            Da ist kein Ziel definiert. Die Frage ist jetzt warum. Zeig bitte mal nen Screenshot vom Vis.

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

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

                              Wo ist das Listenfeld. In den Objekten? Da ist kein Ziel und wenn in welchen Format?
                              Hab das so eingetragen in den Objekten, funktioniert aber nicht.

                              Ist es echt so schwer der Anleitung folge zu leisten?

                              1. Ab hier habt Ihr mit dem Skript und der Objektliste nichts mehr zu tun, alles weitere wird via Vis erledigt, ihr solltet nun die beigefügte Vorlage (TimerView.txt) via "Widgets importieren" in Euer Vis Projekt integrieren und aufrufen.
                              D 1 Reply Last reply Reply Quote 0
                              • D
                                deta Most Active @Pittini last edited by

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

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

                                Wo ist das Listenfeld. In den Objekten? Da ist kein Ziel und wenn in welchen Format?
                                Hab das so eingetragen in den Objekten, funktioniert aber nicht.

                                Ist es echt so schwer der Anleitung folge zu leisten?

                                1. Ab hier habt Ihr mit dem Skript und der Objektliste nichts mehr zu tun, alles weitere wird via Vis erledigt, ihr solltet nun die beigefügte Vorlage (TimerView.txt) via "Widgets importieren" in Euer Vis Projekt integrieren und aufrufen.

                                Sorry wenn das so klar wäre würde ich nicht fragen!
                                Hatte versucht im VIS die Datenpunkte irgendwie einzugeben, ging aber nirgends. Wo soll man in VIS die eingeben können??

                                sigi234 1 Reply Last reply Reply Quote 0
                                • sigi234
                                  sigi234 Forum Testing Most Active @deta last edited by

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

                                  Hatte versucht im VIS die Datenpunkte irgendwie einzugeben, ging aber nirgends. Wo soll man in VIS die eingeben können??

                                  Du brauchst nix händisch eingeben, du musst die Runtime starten , alles einstellen und dann auf speichern gehen. (Diskette)

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    deta Most Active @sigi234 last edited by

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

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

                                    Hatte versucht im VIS die Datenpunkte irgendwie einzugeben, ging aber nirgends. Wo soll man in VIS die eingeben können??

                                    Du brauchst nix händisch eingeben, du musst die Runtime starten , alles einstellen und dann auf speichern gehen. (Diskette)

                                    Der Muss doch wissen welchen Datenpunkt, z.b. für die Steckdose Pool nutzen muss. Das muss doch irgendwo eingegeben werden, Steckdose Poll ist Schaltpunkt X

                                    P sigi234 3 Replies Last reply Reply Quote 0
                                    • P
                                      Pittini Developer @deta last edited by

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

                                      Der Muss doch wissen welchen Datenpunkt, z.b. für die Steckdose Pool nutzen muss. Das muss doch irgendwo eingegeben werden, Steckdose Poll ist Schaltpunkt X

                                      Das hast Du doch schon ganz am Anfang im ersten Schritt gemacht (oder auch nicht wie ich befürchte).

                                      Installation

                                      Wenn noch nicht geschehen, allen gewünschten Zieldatenpunkten eine Funktion zuweisen. Die Funktion muss vorher in den Aufzählungen hinzugefügt werden und könnte z.B. "TimerTarget" lauten.

                                      1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active @deta last edited by

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

                                        Der Muss doch wissen welchen Datenpunkt, z.b. für die Steckdose Pool nutzen muss

                                        Das erkennt er ja durch die Funktion TimerTarget im Skript. Und dann musst du ja in den Aufzählungen die jeweiligen Richtigen DP's reingeben.

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

                                          @deta Inked2020-05-23 15_03_49-Window_LI.jpg

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            deta Most Active last edited by

                                            ich hab das JS insalliert. Gestartet, wo woll man an welchen Punkt was eintragen?
                                            Ich hab Ein Skript TimerTarget hab ich nicht

                                            P 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            849
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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