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. Homematic HM-RPC - Fenster öffnen zählt doppelt

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    944

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Homematic HM-RPC - Fenster öffnen zählt doppelt

Geplant Angeheftet Gesperrt Verschoben JavaScript
15 Beiträge 5 Kommentatoren 923 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.
  • B Offline
    B Offline
    Bongo
    schrieb am zuletzt editiert von Bongo
    #1

    Für meine Lüftungsempfehlung prüfe ich wie oft an einem Tag das Fenster geöffnet wurde.
    Leider zählt mein Script immer doppelt, weil der Trigger innerhalb von 1/1000 Sek. 2x auslöst.

    on({id: triggersOpenWindow, change: `ne`}, obj => {
        const room = rooms[triggersOpenWindow.indexOf(obj.id)];
        const openWindow = getState(room.openWindow).val;
        const openWindowCount = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).val;
        if (openWindow) {
                console.log(room.openWindow+" gezählt: "+openWindow)
            setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`, openWindowCount + 1, true);        
        }
    });
    
    
    javascript.0	2023-12-01 10:36:56.804	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
    javascript.0	2023-12-01 10:36:56.803	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
    

    Ist das bei euch auch so? Kennt das Jemand? Gibt es einen Vorschlag für eine Lösung?
    Aktuell prüfe ich die Fensteröffnung über die Heizgruppe. Aber direkt über den Datenpunkt des Fensterkontakts ist es das selbe Problem.

    Gruß
    Bongo

    Script - Die sprechende Kaffeemaschine – Home Connect
    Script - JUDO Wasserenthärtung - Connectivity-Modul API

    ubeckerU paul53P 2 Antworten Letzte Antwort
    0
    • B Bongo

      Für meine Lüftungsempfehlung prüfe ich wie oft an einem Tag das Fenster geöffnet wurde.
      Leider zählt mein Script immer doppelt, weil der Trigger innerhalb von 1/1000 Sek. 2x auslöst.

      on({id: triggersOpenWindow, change: `ne`}, obj => {
          const room = rooms[triggersOpenWindow.indexOf(obj.id)];
          const openWindow = getState(room.openWindow).val;
          const openWindowCount = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).val;
          if (openWindow) {
                  console.log(room.openWindow+" gezählt: "+openWindow)
              setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`, openWindowCount + 1, true);        
          }
      });
      
      
      javascript.0	2023-12-01 10:36:56.804	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
      javascript.0	2023-12-01 10:36:56.803	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
      

      Ist das bei euch auch so? Kennt das Jemand? Gibt es einen Vorschlag für eine Lösung?
      Aktuell prüfe ich die Fensteröffnung über die Heizgruppe. Aber direkt über den Datenpunkt des Fensterkontakts ist es das selbe Problem.

      ubeckerU Online
      ubeckerU Online
      ubecker
      schrieb am zuletzt editiert von
      #2

      @bongo
      ja, wenn du auf Aktualisierung triggerst. Die erste Aktualisierung ist der State, die zweite die Aktualisierung des Lowbat.

      Gruß Udo

      B 1 Antwort Letzte Antwort
      0
      • B Bongo

        Für meine Lüftungsempfehlung prüfe ich wie oft an einem Tag das Fenster geöffnet wurde.
        Leider zählt mein Script immer doppelt, weil der Trigger innerhalb von 1/1000 Sek. 2x auslöst.

        on({id: triggersOpenWindow, change: `ne`}, obj => {
            const room = rooms[triggersOpenWindow.indexOf(obj.id)];
            const openWindow = getState(room.openWindow).val;
            const openWindowCount = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).val;
            if (openWindow) {
                    console.log(room.openWindow+" gezählt: "+openWindow)
                setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`, openWindowCount + 1, true);        
            }
        });
        
        
        javascript.0	2023-12-01 10:36:56.804	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
        javascript.0	2023-12-01 10:36:56.803	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
        

        Ist das bei euch auch so? Kennt das Jemand? Gibt es einen Vorschlag für eine Lösung?
        Aktuell prüfe ich die Fensteröffnung über die Heizgruppe. Aber direkt über den Datenpunkt des Fensterkontakts ist es das selbe Problem.

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

        @bongo sagte: on({id: triggersOpenWindow, change: ne}, obj => {

        Nimm mal Hochkommata für 'ne'

        on({id: triggersOpenWindow, change: 'ne'}, obj => {
        

        oder einfacher

        on(triggersOpenWindow, obj => {
        

        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

        1 Antwort Letzte Antwort
        0
        • ubeckerU ubecker

          @bongo
          ja, wenn du auf Aktualisierung triggerst. Die erste Aktualisierung ist der State, die zweite die Aktualisierung des Lowbat.

          B Offline
          B Offline
          Bongo
          schrieb am zuletzt editiert von
          #4

          @ubecker sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

          @bongo
          ja, wenn du auf Aktualisierung triggerst. Die erste Aktualisierung ist der State, die zweite die Aktualisierung des Lowbat.

          Hatte ich nicht erwähnt. Auf Aktualisieren hatte ich schon als Erstes versucht. Aber damit wird auch 2x getriggert.
          Aber auf Ändern triggern ist doch das richtigere. Weil mich interessieren ja nur Änderungen.
          Aber was meinst du mit "die zweite die Aktualisierung des Lowbat"? Was hat das mit Lowbat zu tun?

          @paul53 sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

          @bongo sagte: on({id: triggersOpenWindow, change: ne}, obj => {

          Nimm mal Hochkommata für 'ne'

          on({id: triggersOpenWindow, change: 'ne'}, obj => {
          

          oder einfacher

          on(triggersOpenWindow, obj => {
          

          Das mit den umgekehrten Hochkommas hatte ich von einem anderen Programm so kopiert.
          Ich hatte es jetzt nochmal mit meinem Code versucht und ein Fenster geöffnet. Jetzt hat es nur 1x getriggert. Irgendwie ist es nicht 100% nachvollziehbar.
          Habe es trotzdem jetzt mit richtigen Hochkommas versucht und ein anderes Fenster geöffnet. Da hat es auch mit 1x getriggert funktioniert.
          Jetzt muss ich mal beobachten ob es immer funktioniert.

          Gruß
          Bongo

          Script - Die sprechende Kaffeemaschine – Home Connect
          Script - JUDO Wasserenthärtung - Connectivity-Modul API

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • B Bongo

            @ubecker sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

            @bongo
            ja, wenn du auf Aktualisierung triggerst. Die erste Aktualisierung ist der State, die zweite die Aktualisierung des Lowbat.

            Hatte ich nicht erwähnt. Auf Aktualisieren hatte ich schon als Erstes versucht. Aber damit wird auch 2x getriggert.
            Aber auf Ändern triggern ist doch das richtigere. Weil mich interessieren ja nur Änderungen.
            Aber was meinst du mit "die zweite die Aktualisierung des Lowbat"? Was hat das mit Lowbat zu tun?

            @paul53 sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

            @bongo sagte: on({id: triggersOpenWindow, change: ne}, obj => {

            Nimm mal Hochkommata für 'ne'

            on({id: triggersOpenWindow, change: 'ne'}, obj => {
            

            oder einfacher

            on(triggersOpenWindow, obj => {
            

            Das mit den umgekehrten Hochkommas hatte ich von einem anderen Programm so kopiert.
            Ich hatte es jetzt nochmal mit meinem Code versucht und ein Fenster geöffnet. Jetzt hat es nur 1x getriggert. Irgendwie ist es nicht 100% nachvollziehbar.
            Habe es trotzdem jetzt mit richtigen Hochkommas versucht und ein anderes Fenster geöffnet. Da hat es auch mit 1x getriggert funktioniert.
            Jetzt muss ich mal beobachten ob es immer funktioniert.

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @bongo
            Und wenn Du auf 'gt' triggerst?
            Du willst ja vermutlich nur den Wechsel von 0 auf 1 mitkriegen.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            B 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @bongo
              Und wenn Du auf 'gt' triggerst?
              Du willst ja vermutlich nur den Wechsel von 0 auf 1 mitkriegen.

              B Offline
              B Offline
              Bongo
              schrieb am zuletzt editiert von
              #6

              @paul53
              Gestern hat es mit den richtigen Hochkommas funktioniert. Heute hat es wieder 2.x gezählt. :angry:

              @codierknecht sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

              @bongo
              Und wenn Du auf 'gt' triggerst?
              Du willst ja vermutlich nur den Wechsel von 0 auf 1 mitkriegen.

              Jetzt versuche ich es mit gt. Gerade hat es funktioniert und nur 1x gezählt. Aber ich muss es beobachten.

              Gruß
              Bongo

              Script - Die sprechende Kaffeemaschine – Home Connect
              Script - JUDO Wasserenthärtung - Connectivity-Modul API

              1 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                Bongo
                schrieb am zuletzt editiert von
                #7

                Mit 'gt' hat es gestern funktioniert. Heute wird wieder 2x getriggert.
                Ich habe mir den alten und neuen Wert ausgeben lassen und 2x wechselt der Wert von 0 auf 1.

                on({id: triggersOpenWindow, change: 'gt'}, obj => {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    const room = rooms[triggersOpenWindow.indexOf(obj.id)];
                    const openWindow = getState(room.openWindow).val;
                    const openWindowCount = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).val;
                    console.log(room.openWindow+". Alt: "+oldValue+" Neu: "+value)
                    if (openWindow) {
                            console.log(room.openWindow+" gezählt: "+openWindow)
                        setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`, openWindowCount + 1, true);        
                    }
                });
                
                javascript.0	2023-12-03 14:39:59.480	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
                javascript.0	2023-12-03 14:39:59.480	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE. Alt: 0 Neu: 1
                javascript.0	2023-12-03 14:39:59.479	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE gezählt: 1
                javascript.0	2023-12-03 14:39:59.478	info	script.js.common.Lüftungsempfehlung: hm-rpc.2.INT0000012.1.WINDOW_STATE. Alt: 0 Neu: 1
                

                Jetzt wäre natürlich interessant ob dieses Verhalten bei euch auch auftritt.

                Gruß
                Bongo

                Script - Die sprechende Kaffeemaschine – Home Connect
                Script - JUDO Wasserenthärtung - Connectivity-Modul API

                1 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  Bongo
                  schrieb am zuletzt editiert von
                  #8

                  Ich versuche jetzt schon Tage lang auf einem „grünen Zweig“ zu kommen.
                  Ich habe auch untersucht ob es mal mit und mal ohne dem bestätigt-Flag ausgelöst wird. Aber es ist immer bestätigt.

                  Meine Lösung ist jetzt, dass ich den Timestamp meines Zähl-Datenpunktes auswerte und nur zähle, wenn der Zähl-Datenpunkt älter als 2 Sekunden ist.
                  Ich habe dann gleich noch Öffnungszeiten der einzelnen Fenster mit protokolliert.

                  on(triggersOpenWindow, obj => {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      var room = rooms[triggersOpenWindow.indexOf(obj.id)];
                      var openWindow = getState(room.openWindow).val;
                      var openWindowCount = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).val;
                      var ventilationSec = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.ventilationSec`).val;
                      console.log(room.openWindow+". Alt oldValue: "+oldValue+", Neu value: "+value+
                      ", obj.state.ts: "+obj.state.ts+", obj.oldState.ts: "+obj.oldState.ts+
                      ", obj.state.ack: "+obj.state.ack+", obj.oldState.ack: "+obj.oldState.ack+
                      ", obj.state.lc: "+obj.state.lc+", obj.oldState.lc: "+obj.oldState.lc+
                      ", obj.state.from: "+obj.state.from+", obj.oldState.from: "+obj.oldState.from);
                      // Problem öffnen zählt 2x --> Lösung: nur zählen wenn Timestamp älter als 2 Sekunden.
                      if (openWindow) {
                          // Fenster geöffnet
                          var curTime = new Date().getTime();
                          var stateTs = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).ts;
                          console.log(curTime+" - "+stateTs+" = "+(curTime - stateTs));
                          if ((curTime - stateTs) > 2000) {   // Wenn älter als 2 Sekunden
                              console.log(room.openWindow+" gezählt: "+openWindow);
                              setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`, openWindowCount + 1, true);                        
                          }
                      } else {
                          // Fenster geschlossen --> Öffnungszeit eintragen
                          var curTime = new Date().getTime();
                          var stateTs = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.ventilationSec`).ts;
                          console.log(curTime+" - "+stateTs+" = "+(curTime - stateTs));
                          if ((curTime - stateTs) > 2000) {   // Wenn älter als 2 Sekunden
                              console.log(room.openWindow+" zeit: "+Math.floor(((obj.state.lc-obj.oldState.lc)/1000)));
                              setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.ventilationSec`, ventilationSec + Math.floor(((obj.state.lc-obj.oldState.lc)/1000)), true);
                          }
                      }
                  });
                  on('hm-rpc.2.INT0000012.1.WINDOW_STATE', obj => {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      console.log(obj.id +". Alt2: "+oldValue+" Neu2: "+value)
                  });
                  on({id: 'hm-rpc.2.INT0000014.1.WINDOW_STATE', change: 'gt'}, obj => {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      console.log(obj.id +". Alt2: "+oldValue+" Neu2: "+value)
                  });
                  

                  Diese Lösung funktioniert bisher ganz gut. Durch meine Console.logs sehe ich wann 1x oder 2x getriggert wird. Seit dem ich den Code so wie er jetzt ist abgeändert habe wurde immer nur 1x geriggert.
                  Mysteriös!

                  Gruß
                  Bongo

                  Script - Die sprechende Kaffeemaschine – Home Connect
                  Script - JUDO Wasserenthärtung - Connectivity-Modul API

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • B Bongo

                    Ich versuche jetzt schon Tage lang auf einem „grünen Zweig“ zu kommen.
                    Ich habe auch untersucht ob es mal mit und mal ohne dem bestätigt-Flag ausgelöst wird. Aber es ist immer bestätigt.

                    Meine Lösung ist jetzt, dass ich den Timestamp meines Zähl-Datenpunktes auswerte und nur zähle, wenn der Zähl-Datenpunkt älter als 2 Sekunden ist.
                    Ich habe dann gleich noch Öffnungszeiten der einzelnen Fenster mit protokolliert.

                    on(triggersOpenWindow, obj => {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        var room = rooms[triggersOpenWindow.indexOf(obj.id)];
                        var openWindow = getState(room.openWindow).val;
                        var openWindowCount = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).val;
                        var ventilationSec = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.ventilationSec`).val;
                        console.log(room.openWindow+". Alt oldValue: "+oldValue+", Neu value: "+value+
                        ", obj.state.ts: "+obj.state.ts+", obj.oldState.ts: "+obj.oldState.ts+
                        ", obj.state.ack: "+obj.state.ack+", obj.oldState.ack: "+obj.oldState.ack+
                        ", obj.state.lc: "+obj.state.lc+", obj.oldState.lc: "+obj.oldState.lc+
                        ", obj.state.from: "+obj.state.from+", obj.oldState.from: "+obj.oldState.from);
                        // Problem öffnen zählt 2x --> Lösung: nur zählen wenn Timestamp älter als 2 Sekunden.
                        if (openWindow) {
                            // Fenster geöffnet
                            var curTime = new Date().getTime();
                            var stateTs = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`).ts;
                            console.log(curTime+" - "+stateTs+" = "+(curTime - stateTs));
                            if ((curTime - stateTs) > 2000) {   // Wenn älter als 2 Sekunden
                                console.log(room.openWindow+" gezählt: "+openWindow);
                                setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.openWindowCount`, openWindowCount + 1, true);                        
                            }
                        } else {
                            // Fenster geschlossen --> Öffnungszeit eintragen
                            var curTime = new Date().getTime();
                            var stateTs = getState(`${namespace ? `${namespace}.` : ''}${room.roomName}.ventilationSec`).ts;
                            console.log(curTime+" - "+stateTs+" = "+(curTime - stateTs));
                            if ((curTime - stateTs) > 2000) {   // Wenn älter als 2 Sekunden
                                console.log(room.openWindow+" zeit: "+Math.floor(((obj.state.lc-obj.oldState.lc)/1000)));
                                setState(`${namespace ? `${namespace}.` : ''}${room.roomName}.ventilationSec`, ventilationSec + Math.floor(((obj.state.lc-obj.oldState.lc)/1000)), true);
                            }
                        }
                    });
                    on('hm-rpc.2.INT0000012.1.WINDOW_STATE', obj => {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        console.log(obj.id +". Alt2: "+oldValue+" Neu2: "+value)
                    });
                    on({id: 'hm-rpc.2.INT0000014.1.WINDOW_STATE', change: 'gt'}, obj => {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        console.log(obj.id +". Alt2: "+oldValue+" Neu2: "+value)
                    });
                    

                    Diese Lösung funktioniert bisher ganz gut. Durch meine Console.logs sehe ich wann 1x oder 2x getriggert wird. Seit dem ich den Code so wie er jetzt ist abgeändert habe wurde immer nur 1x geriggert.
                    Mysteriös!

                    CodierknechtC Online
                    CodierknechtC Online
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @bongo
                    Warum haben Deine beiden Trigger unten unterschiedliche Signaturen?
                    Der erste triggert bei jeder Aktualisierung, der zweite nur bei "größer als".

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    B 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @bongo
                      Warum haben Deine beiden Trigger unten unterschiedliche Signaturen?
                      Der erste triggert bei jeder Aktualisierung, der zweite nur bei "größer als".

                      B Offline
                      B Offline
                      Bongo
                      schrieb am zuletzt editiert von
                      #10

                      @codierknecht
                      Das kommt von meiner großen Testerei. Die unteren beiden Trigger werden eigentlich nicht benötigt.

                      Gruß
                      Bongo

                      Script - Die sprechende Kaffeemaschine – Home Connect
                      Script - JUDO Wasserenthärtung - Connectivity-Modul API

                      T 1 Antwort Letzte Antwort
                      0
                      • B Bongo

                        @codierknecht
                        Das kommt von meiner großen Testerei. Die unteren beiden Trigger werden eigentlich nicht benötigt.

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

                        @bongo
                        Start den Javascript-Adapter mal neu. Das sieht nach doppelt laufenden Scripten aus.

                        Edit: Wie editierst du skripte?

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        B 1 Antwort Letzte Antwort
                        0
                        • T ticaki

                          @bongo
                          Start den Javascript-Adapter mal neu. Das sieht nach doppelt laufenden Scripten aus.

                          Edit: Wie editierst du skripte?

                          B Offline
                          B Offline
                          Bongo
                          schrieb am zuletzt editiert von
                          #12

                          @ticaki sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

                          @bongo
                          Start den Javascript-Adapter mal neu. Das sieht nach doppelt laufenden Scripten aus.

                          Edit: Wie editierst du skripte?

                          Ich benutze Visual Studio Code mit der ioBroker-Integration. Da kann man ja auch Scripte starten und stoppen. Vielleicht wurde da das Script 2x gestartet.
                          Das wäre natürlich eine Fehlermöglichkeit.

                          Im Moment wird immer nur 1x getriggert. Somit ist es im Moment gut. Aber falls es wieder vorkommt, dass es 2x triggert, kann man überprüfen ob das Script 2x gestartet ist? In den Prozessen (ps -ax) sieht man nur die Adapter.

                          Gruß
                          Bongo

                          Script - Die sprechende Kaffeemaschine – Home Connect
                          Script - JUDO Wasserenthärtung - Connectivity-Modul API

                          T 2 Antworten Letzte Antwort
                          0
                          • B Bongo

                            @ticaki sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

                            @bongo
                            Start den Javascript-Adapter mal neu. Das sieht nach doppelt laufenden Scripten aus.

                            Edit: Wie editierst du skripte?

                            Ich benutze Visual Studio Code mit der ioBroker-Integration. Da kann man ja auch Scripte starten und stoppen. Vielleicht wurde da das Script 2x gestartet.
                            Das wäre natürlich eine Fehlermöglichkeit.

                            Im Moment wird immer nur 1x getriggert. Somit ist es im Moment gut. Aber falls es wieder vorkommt, dass es 2x triggert, kann man überprüfen ob das Script 2x gestartet ist? In den Prozessen (ps -ax) sieht man nur die Adapter.

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

                            @bongo
                            Nein, da kannst du, wenn du den Verdacht hast, nur den Scriptadapter neu starten. Passt hervorragend zu deinen Fehlerbild. Kannst das Script auch anhalten und auf die nächste Logausgabe von ihm warten.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            1 Antwort Letzte Antwort
                            1
                            • B Bongo

                              @ticaki sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

                              @bongo
                              Start den Javascript-Adapter mal neu. Das sieht nach doppelt laufenden Scripten aus.

                              Edit: Wie editierst du skripte?

                              Ich benutze Visual Studio Code mit der ioBroker-Integration. Da kann man ja auch Scripte starten und stoppen. Vielleicht wurde da das Script 2x gestartet.
                              Das wäre natürlich eine Fehlermöglichkeit.

                              Im Moment wird immer nur 1x getriggert. Somit ist es im Moment gut. Aber falls es wieder vorkommt, dass es 2x triggert, kann man überprüfen ob das Script 2x gestartet ist? In den Prozessen (ps -ax) sieht man nur die Adapter.

                              T Offline
                              T Offline
                              ticaki
                              schrieb am zuletzt editiert von ticaki
                              #14

                              @bongo

                              ich weiß nicht ob das hier funktionieren könnte. Da aber bei doppelt laufenden Skripts die Variablen geteilt werden sollte es eigentlich gehen.

                              // am Anfang
                              var myScripts;
                              if (!myScripts) myScripts = 0;
                              myScripts++
                              
                              // irgendwo im Code
                              if (myScripts > 1) log(myScripts);
                              

                              war ein Tippfehler drin :)

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              B 1 Antwort Letzte Antwort
                              0
                              • T ticaki

                                @bongo

                                ich weiß nicht ob das hier funktionieren könnte. Da aber bei doppelt laufenden Skripts die Variablen geteilt werden sollte es eigentlich gehen.

                                // am Anfang
                                var myScripts;
                                if (!myScripts) myScripts = 0;
                                myScripts++
                                
                                // irgendwo im Code
                                if (myScripts > 1) log(myScripts);
                                

                                war ein Tippfehler drin :)

                                B Offline
                                B Offline
                                Bongo
                                schrieb am zuletzt editiert von
                                #15

                                @ticaki sagte in Homematic HM-RPC - Fenster öffnen zählt doppelt:

                                @bongo

                                ich weiß nicht ob das hier funktionieren könnte. Da aber bei doppelt laufenden Skripts die Variablen geteilt werden sollte es eigentlich gehen.

                                // am Anfang
                                var myScripts;
                                if (!myScripts) myScripts = 0;
                                myScripts++
                                
                                // irgendwo im Code
                                if (myScripts > 1) log(myScripts);
                                

                                war ein Tippfehler drin :)

                                Danke, ich habs eingebaut und werde es beobachten.

                                Gruß
                                Bongo

                                Script - Die sprechende Kaffeemaschine – Home Connect
                                Script - JUDO Wasserenthärtung - Connectivity-Modul API

                                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

                                373

                                Online

                                32.6k

                                Benutzer

                                82.2k

                                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