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 goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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 @diwoma last edited by

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

      Hi pittini,
      arbeitest Du noch aktiv am Script?

      Nicht wirklich. Es tut was ich brauch.

      Siehst Du darin unüberwindliche oder auch nur große Probleme?

      Machbar ist (fast) alles.

      Ansonsten würde ich es mit meinen bescheidenen Fähigkeiten in JS mal versuchen.

      Ja klar, hau rein.

      D 3 Replies Last reply Reply Quote 0
      • F
        FuXXz2 last edited by

        Hi zusammen,
        kann mir jemand Helfen, folgende Meldungen zu behandeln? 🙂
        In der Aufzählung für den Timer sind Aliase und wenn diese geschaltet werden, gibt es nen Eintrag ins Log.
        Er fängt an mit alias.0.Licht.Ankleide existiert nicht, das stimmt auch, denn es heißt alias.0.Licht.Ankleide.Fenster, so wie es im Datenpunkt unter dem
        entsprechenden Timer auch zu sehen ist.
        Screenshot 2022-11-28 153904.png
        Trotzdem macht er aber folgende Fehler.

        javascript.0
        	2022-11-28 15:29:00.031	error	at processTimers (node:internal/timers:502:7)
        javascript.0
        	2022-11-28 15:29:00.031	error	at listOnTimeout (node:internal/timers:559:17)
        javascript.0
        	2022-11-28 15:29:00.031	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7)
        javascript.0
        	2022-11-28 15:29:00.031	error	at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28
        javascript.0
        	2022-11-28 15:29:00.030	error	at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15)
        javascript.0
        	2022-11-28 15:29:00.030	error	at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1595:34)
        javascript.0
        	2022-11-28 15:29:00.030	error	at Object.<anonymous> (script.js.Aktiv.automatik.PittiniTimer_2_2_0:621:13)
        javascript.0
        	2022-11-28 15:29:00.030	error	at DoAction (script.js.Aktiv.automatik.PittiniTimer_2_2_0:810:64)
        javascript.0
        	2022-11-28 15:29:00.030	error	at GetDeviceName (script.js.Aktiv.automatik.PittiniTimer_2_2_0:500:41)
        javascript.0
        	2022-11-28 15:29:00.029	error	Error in callback: TypeError: Cannot read properties of null (reading 'common')
        javascript.0
        	2022-11-28 15:29:00.027	warn	script.js.Aktiv.automatik.PittiniTimer_2_2_0: Object "alias.0.Licht.Ankleide" does not exist
        
        Dominik F. P 2 Replies Last reply Reply Quote 0
        • D
          diwoma @Pittini last edited by

          @pittini Na gut. Ich schreib Dir, wenn ich es aufgebe 😊

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

            @fuxxz2

            Zeig mal bitte den Alias Datenpunkt den du schalten möchtest

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

              @dominik-f

              {
                "type": "state",
                "common": {
                  "name": "Ankleide Fenster",
                  "type": "number",
                  "unit": "%",
                  "read": true,
                  "write": true,
                  "role": "level.dimmer",
                  "min": 0,
                  "max": 100,
                  "alias": {
                    "id": "zigbee.0.7cb03eaa00aa5715.brightness"
                  },
                  "desc": "per Script erstellt",
                  "custom": []
                },
                "native": {},
                "from": "system.adapter.javascript.0",
                "user": "system.user.admin",
                "ts": 1668031650666,
                "_id": "alias.0.Licht.Ankleide.Fenster",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              
              Dominik F. 1 Reply Last reply Reply Quote 0
              • Dominik F.
                Dominik F. @FuXXz2 last edited by

                @fuxxz2

                Der Datenpunkt sieht auf dem ersten Blick richtig aus.

                Ich würde jetzt folgende Dinge probieren bzw. testen.

                Einfach mal den Javascript Adapter neustarten, eventuell wird dann das Problem schon gelöst.
                Dann den Timer versuchen neu anzulegen und schauen ob es damit funktioniert. Adapter natürlich wieder neu starten.
                Falls das nicht hilft, funktioniert der Orginaldatenpunkt?

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

                  @dominik-f Obwohl der Fehler kommt, schaltet das Gerät ordnungsgemäß.
                  Benutze ich das Gerät direkt, kommt natürlich kein Fehler.

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

                    @fuxxz2

                    Gut, dann wissen wir schon mal, dass es nur am Alias liegen kann.
                    Hast du mal versucht den Alias mit dem Alias Manager erstellen zu lassen?

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

                      @dominik-f
                      Habe nun auch die Funktion gelöscht, ne neue erstellt und dann einen einzigen Alias eingefügt.
                      Aber ist doch irgendwie auch alles verrückt oder? 🙂
                      Ich mein, ich benutze alle Aliase Systemweit in total vielen Adaptern und Scripten und nur hier, macht er Theater.
                      Kann doch nicht am Alias liegen oder irre ich mich so sehr ?

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

                        @fuxxz2 Liegt vermutlich daran, dass in Deiner Aliasstruktur iwo kein channel etc. existiert, dann kann das Skript den Namen nicht extrahieren weils keinen hat.

                        1 Reply Last reply Reply Quote 0
                        • A
                          AndreasW63 last edited by

                          Hallo,

                          leider habe ich bisher keine Antwort auf folgende Frage gefunden:
                          Kann ich die erstellten Timer Einträge sichern?
                          Aktuell habe ich ca. 80 verschiedene Timer angelegt.
                          Gerade habe ich aus Unachtsamkeit alle Einträge unter "javascript.0.Timer" gelöscht.
                          Ja, klar ich hätte besser aufpassen können. Aber das hilft mir jetzt auch nicht weiter.

                          Gruß Andreas

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

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

                            Kann ich die erstellten Timer Einträge sichern?

                            Klar, indem Du das System sicherst, ne separate Sicherung nur der Timer ist nicht vorgesehen.

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

                              @pittini

                              Ich bekomme leider immer noch diese Fehlermeldung:

                              
                              javascript.0
                              2022-12-14 16:18:17.029	warn	You are assigning a string to the state "scene.0.Beleuchtung.Weihnachtsbeleuchtung_Innen" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions.
                              

                              Hierbei ist es egal ob ich den Wert True sende oder "einschalten" einstelle.
                              Dies betrifft komischerweise jedoch nur diesen einen Datenpunkt.
                              Hier ist der Datenpunkt:

                              {
                                "common": {
                                  "name": "Weihnachtsbeleuchtung_Innen",
                                  "type": "boolean",
                                  "role": "scene.state",
                                  "desc": "Weihnachtsbeleuchtung",
                                  "enabled": true,
                                  "read": true,
                                  "write": true,
                                  "def": false,
                                  "engine": "system.adapter.scenes.0",
                                  "smartName": {
                                    "de": "Weihnachtsbeleuchtung"
                                  }
                                },
                                "native": {
                                  "onTrue": {
                                    "trigger": {},
                                    "cron": null,
                                    "astro": null
                                  },
                                  "onFalse": {
                                    "enabled": true,
                                    "trigger": {},
                                    "cron": null,
                                    "astro": null
                                  },
                                  "burstInterval": 0,
                                  "members": [
                                    {
                                      "id": "alias.0.EG_Küche.Steckdose Fenster_Rechts.state",
                                      "setIfTrue": true,
                                      "setIfFalse": false,
                                      "stopAllDelays": true,
                                      "desc": null,
                                      "disabled": false,
                                      "delay": 0,
                                      "doNotOverwrite": true
                                    },
                                    {
                                      "id": "alias.0.EG_Küche.Steckdose ÜberKaffemaschine.Switch",
                                      "setIfTrue": true,
                                      "setIfFalse": false,
                                      "stopAllDelays": true,
                                      "desc": null,
                                      "disabled": false,
                                      "delay": 0,
                                      "doNotOverwrite": true
                                    },
                                    {
                                      "id": "alias.0.EG_Wohnzimmer.Steckdose Fenster_Links.Switch",
                                      "setIfTrue": true,
                                      "setIfFalse": false,
                                      "stopAllDelays": true,
                                      "desc": null,
                                      "disabled": false,
                                      "delay": 0,
                                      "doNotOverwrite": true
                                    },
                                    {
                                      "id": "alias.0.EG_Wohnzimmer.Steckdose KaminLinks.state",
                                      "setIfTrue": true,
                                      "setIfFalse": false,
                                      "stopAllDelays": true,
                                      "desc": null,
                                      "disabled": false,
                                      "delay": 0,
                                      "doNotOverwrite": true
                                    },
                                    {
                                      "id": "alias.0.EG_Wohnzimmer.Steckdose Laterne.state",
                                      "setIfTrue": true,
                                      "setIfFalse": false,
                                      "stopAllDelays": true,
                                      "desc": null,
                                      "disabled": false,
                                      "delay": 0,
                                      "doNotOverwrite": true
                                    },
                                    {
                                      "id": "alias.0.EG_Wohnzimmer.Steckdose Schiffchen.state",
                                      "setIfTrue": true,
                                      "setIfFalse": false,
                                      "stopAllDelays": true,
                                      "desc": null,
                                      "disabled": false,
                                      "delay": 0,
                                      "doNotOverwrite": true
                                    }
                                  ]
                                },
                                "type": "state",
                                "_id": "scene.0.Beleuchtung.Weihnachtsbeleuchtung_Innen",
                                "from": "system.adapter.admin.0",
                                "user": "system.user.admin",
                                "ts": 1669065373364,
                                "acl": {
                                  "object": 1636,
                                  "state": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator"
                                }
                              }
                              

                              Der Datenpunkt liefert neben true/false auch den Wert "uncertain". Ich glaube wenn der Datenpunkt auf uncertain steht und ich true sende, er diesen Fehler ausgibt.

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

                                @dominik-f sagte in [Vorlage] Flexibles Timerskript + Vis:

                                Der Datenpunkt liefert neben true/false auch den Wert "uncertain". Ich glaube wenn der Datenpunkt auf uncertain steht und ich true sende, er diesen Fehler ausgibt.

                                Naja, dann ist der Datenpunkt halt falsch definiert würd ich sagen. Mach doch einfach mal ein Miniskript, nur mit nem einzigen setstate drin und schalte damit den Problemdatenpunkt auf true oder false. Kommt dann auch die Meldung....

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

                                  @pittini

                                  Folgendes Skript habe ich ausprobiert:

                                  Unbenannt.JPG

                                  Habe es mit mehreren Konstellationen getestet, habe keine Fehlermeldung erhalten

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

                                    @dominik-f "Ich glaube wenn der Datenpunkt auf uncertain steht und ich true sende, er diesen Fehler ausgibt." > Darauf mußt natürlich warten oder es provozieren.

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

                                      @pittini

                                      Das meinte ich mit verschiedenen Konstellationen. Ich hab verschiedene Lampen und Steckdosen ausgeschaltet/angeschaltet und dadurch den Datenpunkt auf uncertain gestellt.

                                      Edit: Das mit uncertain war auch nur eine Vermutung gewesen, da ich mir sonst nicht erklären konnte was das Problem sonst sein könnte

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

                                        @dominik-f sagte in [Vorlage] Flexibles Timerskript + Vis:

                                        Edit: Das mit uncertain war auch nur eine Vermutung gewesen, da ich mir sonst nicht erklären konnte was das Problem sonst sein könnte

                                        Ja, die Vermutung macht ja auch Sinn. Schonmal mit nem Alias probiert?

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

                                          @pittini

                                          Werde ich mal probieren. Mich wundert nur, dass der Fehler nur bei diesem Datenpunkt auftritt. Ich steuere noch einen anderen Datenpunkt aus einer Scene mit dem Adapter und da kommt der Fehler nicht.

                                          Edit:
                                          Neben der Warnung hab ich mal die Info Logs dazu angeschaut.

                                          
                                          javascript.0
                                          2022-12-21 16:19:56.012	info	script.js.common.Timer: Timer 9, Weihnachtsbeleuchtung_Innen, send value true as string
                                          
                                          javascript.0
                                          2022-12-21 16:19:56.012	info	script.js.common.Timer: Reaching ConvertSendValue
                                          

                                          Wenn ich das richtig sehe, steht dort ja das der Fehler vom Skript kommt?

                                          Was genau bedeutet diese Meldung?

                                          
                                          javascript.0
                                          2022-12-21 16:19:56.008	info	script.js.common.Timer: MyTimer[whichone][18]=true
                                          

                                          Wenn die Zahl 18 den Timer 18 meint, dann stimmt da auch was nicht, da ich keine 18 Timer besitze, sondern 11.

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

                                            @dominik-f said in [Vorlage] Flexibles Timerskript + Vis:

                                            Wenn die Zahl 18 den Timer 18 meint, dann stimmt da auch was nicht, da ich keine 18 Timer besitze, sondern 11.

                                            Die Timernummer steht in 'wichone'

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            925
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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