Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Problem mit "Fenster offen Script"

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    109

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Problem mit "Fenster offen Script"

Scheduled Pinned Locked Moved JavaScript
71 Posts 6 Posters 4.0k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • HomoranH Homoran

    @werner2000x sagte in Problem mit "Fenster offen Script":

    @homoran 2024-11-13 15:49:07.665 warn get state error: DB closed

    bitte alles im Kontext zeigen.
    So ein Schnipsel hilft nicht wirklich

    ist das wirklich das Skript, das Paul und Codierknecht benutzt haben?

    werner2000xW Online
    werner2000xW Online
    werner2000x
    wrote on last edited by
    #57

    @homoran ich finde den log nicht mehr. Aber jetzt sehe ich 3 offene Fenster im object "DoorsOpen". Jedoch ändert sich die Anzahl nicht, wenn ich eine neues Fenster aufmache.

    Raspi4 8 GB mit Aqara Zigbee USB, iob
    Innogy Smarthome
    Bosch Bridge 2
    HUE Bridge
    OpenWB Wallbox mit EVU Kit
    Google Nest Pro Hub
    HA auf uGreen dxp4800

    HomoranH 1 Reply Last reply
    0
    • werner2000xW werner2000x

      @homoran ich finde den log nicht mehr. Aber jetzt sehe ich 3 offene Fenster im object "DoorsOpen". Jedoch ändert sich die Anzahl nicht, wenn ich eine neues Fenster aufmache.

      HomoranH Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #58

      @werner2000x Bitte lass dir helfen!
      Das geht nicht wenn du immer etwas anderes machst, als wir dich bitten!

      Wir sind im Moment hier;

      @paul53 sagte in Problem mit "Fenster offen Script":

      @werner2000x sagte: Script angepasst

      Es muss die Schreibweise in der ID "enum.functions.window" verwendet werden:

      log($('*(functions=window)').toArray());
      

      muss eine ID-Liste mit allen Fenstern ausgeben.

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Reply Last reply
      1
      • werner2000xW Online
        werner2000xW Online
        werner2000x
        wrote on last edited by werner2000x
        #59

        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);
        });
        

        Raspi4 8 GB mit Aqara Zigbee USB, iob
        Innogy Smarthome
        Bosch Bridge 2
        HUE Bridge
        OpenWB Wallbox mit EVU Kit
        Google Nest Pro Hub
        HA auf uGreen dxp4800

        CodierknechtC HomoranH paul53P 3 Replies Last reply
        0
        • 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);
          });
          
          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #60

          @werner2000x sagte in Problem mit "Fenster offen Script":

          Ich bin doch jetzt neuen script:

          Wir aber (noch) nicht.
          Wir möchten erstmal Stück für Stück sehen, was da wie eingerichtet ist.

          "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

          1 Reply Last reply
          1
          • 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);
            });
            
            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #61

            @werner2000x sagte in Problem mit "Fenster offen Script":

            Ich bin doch jetzt neuen script:

            sollst du aber nicht

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Reply Last reply
            0
            • 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
              wrote on last edited by 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 Reply Last reply
              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 Online
                werner2000xW Online
                werner2000x
                wrote on last edited by
                #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
                Innogy Smarthome
                Bosch Bridge 2
                HUE Bridge
                OpenWB Wallbox mit EVU Kit
                Google Nest Pro Hub
                HA auf uGreen dxp4800

                paul53P 1 Reply Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  0
                  • paul53P paul53

                    @werner2000x sagte: Hier der Log:

                    Wo ist der Log aus Zeile 2?

                    werner2000xW Online
                    werner2000xW Online
                    werner2000x
                    wrote on last edited by
                    #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
                    Innogy Smarthome
                    Bosch Bridge 2
                    HUE Bridge
                    OpenWB Wallbox mit EVU Kit
                    Google Nest Pro Hub
                    HA auf uGreen dxp4800

                    paul53P 1 Reply Last reply
                    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
                      wrote on last edited by 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 Reply Last reply
                      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 Online
                        werner2000xW Online
                        werner2000x
                        wrote on last edited by 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
                        Innogy Smarthome
                        Bosch Bridge 2
                        HUE Bridge
                        OpenWB Wallbox mit EVU Kit
                        Google Nest Pro Hub
                        HA auf uGreen dxp4800

                        paul53P 1 Reply Last reply
                        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
                          wrote on last edited by 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 Reply Last reply
                          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 Online
                            werner2000xW Online
                            werner2000x
                            wrote on last edited by 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
                            Innogy Smarthome
                            Bosch Bridge 2
                            HUE Bridge
                            OpenWB Wallbox mit EVU Kit
                            Google Nest Pro Hub
                            HA auf uGreen dxp4800

                            paul53P 1 Reply Last reply
                            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
                              wrote on last edited by
                              #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 Reply Last reply
                              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 Online
                                werner2000xW Online
                                werner2000x
                                wrote on last edited by
                                #71

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

                                Raspi4 8 GB mit Aqara Zigbee USB, iob
                                Innogy Smarthome
                                Bosch Bridge 2
                                HUE Bridge
                                OpenWB Wallbox mit EVU Kit
                                Google Nest Pro Hub
                                HA auf uGreen dxp4800

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                831

                                Online

                                32.5k

                                Users

                                81.7k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Home
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe