Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Fenster offen Script

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    749

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.4k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.5k

Fenster offen Script

Geplant Angeheftet Gesperrt Verschoben JavaScript
14 Beiträge 6 Kommentatoren 1.4k Aufrufe 5 Beobachtet
  • Ä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.
  • paul53P paul53

    @ralalla sagte: Say is not defined

    Zeile 42:

    const UseSay = true; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
    
    crunchipC Offline
    crunchipC Offline
    crunchip
    Forum Testing Most Active Developer
    schrieb am zuletzt editiert von
    #3

    @paul53 das script läuft aber auch anderweitig nicht mehr, zumindest bei mir, siehe
    https://github.com/Pittini/iobroker-Fensterauswertung/issues/52

    selbst wenn ich das original script einfüge und starte

    umgestiegen von Proxmox auf Unraid

    1 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      ralalla
      schrieb am zuletzt editiert von
      #4

      Hm schade.
      Auch wenn ich "say" (hatte ich wohl übersehen) abschalte funktioniert es nicht.
      Wurde ja von @crunchip auch erwähnt.

      Hat jemand eine Alternative die ähnliche Ergebnisse bringt und funktioniert?

      ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • R ralalla

        Hm schade.
        Auch wenn ich "say" (hatte ich wohl übersehen) abschalte funktioniert es nicht.
        Wurde ja von @crunchip auch erwähnt.

        Hat jemand eine Alternative die ähnliche Ergebnisse bringt und funktioniert?

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

        @ralalla sagte in Fenster offen Script:

        Hat jemand eine Alternative die ähnliche Ergebnisse bringt und funktioniert?

        Was brauchst Du denn?
        Nur die Anzahl offener Fenster?
        Oder tatsächlich auch eine Meldung? Wenn ja: Wohin? Sprachausgabe, Telegram, Signal, Email, etc. p.p.

        "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
        • R Offline
          R Offline
          ralalla
          schrieb am zuletzt editiert von
          #6

          Hm also eigentlich würde auch die Anzahl offener Türen/ offener Fenster reichen.
          Den Rest bekomme ich alleine „zusammengebastelt“. 😉

          ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

          CodierknechtC paul53P 2 Antworten Letzte Antwort
          0
          • R ralalla

            Hm also eigentlich würde auch die Anzahl offener Türen/ offener Fenster reichen.
            Den Rest bekomme ich alleine „zusammengebastelt“. 😉

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

            @ralalla

            const ids = $('(functions=window)').toArray();
            // Alternativ über gleichartige DP
            // const ids = $('zigbee.0.*.opened').toArray();
            
            on({id: ids, change: "ne"}, async function() {
                let count = 0;
                for (let id of ids) {
                    if (getState(id).val) count++;
                }
                setStateAsync("0_userdata.0.Vis.fenster", count, true);
            });
            

            Für die hier verwendete Variante habe ich unter "Kategorien" eine Funktion angelegt, in der die entsprechenden States aufgelistet sind. Das funktioniert prima, weil bei mir unterschiedliche Sensoren verbaut sind (Zigbee und Alarmanlage).

            Wenn alles nur aus einem Adapter kommt, kann man auch die Alternative Variante verwenden.

            "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
            • R ralalla

              Hm also eigentlich würde auch die Anzahl offener Türen/ offener Fenster reichen.
              Den Rest bekomme ich alleine „zusammengebastelt“. 😉

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

              @ralalla
              Wann soll die Prüfung erfolgen? Bei Verlassen des Hauses?
              Wenn genau den zu prüfenden Datenpunkten das Gewerk "fenster" (Schreibweise in der ID) und ein Raum zugewiesen wurde, kann es etwa so erfolgen:

              const ids = $('*(functions=fenster)').toArray();
              const idMsg = 'xyz'; // ID eintragen
              const idVerlassen = 'abc'; // ID eintragen
              
              on({id: idVerlassen, change: 'gt'}, function() {
                  const Liste = [];
                  for(const id of ids) {
                      if(getState(id).val) { // offen?
                          const raum = getObject(id, 'rooms').enumNames[0];
                          Liste.push(raum);
                      }
                  }        
                  if(Liste.length) {
                      const msg = Liste.length + ' offene Fenster im\n' + Liste.join(', ');
                      setState(idMsg, msg); // oder sendTo() mit msg
                  }
              });
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

              1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                ralalla
                schrieb am zuletzt editiert von
                #9

                Danke euch beiden.

                So wie von @Codierknecht geschrieben passt das schon mal ganz gut.
                Die Zusätze von @paul53 schaue ich mir morgen mal an und übernehme das dann.

                Nachricht brauche ich erst mal keine.
                Gut wäre wenn man halt immer den aktuellen Status sehen kann. Das klappt ja damit schon mal.
                Nice to Have für die Visu wenn man sieht wo was offen ist.

                Nachricht nur wenn keiner zu Hause ist. Da ich viel in Blockly zusammen klicke schaffe ich das mit der Nachricht auch im Blockly. Wobei das hier natürlich ein Ansporn ist zu lernen ;-)

                ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

                crunchipC 1 Antwort Letzte Antwort
                0
                • R ralalla

                  Danke euch beiden.

                  So wie von @Codierknecht geschrieben passt das schon mal ganz gut.
                  Die Zusätze von @paul53 schaue ich mir morgen mal an und übernehme das dann.

                  Nachricht brauche ich erst mal keine.
                  Gut wäre wenn man halt immer den aktuellen Status sehen kann. Das klappt ja damit schon mal.
                  Nice to Have für die Visu wenn man sieht wo was offen ist.

                  Nachricht nur wenn keiner zu Hause ist. Da ich viel in Blockly zusammen klicke schaffe ich das mit der Nachricht auch im Blockly. Wobei das hier natürlich ein Ansporn ist zu lernen ;-)

                  crunchipC Offline
                  crunchipC Offline
                  crunchip
                  Forum Testing Most Active Developer
                  schrieb am zuletzt editiert von
                  #10

                  @ralalla sagte in Fenster offen Script:

                  viel in Blockly

                  hab gerade mal bei mir nachgesehen, hab das noch in den scripten
                  https://forum.iobroker.net/post/904083

                  umgestiegen von Proxmox auf Unraid

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    ticaki
                    schrieb am zuletzt editiert von
                    #11

                    ich würde ja in so Skripts noch ein

                    schedule('1 1 * * *', () => {startScript(name);}
                    

                    einbauen - dann braucht man auch nicht ans neustarten zu denken, wenn man 6 Monate später mal nen Sensor austauscht :)

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      hansmeier
                      schrieb zuletzt editiert von
                      #12

                      Moin !
                      Zum Thema Fenster offen, habe ich auch mal ein kleines Blockly geschrieben, das aber so nicht funktioniert:
                      Ziel: ich will nur eine Ampel--> rot = (mindestens) ein Fenster steht offen und grün --> alles zu.
                      Dazu habe ich ein Boolean Datenpunkt "AlleGeschlossen" erstellt.
                      Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.
                      Je einen davon habe ich mal zum Testen in das Blockly geschrieben.

                      das Problem: wann immer ich ein Fenster öffne, wird im Protokoll das erste im Falls- Zweig stehende Fenster erfasst. Und das zweite Fenster wird auch bei öffnen/schliessen als das erste Fenster erkannt.
                      Also in meinem Beispiel kommt diese Meldung, egal welches Fenster ich auch öffne oder schliesse:

                      getObject(id=matter.0.controller.1.ContactSensor-1.ACTUAL, enumName=undefined) => {"_id":"matter.0.controller.1.ContactSensor-1.ACTUAL","type":"state","common":{"type":"boolean","write":false,"read":true,"role":"sensor.window","name":""},"native":{},"acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.admin.0","user":"system.user.admin","ts":1785063350463}
                      

                      Mein Datenpunkt AlleGeschlossen ändert sich nie, bleibt immer auf false

                      Kann mir jemand auf die Sprünge helfen? Danke.

                      Screenshot 2026-07-29 at 14-37-57 — Skripten - Logik.jpg

                      paul53P 2 Antworten Letzte Antwort
                      0
                      • H hansmeier

                        Moin !
                        Zum Thema Fenster offen, habe ich auch mal ein kleines Blockly geschrieben, das aber so nicht funktioniert:
                        Ziel: ich will nur eine Ampel--> rot = (mindestens) ein Fenster steht offen und grün --> alles zu.
                        Dazu habe ich ein Boolean Datenpunkt "AlleGeschlossen" erstellt.
                        Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.
                        Je einen davon habe ich mal zum Testen in das Blockly geschrieben.

                        das Problem: wann immer ich ein Fenster öffne, wird im Protokoll das erste im Falls- Zweig stehende Fenster erfasst. Und das zweite Fenster wird auch bei öffnen/schliessen als das erste Fenster erkannt.
                        Also in meinem Beispiel kommt diese Meldung, egal welches Fenster ich auch öffne oder schliesse:

                        getObject(id=matter.0.controller.1.ContactSensor-1.ACTUAL, enumName=undefined) => {"_id":"matter.0.controller.1.ContactSensor-1.ACTUAL","type":"state","common":{"type":"boolean","write":false,"read":true,"role":"sensor.window","name":""},"native":{},"acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.admin.0","user":"system.user.admin","ts":1785063350463}
                        

                        Mein Datenpunkt AlleGeschlossen ändert sich nie, bleibt immer auf false

                        Kann mir jemand auf die Sprünge helfen? Danke.

                        Screenshot 2026-07-29 at 14-37-57 — Skripten - Logik.jpg

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb zuletzt editiert von paul53
                        #13

                        @hansmeier [sagte]: Kann mir jemand auf die Sprünge helfen?

                        Du musst Werte prüfen - nicht Objekte.

                        Blockly_temp.JPG

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                        1 Antwort Letzte Antwort
                        0
                        • H hansmeier

                          Moin !
                          Zum Thema Fenster offen, habe ich auch mal ein kleines Blockly geschrieben, das aber so nicht funktioniert:
                          Ziel: ich will nur eine Ampel--> rot = (mindestens) ein Fenster steht offen und grün --> alles zu.
                          Dazu habe ich ein Boolean Datenpunkt "AlleGeschlossen" erstellt.
                          Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.
                          Je einen davon habe ich mal zum Testen in das Blockly geschrieben.

                          das Problem: wann immer ich ein Fenster öffne, wird im Protokoll das erste im Falls- Zweig stehende Fenster erfasst. Und das zweite Fenster wird auch bei öffnen/schliessen als das erste Fenster erkannt.
                          Also in meinem Beispiel kommt diese Meldung, egal welches Fenster ich auch öffne oder schliesse:

                          getObject(id=matter.0.controller.1.ContactSensor-1.ACTUAL, enumName=undefined) => {"_id":"matter.0.controller.1.ContactSensor-1.ACTUAL","type":"state","common":{"type":"boolean","write":false,"read":true,"role":"sensor.window","name":""},"native":{},"acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.admin.0","user":"system.user.admin","ts":1785063350463}
                          

                          Mein Datenpunkt AlleGeschlossen ändert sich nie, bleibt immer auf false

                          Kann mir jemand auf die Sprünge helfen? Danke.

                          Screenshot 2026-07-29 at 14-37-57 — Skripten - Logik.jpg

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb zuletzt editiert von paul53
                          #14

                          @hansmeier [sagte]: Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.

                          Bei vielen Fenstern kann man eine Schleife über eine ID-Liste verwenden.

                          Blockly_temp.JPG

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                          1 Antwort Letzte Antwort
                          0

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          437

                          Online

                          33.0k

                          Benutzer

                          83.5k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2026
                          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