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

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

Fenster offen Script

Geplant Angeheftet Gesperrt Verschoben JavaScript
11 Beiträge 5 Kommentatoren 799 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 Offline
    R Offline
    ralalla
    schrieb am zuletzt editiert von ralalla
    #1

    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?

    ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

    paul53P 1 Antwort Letzte Antwort
    0
    • 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 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: 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 Nicht stören
                        T Nicht stören
                        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

                        865

                        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