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.1k

  • 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

    @codierknecht Ja stimmt, aber mit window gab es ja keine ergebnisse,
    Das object DoorsOpen ist 0.

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #53

    @werner2000x was steht im log nach dem Start des letzten Skripts von @paul53 ?

    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 -

    werner2000xW 1 Antwort Letzte Antwort
    0
    • werner2000xW werner2000x

      @codierknecht Ja stimmt, aber mit window gab es ja keine ergebnisse,
      Das object DoorsOpen ist 0.

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #54

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

      aber mit window gab es ja keine ergebnisse

      Zeigt genau die States, die ich in die Kategorie gepackt habe:

      20439edb-95a9-4cc5-93e0-2b753d06808e-image.png

      "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 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @werner2000x was steht im log nach dem Start des letzten Skripts von @paul53 ?

        werner2000xW Online
        werner2000xW Online
        werner2000x
        schrieb am zuletzt editiert von
        #55

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

        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

        HomoranH 1 Antwort Letzte Antwort
        0
        • werner2000xW werner2000x

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

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #56

          @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?

          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 -

          werner2000xW 1 Antwort Letzte Antwort
          0
          • 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
            schrieb am zuletzt editiert von
            #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 und PI-hole
            Innogy Smarthome
            Bosch Bridge 2
            HUE Bridge
            OpenWB Wallbox mit EVU Kit
            Google Nest Pro Hub

            HomoranH 1 Antwort Letzte Antwort
            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 Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              1
              • werner2000xW Online
                werner2000xW Online
                werner2000x
                schrieb am zuletzt editiert von 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 und PI-hole
                Innogy Smarthome
                Bosch Bridge 2
                HUE Bridge
                OpenWB Wallbox mit EVU Kit
                Google Nest Pro Hub

                CodierknechtC HomoranH paul53P 3 Antworten Letzte Antwort
                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 Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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 Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      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 Online
                        werner2000xW Online
                        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 Online
                            werner2000xW Online
                            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 Online
                                werner2000xW Online
                                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 Online
                                    werner2000xW Online
                                    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 Online
                                        werner2000xW Online
                                        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

                                        820

                                        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