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. [fixed] on ID - Ausführung doppelt ?

NEWS

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

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

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

[fixed] on ID - Ausführung doppelt ?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 5 Kommentatoren 2.5k Aufrufe
  • Ä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.
  • L Offline
    L Offline
    looxer01
    schrieb am zuletzt editiert von
    #1

    Hi,

    ich habe gerade festgestellt, dass bei mir die Ausführung des folgenden Codes doppelt erfolgt

    on({id: "hm-rpc.0.JEQ0036xxx.1.STATE", val: true }, function(obj) {

    log("Gruppe10 wurde ausgeführt"), "info";

    }); // ende on id

    Hat jemand eine Erklaerung dafür ?

    vG Looxer

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      @looxer01:

      Hi,

      ich habe gerade festgestellt, dass bei mir die Ausführung des folgenden Codes doppelt erfolgt

      on({id: "hm-rpc.0.JEQ0036xxx.1.STATE", val: true }, function(obj) {

      log("Gruppe10 wurde ausgeführt"), "info";

      }); // ende on id

      Hat jemand eine Erklaerung dafür ?

      vG Looxer `
      Kann das sein, dass ein mal mit ack und ein mal ohne ack kommt?

      on({id: "hm-rpc.0.JEQ0036xxx.1.STATE", val: true  }, function(obj)    {  
          log("Gruppe10 wurde ausgeführt, Ack: " + obj.state.ack);   
      }); // ende on id
      
      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        soef
        schrieb am zuletzt editiert von
        #3

        Hallo,

        versuche es einmal mit 'change: "gt"' statt 'val: true'. Dann wird 'on' auf jeden Fall nur aufgerufen,

        wenn val zuvor false war und nicht mehr, wenn val schon true ist.

        Eine andere Möglichkeit könnte sein, das obj.newState.ack einmal true (=tatsächliche Änderung des Zustandes)

        und einmal false sein könnte.

        Viele Grüße.
        9821_fernzugriff.png
        9821_login.png
        9821_position_andy.png
        9821_proaccount.png

        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          looxer01
          schrieb am zuletzt editiert von
          #4

          jap, danke euch. Das ist es.

          Ich habe ack nicht abgefangen und die Quittung bekommen :D

          super, danke nochmals.

          vG Looxer

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            Phantomio
            schrieb am zuletzt editiert von
            #5

            Hallo,

            hat einer von euch auch eine Idee warum bei dem folgenden Script die e-Mail immer zweimal versendet wird?

            var FbT11             = "hm-rpc.0.KEQ1004134.11.INSTALL_TEST";  // Fernbedienung 1OG:11.INSTALL_TEST
            
            on ({id: FbT11, change: "any"}, fTaste11);
            
            function fTaste11 (){
                ZeitBadRechts      = (getState("javascript.0.BadFensterRechtsOffen.Tag").val);
                ZeitBadLinks       = (getState("javascript.0.BadFensterLinksOffen.Tag").val);
                ZeitBadBeide       = Number(ZeitBadRechts) + Number(ZeitBadLinks);
                if (ZeitBadBeide > 0.01 && ZeitBadBeide < 30 ) {
                    fEMail("test@domain.de", "Die Badezimmer Fenster waren heute erst " + ZeitBadBeide + " auf!", "");
                }
            }
            
            function fEMail (strTo, strBetreff, strText){
                sendTo("email", {
                from:    "test@domain.de",
                to:      strTo,
                subject: strBetreff,
                html: '
            
            **Werte:** 
            
            '
                      ,
                });
            }
            
            

            Das Script läuft eigentlich Zeitgesteuert.

            Die Taste habe ich nur zum Testen eingebaut 8-)

            Im Log bekomme ich auch noch eine Fehlermeldung:

            ! 2016-02-17 21:30:22.507 - info: javascript.0 sendTo "send" to system.adapter.email from system.adapter.javascript.0: {"from":"","to":"","subject":"Die Ba$
            ! 2016-02-17 21:30:22.580 - error: WARNING: cannot find message with id = 4881
            ! 2016-02-17 21:30:22.572 - info: email.0 Send email: {"from":"","to":"","subject":"Die Badezimmer Fenster waren heute erst 10.32 auf!","html":"
            ! Werte$
            ! 2016-02-17 21:30:22.580 - info: email.0 Send email: {"from":"
            ","to":"","subject":"Die Badezimmer Fenster waren heute erst 10.32 auf!","html":"
            ! Werte$
            ! 2016-02-17 21:30:23.432 - info: email.0 sent to ***
            ! 2016-02-17 21:30:23.438 - info: email.0 sent to ***
            ! 2016-02-17 21:30:23.493 - info: email.0 sent to ***
            Gruß
            ! Phantomio

            Geräte: CCU2, RaspberryPi2,

            Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

            1 Antwort Letzte Antwort
            0
            • Jey CeeJ Online
              Jey CeeJ Online
              Jey Cee
              Developer
              schrieb am zuletzt editiert von
              #6

              Spontan würde ich sagen das es an "change: any" liegt. Wenn der status von deinem Objekt von true auf false und gleich wieder zurück wechselt wird das script 2 mal ausgeführt.

              Gesendet von meinem Tab2A7-10F mit Tapatalk

              Persönlicher Support
              Spenden -> paypal.me/J3YC33

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                Phantomio
                schrieb am zuletzt editiert von
                #7

                Wow schnelle Reaktion :)

                normalerweise wird das aber mit der schedule Funktion ausgelöst:

                schedule("00 16 * * *", function () {
                    ZeitBadRechts      = (getState("javascript.0.BadFensterRechtsOffen.Tag").val);
                    ZeitBadLinks       = (getState("javascript.0.BadFensterLinksOffen.Tag").val);
                    ZeitBadBeide       = Number(ZeitBadRechts) + Number(ZeitBadLinks);
                    if (ZeitBadBeide === 0 )                       {fgEMail("test@domain.de", "Die Badezimmer Fenster waren noch nicht auf!", "");}
                    if (ZeitBadBeide > 0.01 && ZeitBadBeide < 30 ) {fgEMail("test@domain.de", "Die Badezimmer Fenster waren heute erst " + ZeitBadBeide + " auf!", "");}
                });
                
                

                fgEMail ist eine Globale Funktion.

                auch hier wird die e-Mail doppelt gesendet.

                Gruß

                Phantomio
                10529_bildschirmfoto_2019-01-26_um_11.14.40.png

                Geräte: CCU2, RaspberryPi2,

                Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

                1 Antwort Letzte Antwort
                0
                • Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  Also wenn aus zu schließen ist das die globale Funktion das Problem ist, hab ich grad keine Idee was es sein könnte.

                  Gesendet von meinem Tab2A7-10F mit Tapatalk

                  Persönlicher Support
                  Spenden -> paypal.me/J3YC33

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    Phantomio
                    schrieb am zuletzt editiert von
                    #9

                    Da ich diese globale Funktion auch für andere Sachen benutze,

                    und diese nur eine e-Mail senden würde ich das erst mal ausschließen.

                    Die globale Funktion ist genau wie die Mail Funktion aufgebaut. Liegt halt nur in einem Globalen Script.

                    Geräte: CCU2, RaspberryPi2,

                    Adapter: email, feiertage, flot, fritzbox, history, hm-rpc.0, hm-rpc.1 (Für Homematic IP), ical, javascript, sayit, scenes, socketio, sonos, tankerkoenig, telegram, text2command, vis, web, yr

                    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

                    597

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    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