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

NEWS

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

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

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

Fenster offen Script

Geplant Angeheftet Gesperrt Verschoben JavaScript
11 Beiträge 5 Kommentatoren 797 Aufrufe 4 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.
  • R ralalla

    Hallo zusammen,

    ich habe bisher die Fenster offen Scripte nie für nötig gehalten (meine Frau jetzt aber doch).
    Habe ein Script gefunden welches mir eigentlich von der Funktion her sehr zusagt Fenster offen Script

    Dies "funktioniert" auch wenn es gestartet wird, aber nicht so richtig.
    Die zum Startzeitpunkt offenen Fenster werden gezählt, aber eine Aktualisierung findet nicht statt.

    Es werden auch Fehler ausgegeben, leider bin ich bei JS nicht so tief im Thema drinnen.
    Kann es sein das Timer verwendet werden die es nicht mehr gibt?

    Folgende Fehlermeldungen werden ausgegeben:

    javascript.0
    	2025-02-06 16:36:50.339	error	at process.processTimers (node:internal/timers:519:7)
    javascript.0
    	2025-02-06 16:36:50.339	error	at listOnTimeout (node:internal/timers:581:17)
    javascript.0
    	2025-02-06 16:36:50.339	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3219:34)
    javascript.0
    	2025-02-06 16:36:50.339	error	at Object.<anonymous> (script.js.common.Fenster_Tueren:1388:25)
    javascript.0
    	2025-02-06 16:36:50.339	error	at CheckWindow (script.js.common.Fenster_Tueren:1014:64)
    javascript.0
    	2025-02-06 16:36:50.339	error	at Meldung (script.js.common.Fenster_Tueren:388:25)
    javascript.0
    	2025-02-06 16:36:50.339	error	Error in callback: ReferenceError: Say is not defined
    
    
    

    Kann mir da jemand einen Tipp geben wo ich nach dem Fehler suchen müsste?
    Würde das Script, aufgrund der flexiblen Anpassung gerne nutzen, oder hat jemand eine ähnliche Alternative?

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

    @ralalla sagte: Say is not defined

    Zeile 42:

    const UseSay = true; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
    

    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

    crunchipC 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @ralalla sagte: Say is not defined

      Zeile 42:

      const UseSay = true; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
      
      crunchipC Abwesend
      crunchipC Abwesend
      crunchip
      Forum Testing Most Active
      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 Offline
          CodierknechtC Offline
          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 Offline
              CodierknechtC Offline
              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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                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 Abwesend
                    crunchipC Abwesend
                    crunchip
                    Forum Testing Most Active
                    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
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      629

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      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