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. Problem mit "Fenster offen Script"

NEWS

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

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

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

Problem mit "Fenster offen Script"

Geplant Angeheftet Gesperrt Verschoben JavaScript
71 Beiträge 6 Kommentatoren 3.9k Aufrufe 5 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.
  • werner2000xW werner2000x

    Ich bin doch jetzt neuen script, da es mir einfacher ist:

    const ids = Array.prototype.slice.apply($("(functions=window)"));
     
    on({id: ids, change: "ne"}, async function() {
        let count = 0;
        for (let id of ids) {
            if (getState(id).val) count++;
        }
        setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
    });
    
    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #62

    @werner2000x sagte: neuen script

    Dann ergänze es durch Log-Ausgaben:

    const ids = Array.prototype.slice.apply($("(functions=window)"));
    log(ids);
     
    on({id: ids, change: "ne"}, async function() {
        let count = 0;
        for (let id of ids) {
            if (getState(id).val) count++;
        }
        setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
        log('Anzahl offen: ' + count);
    });
    

    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

    werner2000xW 1 Antwort Letzte Antwort
    2
    • paul53P paul53

      @werner2000x sagte: neuen script

      Dann ergänze es durch Log-Ausgaben:

      const ids = Array.prototype.slice.apply($("(functions=window)"));
      log(ids);
       
      on({id: ids, change: "ne"}, async function() {
          let count = 0;
          for (let id of ids) {
              if (getState(id).val) count++;
          }
          setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
          log('Anzahl offen: ' + count);
      });
      
      werner2000xW Offline
      werner2000xW Offline
      werner2000x
      schrieb am zuletzt editiert von
      #63

      @paul53 Hier der Log:

      javascript.0	16:11:59.416	info	script.js.Meine_Geräte.FensterOffenWarung: Anzahl offen: 3
      

      Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
      Innogy Smarthome
      Bosch Bridge 2
      HUE Bridge
      OpenWB Wallbox mit EVU Kit
      Google Nest Pro Hub

      paul53P 1 Antwort Letzte Antwort
      0
      • werner2000xW werner2000x

        @paul53 Hier der Log:

        javascript.0	16:11:59.416	info	script.js.Meine_Geräte.FensterOffenWarung: Anzahl offen: 3
        
        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #64

        @werner2000x sagte: Hier der Log:

        Wo ist der Log aus Zeile 2?

        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

        werner2000xW 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @werner2000x sagte: Hier der Log:

          Wo ist der Log aus Zeile 2?

          werner2000xW Offline
          werner2000xW Offline
          werner2000x
          schrieb am zuletzt editiert von
          #65

          @paul53 Log aus 2. Zeile:

          avascript.0	16:15:19.420	info	script.js.Meine_Geräte.FensterOffenWarung: [ 'innogy-smarthome.0.Esszimmer.Fenstersensor-Esszimmer.Fenstersensor-Esszimmer.IsOpen', 'innogy-smarthome.0.Flur.Tür-und-Fenstersensor-1.Tür-und-Fenstersensor-1.IsOpen', 'innogy-smarthome.0.Küche.Fenstersensor-Küche.Fenstersensor-Küche.IsOpen', 'innogy-smarthome.0.Schlafzimmer.Fenster.WDS.IsOpen', 'zigbee.0.00158d008b158119.contact', 'zigbee.0.00158d008b159b8c.contact', 'zigbee.0.00158d008b159c0a.contact', 'zigbee.0.00158d008b31a568.contact' ]
          javascript.0	16:15:19.421	info	script.js.Meine_Geräte.FensterOffenWarung: registered 8 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          

          Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
          Innogy Smarthome
          Bosch Bridge 2
          HUE Bridge
          OpenWB Wallbox mit EVU Kit
          Google Nest Pro Hub

          paul53P 1 Antwort Letzte Antwort
          0
          • werner2000xW werner2000x

            @paul53 Log aus 2. Zeile:

            avascript.0	16:15:19.420	info	script.js.Meine_Geräte.FensterOffenWarung: [ 'innogy-smarthome.0.Esszimmer.Fenstersensor-Esszimmer.Fenstersensor-Esszimmer.IsOpen', 'innogy-smarthome.0.Flur.Tür-und-Fenstersensor-1.Tür-und-Fenstersensor-1.IsOpen', 'innogy-smarthome.0.Küche.Fenstersensor-Küche.Fenstersensor-Küche.IsOpen', 'innogy-smarthome.0.Schlafzimmer.Fenster.WDS.IsOpen', 'zigbee.0.00158d008b158119.contact', 'zigbee.0.00158d008b159b8c.contact', 'zigbee.0.00158d008b159c0a.contact', 'zigbee.0.00158d008b31a568.contact' ]
            javascript.0	16:15:19.421	info	script.js.Meine_Geräte.FensterOffenWarung: registered 8 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #66

            @werner2000x sagte: Log aus 2. Zeile

            Da sind doch die 8 Datenpunkt-IDs der Fenster!
            Liefert "contact" ebenfalls true bei "offen"?

            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

            werner2000xW 1 Antwort Letzte Antwort
            1
            • paul53P paul53

              @werner2000x sagte: Log aus 2. Zeile

              Da sind doch die 8 Datenpunkt-IDs der Fenster!
              Liefert "contact" ebenfalls true bei "offen"?

              werner2000xW Offline
              werner2000xW Offline
              werner2000x
              schrieb am zuletzt editiert von werner2000x
              #67

              @paul53 Die Fenster isopen (innogy) liefern 0 bei zu, die contact-event 1 bei zu.

              Kategorie3.jpg

              Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
              Innogy Smarthome
              Bosch Bridge 2
              HUE Bridge
              OpenWB Wallbox mit EVU Kit
              Google Nest Pro Hub

              paul53P 1 Antwort Letzte Antwort
              0
              • werner2000xW werner2000x

                @paul53 Die Fenster isopen (innogy) liefern 0 bei zu, die contact-event 1 bei zu.

                Kategorie3.jpg

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

                @werner2000x sagte: contact-event 1 bei zu.

                Dann modifiziere die Schleife:

                    for (let id of ids) {
                        let open = getState(id).val;
                        if(id.includes('contact')) open = !open;
                        if(open) count++;
                    }
                

                Ich würde allerdings eine Vereinheitlichung per Alias bevorzugen, wie @Codierknecht bereits erwähnte.

                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

                werner2000xW 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @werner2000x sagte: contact-event 1 bei zu.

                  Dann modifiziere die Schleife:

                      for (let id of ids) {
                          let open = getState(id).val;
                          if(id.includes('contact')) open = !open;
                          if(open) count++;
                      }
                  

                  Ich würde allerdings eine Vereinheitlichung per Alias bevorzugen, wie @Codierknecht bereits erwähnte.

                  werner2000xW Offline
                  werner2000xW Offline
                  werner2000x
                  schrieb am zuletzt editiert von werner2000x
                  #69

                  @paul53 Danke für die Hilfe.
                  Es kommt der Fehler "open is not defined"

                  onst ids = Array.prototype.slice.apply($("(functions=window)"));
                  log(ids);
                   
                  on({id: ids, change: "ne"}, async function() {
                      let count = 0;
                      for (let id of ids) {
                          if (getState(id).val) count++;
                           if(id.includes('contact')) open = !open;
                          if(open) count++;
                      }
                      setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
                      log('Anzahl offen: ' + count);
                      	
                      
                  });
                  

                  Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
                  Innogy Smarthome
                  Bosch Bridge 2
                  HUE Bridge
                  OpenWB Wallbox mit EVU Kit
                  Google Nest Pro Hub

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • werner2000xW werner2000x

                    @paul53 Danke für die Hilfe.
                    Es kommt der Fehler "open is not defined"

                    onst ids = Array.prototype.slice.apply($("(functions=window)"));
                    log(ids);
                     
                    on({id: ids, change: "ne"}, async function() {
                        let count = 0;
                        for (let id of ids) {
                            if (getState(id).val) count++;
                             if(id.includes('contact')) open = !open;
                            if(open) count++;
                        }
                        setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
                        log('Anzahl offen: ' + count);
                        	
                        
                    });
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #70

                    @werner2000x sagte: "contact event" jedoch immer noch als offen gewertet.

                    Du solltest die bestehende Schleife modifizieren und nicht eine weitere Schleife hinzufügen.

                    const ids = Array.prototype.slice.apply($("(functions=window)"));
                    // log(ids);
                     
                    on({id: ids, change: "ne"}, async function() {
                        let count = 0;
                        for (let id of ids) {
                            let open = getState(id).val;
                            if(id.includes('contact')) open = !open;
                            if(open) count++;
                        }
                        setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
                        log('Anzahl offen: ' + count);
                    });
                    

                    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

                    werner2000xW 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @werner2000x sagte: "contact event" jedoch immer noch als offen gewertet.

                      Du solltest die bestehende Schleife modifizieren und nicht eine weitere Schleife hinzufügen.

                      const ids = Array.prototype.slice.apply($("(functions=window)"));
                      // log(ids);
                       
                      on({id: ids, change: "ne"}, async function() {
                          let count = 0;
                          for (let id of ids) {
                              let open = getState(id).val;
                              if(id.includes('contact')) open = !open;
                              if(open) count++;
                          }
                          setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
                          log('Anzahl offen: ' + count);
                      });
                      
                      werner2000xW Offline
                      werner2000xW Offline
                      werner2000x
                      schrieb am zuletzt editiert von
                      #71

                      @paul53 sorry, habe falsch eingefügt. Jetzt klappt es. :-)

                      Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
                      Innogy Smarthome
                      Bosch Bridge 2
                      HUE Bridge
                      OpenWB Wallbox mit EVU Kit
                      Google Nest Pro Hub

                      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

                      387

                      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