Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Script wird zweimal ausgeführt?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Script wird zweimal ausgeführt?

Geplant Angeheftet Gesperrt Verschoben JavaScript
22 Beiträge 4 Kommentatoren 1.9k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T ticaki

    @th3rockyeah

    javascript.0
    2023-08-02 17:11:39.151	info	script.js.common.BewegungsmelderV2: Bewegungsmelder StairsToFirstFloor: Ausgelöst
    javascript.0
    2023-08-02 17:11:39.110	info	script.js.common.BewegungsmelderV2: Bewegungsmelder StairsToFirstFloor: Ausgelöst
    

    Das sieht eher nach 2 Aufrufen von on() aus. 2 Skripte sollte keine Pause von 40ms haben. Weiß aber natürlich nicht welcher Betrieb bei dir ist :)

    hm setzt mal:

    log('dp: ' + obj.state.id + ' val: ' + obj.state.val + ' ack: ' + obj.state.ack + ' from: '+obj.state.from)
    

    in on()

    oder einfach

    log(JSON.stringify(obj))
    

    EDIT: Das any hab ich eher im Verdacht, daher die Logausgaben

    T Offline
    T Offline
    Th3RockYeah
    schrieb am zuletzt editiert von
    #11

    @ticaki Ich habe deine Ideen einmal in das Skript eingebaut:

    
    javascript.0
    2023-08-02 19:20:30.563	info	script.js.common.BewegungsmelderV2: {"id":"zigbee.0.00158d00042d7b1f.occupancy","newState":{"val":true,"ts":1690996830549,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"oldState":{"val":true,"ts":1690996830502,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"state":{"val":true,"ts":1690996830549,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"}}
    
    javascript.0
    2023-08-02 19:20:30.512	info	script.js.common.BewegungsmelderV2: Bewegungsmelder StairsToFirstFloor: Ausgelöst, 
    javascript.0
    2023-08-02 19:20:30.509	info	script.js.common.BewegungsmelderV2: dp: undefined val: true ack: true from: system.adapter.zigbee.0
    javascript.0
    2023-08-02 19:20:30.508	info	script.js.common.BewegungsmelderV2: {"id":"zigbee.0.00158d00042d7b1f.occupancy","newState":{"val":true,"ts":1690996830502,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"oldState":{"val":false,"ts":1690995672419,"ack":true,"lc":1690995672419,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"state":{"val":true,"ts":1690996830502,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"}}
    

    Was ich gerade bei dem Test entdeckt habe, ist, dass der neue Aqara Motion Sensor nur einmal feuert und der alte zweimal... Merkwürdig...

    1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @th3rockyeah sagte: liegt es vielleicht auch am "any"

      Dann versuche mal:

      on({id: sensorState(lpSensorState, 'stateMotion'), change: "gt"}, function(obj) {...}
      
      T Offline
      T Offline
      Th3RockYeah
      schrieb am zuletzt editiert von
      #12

      @paul53 Hatte ich schon mal ausprobiert, leider funktionierte die Erkennung des Bewegungsmelder nicht mehr richtig. Ich teste es nachher noch mal.

      1 Antwort Letzte Antwort
      0
      • T ticaki

        @th3rockyeah
        Danke für das... habs jetzt auch auf ssh umgestellt :)

        T Offline
        T Offline
        Th3RockYeah
        schrieb am zuletzt editiert von Th3RockYeah
        #13

        @ticaki :-)
        Hast du jetzt auch das Problem, dass das Skript zweimal gestoppt wird?

        javascript.0
        2023-08-02 17:10:59.079	info	Stop script script.js.common.CommonMix
        javascript.0
        2023-08-02 17:10:58.914	info	Stop script script.js.common.CommonMix
        
        
        T 1 Antwort Letzte Antwort
        0
        • T Th3RockYeah

          @ticaki :-)
          Hast du jetzt auch das Problem, dass das Skript zweimal gestoppt wird?

          javascript.0
          2023-08-02 17:10:59.079	info	Stop script script.js.common.CommonMix
          javascript.0
          2023-08-02 17:10:58.914	info	Stop script script.js.common.CommonMix
          
          
          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von ticaki
          #14

          @th3rockyeah
          jup, ich kann mich erinnern damals einen report zu 2 mal stop und 2 mal start geschrieben zu haben und damals sind die tatsächlich 2 mal gelaufen. 2 mal stop ist doch ok :)

          ups ein Fehler das ist nicht obj.state.id sondern obj.id sry

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          T 1 Antwort Letzte Antwort
          0
          • T ticaki

            @th3rockyeah
            jup, ich kann mich erinnern damals einen report zu 2 mal stop und 2 mal start geschrieben zu haben und damals sind die tatsächlich 2 mal gelaufen. 2 mal stop ist doch ok :)

            ups ein Fehler das ist nicht obj.state.id sondern obj.id sry

            T Offline
            T Offline
            Th3RockYeah
            schrieb am zuletzt editiert von
            #15

            @ticaki ok. Danke. dann habe ich da schon einmal einen Haken dran.
            Muss ich jetzt nur noch mal klären, warum der Bewegungsmelder zweimal feuert...

            Danke erstmal für eure schnelle Hilfe! :-)

            A 1 Antwort Letzte Antwort
            0
            • T Th3RockYeah

              @ticaki ok. Danke. dann habe ich da schon einmal einen Haken dran.
              Muss ich jetzt nur noch mal klären, warum der Bewegungsmelder zweimal feuert...

              Danke erstmal für eure schnelle Hilfe! :-)

              A Online
              A Online
              Ahnungsbefreit
              schrieb am zuletzt editiert von
              #16

              @th3rockyeah ich denke mal der löst einmal aus beim Wechsel false-->true und dann umgekehrt. Lass doch mal den Wert im Log ausgeben, dann siehst Du das

              Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

              paul53P 1 Antwort Letzte Antwort
              0
              • A Ahnungsbefreit

                @th3rockyeah ich denke mal der löst einmal aus beim Wechsel false-->true und dann umgekehrt. Lass doch mal den Wert im Log ausgeben, dann siehst Du das

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #17

                @ahnungsbefreit sagte: Wert im Log ausgeben

                Das hat @Th3RockYeah bereits hier:
                Einmal false --> true und 55 ms später true --> true.
                Deshalb sollte er triggern mit

                change: 'gt'
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                A 1 Antwort Letzte Antwort
                1
                • paul53P paul53

                  @ahnungsbefreit sagte: Wert im Log ausgeben

                  Das hat @Th3RockYeah bereits hier:
                  Einmal false --> true und 55 ms später true --> true.
                  Deshalb sollte er triggern mit

                  change: 'gt'
                  
                  A Online
                  A Online
                  Ahnungsbefreit
                  schrieb am zuletzt editiert von
                  #18

                  @paul53 ok, das hatte ich nicht gesehen aber genau darauf wollte ich hinaus, Trigger "any" ist vermutlich die Ursache

                  Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                  T 1 Antwort Letzte Antwort
                  0
                  • A Ahnungsbefreit

                    @paul53 ok, das hatte ich nicht gesehen aber genau darauf wollte ich hinaus, Trigger "any" ist vermutlich die Ursache

                    T Offline
                    T Offline
                    Th3RockYeah
                    schrieb am zuletzt editiert von
                    #19

                    @ahnungsbefreit, @paul53 Ja trigger "any" ist die Ursache. Wenn ich auf "GT" stelle, schaltet der Bewegungsmelder nicht erneut an, wenn ich im Raum bin und er die Bewegung erfasst. "GT" geht erst, wenn der Bewegungsmelder keine Bewegung mehr registriert.

                    Scheint bei mir aber ggf. ein Logik-Problem zu sein. Ich muss das mehr Debuggen. Auf jeden Fall DANKE für euren Input!!

                    T 1 Antwort Letzte Antwort
                    0
                    • T Th3RockYeah

                      @ahnungsbefreit, @paul53 Ja trigger "any" ist die Ursache. Wenn ich auf "GT" stelle, schaltet der Bewegungsmelder nicht erneut an, wenn ich im Raum bin und er die Bewegung erfasst. "GT" geht erst, wenn der Bewegungsmelder keine Bewegung mehr registriert.

                      Scheint bei mir aber ggf. ein Logik-Problem zu sein. Ich muss das mehr Debuggen. Auf jeden Fall DANKE für euren Input!!

                      T Nicht stören
                      T Nicht stören
                      ticaki
                      schrieb am zuletzt editiert von ticaki
                      #20

                      @th3rockyeah

                      Hatte gerade 12:00 ebenfalls ein doppelt laufendens Skript, das ich jedoch mit restart der Javascript-Instanz entfernen konnte. Ist auch mit dem Code von 11:15 gelaufen. Also ist ein restart der Javascript Instanz nach dem Beenden der Bearbeitung anzuraten.

                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                      Spenden

                      A 1 Antwort Letzte Antwort
                      0
                      • T ticaki

                        @th3rockyeah

                        Hatte gerade 12:00 ebenfalls ein doppelt laufendens Skript, das ich jedoch mit restart der Javascript-Instanz entfernen konnte. Ist auch mit dem Code von 11:15 gelaufen. Also ist ein restart der Javascript Instanz nach dem Beenden der Bearbeitung anzuraten.

                        A Online
                        A Online
                        Ahnungsbefreit
                        schrieb am zuletzt editiert von
                        #21

                        @ticaki das ist eigentlich nicht nötig. Ich habe so etwa 40 Scripte und bearbeitete einige davon öfters und hatte so ein Problem noch nie.

                        Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                        T 1 Antwort Letzte Antwort
                        0
                        • A Ahnungsbefreit

                          @ticaki das ist eigentlich nicht nötig. Ich habe so etwa 40 Scripte und bearbeitete einige davon öfters und hatte so ein Problem noch nie.

                          T Nicht stören
                          T Nicht stören
                          ticaki
                          schrieb am zuletzt editiert von ticaki
                          #22

                          @ahnungsbefreit
                          Ich hatte das Problem bisher auch ausschließlich mit Skripten die async und await benutzen. Wobei ich jetzt 2 mal in letzter Zeit 100% Auslastung des Javascript Adapters hatte, weil er sich verschluckt hat. Bei eben diesem Skript. Aber auch nur wenn ich beim starten des Skripts die Arbeitsfunktion aufrufe, und gleichzeitig mit extendObject/setObject teste... 2 mal ist aber nicht genug um es an irgendwas fest zu machen.

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          819

                          Online

                          32.5k

                          Benutzer

                          81.6k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe