Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Generisches Fensteroffenskript + Vis

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Generisches Fensteroffenskript + Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pittini Developer @sigi234 last edited by Pittini

      @sigi234 Och das ist ja easy, das kannst sogar selber denk ich. Ich baus schon rein, aber wenns schneller gehen soll:
      Bei den Einstellungen ne neue Konstante

      const UseMail=true;
      

      dazubauen und zwischen Zeile 124 und 125 ein

      if (UseMail){
      sendTo("email", "msg"); 
      };
      

      Das sollte es gewesen sein.

      Hier nochmal die ganze Funktion nach Änderung:

      function Meldung(msg) {
          if (UseSay) Say(msg);
          if (UseTelegram) {
              sendTo("telegram.0", "send", {
                  text: msg
              });
          };
          if (UseAlexa) {
              if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg);
          };
          if (UseMail) {
              sendTo("email", "msg");
          };
          if (logging) log(msg);
      }
      
      
      sigi234 1 Reply Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active @Pittini last edited by

        @Pittini

        Geht, natürlich kommt zwar die Mail, aber diese weis ja noch nicht was geöffnet wurde.

        P 1 Reply Last reply Reply Quote 0
        • P
          Pittini Developer @sigi234 last edited by Pittini

          @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

          aber diese weis ja noch nicht was geöffnet wurde.

          Ja doch, sollte se schon wissen, die Nachricht steht ja in msg und wird beim Funktionsaufruf übergeben. Wenn das nicht geht, dürfte auch Telegram und Alexa nicht gehen und ich denke das hätte schon mal wer gemeldet. Das wird ja in

          if (logging) log(msg);
          

          geloggt, steht im Log ne Nachricht?

          sigi234 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @Pittini last edited by

            @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

            @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

            aber diese weis ja noch nicht was geöffnet wurde.

            Ja doch, sollte se schon wissen, die Nachricht steht ja in msg und wird beim Funktionsaufruf übergeben. Wenn das nicht geht, dürfte auch Telegram und Alexa nicht gehen und ich denke das hätte schon mal wer gemeldet. Das wird ja in

            if (logging) log(msg);
            

            geloggt, steht im Log ne Nachricht?

            email.0 2020-03-31 22:13:19.059 info (20660) Send email: {"text":"msg","from":"xxxxxxt","to":"xxxxxxxxx","subject":"ioBroker"}

            P 1 Reply Last reply Reply Quote 0
            • P
              Pittini Developer @sigi234 last edited by

              @sigi234
              Mein Fehler, änder mal zu: sendTo("email", msg);

              sigi234 1 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @Pittini last edited by

                @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                @sigi234
                Mein Fehler, änder mal zu: sendTo("email", msg);

                Besser, aber

                Wohnzimmerfenster seit 0.3333333333333333 Minuten geöffnet!
                
                P 1 Reply Last reply Reply Quote 0
                • P
                  Pittini Developer @sigi234 last edited by

                  @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                  Wohnzimmerfenster seit 0.3333333333333333 Minuten geöffnet!

                  Was steht bei Dir in Zeile 11? Was stört Dich an der Meldung, die kurze Zeit, oder die Nachkommastellen?

                  sigi234 1 Reply Last reply Reply Quote 0
                  • sigi234
                    sigi234 Forum Testing Most Active @Pittini last edited by sigi234

                    @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    Wohnzimmerfenster seit 0.3333333333333333 Minuten geöffnet!

                    Was steht bei Dir in Zeile 11?

                    const ZeitBisNachricht = 2000 // 300000 ms = 5 Minuten

                    Was stört Dich an der Meldung, die kurze Zeit, oder die Nachkommastellen?

                    Ja, die Nachkomma, abgesehen davon redet sich Alexa dusselig.

                    2000 habe ich extra eingestellt, ich will ja die Nachricht sofort.

                    Option bei Fenster schließen/öffnen ?

                    Also, Nachricht:

                    XY wurde geöffnet
                    wurde geschlossen
                    ist seit xx Minuten offen

                    P 2 Replies Last reply Reply Quote 0
                    • P
                      Pittini Developer @sigi234 last edited by

                      @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                      Ja, die Nachkomma, abgesehen davon redet sich Alexa dusselig.

                      Ok, vorgesehen und bisher genutzt waren immer Minuten, sewegen gibts das nen Rundungsfehler beim umrechen, 20 Sek ist 0,3 Periode Minuten. Das läßt sich leicht kürzen

                      Zeile 219 auf:

                      Meldung(TempRoom + "fenster seit " + (Laufzeit[TempRoomIndex] / 1000 / 60).toFixed(1) + " Minuten geöffnet!");
                      
                      

                      Zeile 226 auf:

                      Meldung(TempRoom + "fenster seit " +( ZeitBisNachricht / 1000 / 60).toFixed(1) + " Minuten geöffnet!");
                      
                      

                      Das .toFixed(1) macht eine Nachkommastelle, kannst auch 0 oder 2 machen.

                      1 Reply Last reply Reply Quote 0
                      • P
                        Pittini Developer @sigi234 last edited by Pittini

                        @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                        Option bei Fenster schließen/öffnen ?
                        Also, Nachricht:
                        XY wurde geöffnet
                        wurde geschlossen
                        ist seit xx Minuten offen

                        Is an sich drin, nur nicht für Meldungen, läßt sich auch leicht aktivieren
                        Zeile 209 von

                                if (logging) log(TempRoom + " Fenster geöffnet");
                        
                        

                        zu

                                Meldung(TempRoom + " Fenster geöffnet");
                        
                        

                        und in Zeile 239 das gleiche Spiel, dort ändern zu

                               Meldung(TempRoom + " Fenster geschlossen.");
                        
                        
                        sigi234 1 Reply Last reply Reply Quote 0
                        • sigi234
                          sigi234 Forum Testing Most Active @Pittini last edited by

                          @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          und in Zeile 239 das gleiche Spiel, dort ändern zu

                          Das finde ich nicht

                          else if (SensorVal[x] == "closed") {
                                  if (OpenWindowCount > 0) OpenWindowCount--;
                                  if (RoomOpenWindowCount[TempRoomIndex] > 0) RoomOpenWindowCount[TempRoomIndex]--;
                          
                                  setState(praefix + "WindowsOpen", OpenWindowCount);
                                  setState(praefix + TempRoom + ".RoomOpenWindowCount", RoomOpenWindowCount[TempRoomIndex]);
                          
                                  log(TempRoom + " Fenster geschlossen.");
                                  if (UseEventLog == true) WriteEventLog(TempRoom + " Fenster geschlossen!");
                                  if (RoomOpenWindowCount[TempRoomIndex] == 0) {
                                      setState(praefix + TempRoom + ".IsOpen", false);
                          
                                      if (RepeatInfoMsg == true) {
                                          if (logging) log("reaching clearInterval - [x] = " + [x] + " TempRoomIndex= " + TempRoomIndex);
                                          clearInterval(OpenWindowMsgHandler[TempRoomIndex]);
                                      }
                                      else {
                                          if (logging) log("reaching clearTimeout");
                                          clearTimeout(OpenWindowMsgHandler[TempRoomIndex]);
                                      };
                          
                          P 2 Replies Last reply Reply Quote 0
                          • P
                            Pittini Developer @sigi234 last edited by

                            @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                            @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                            und in Zeile 239 das gleiche Spiel, dort ändern zu

                            Das finde ich nicht

                            else if (SensorVal[x] == "closed") {
                                    if (OpenWindowCount > 0) OpenWindowCount--;
                                    if (RoomOpenWindowCount[TempRoomIndex] > 0) RoomOpenWindowCount[TempRoomIndex]--;
                            
                                    setState(praefix + "WindowsOpen", OpenWindowCount);
                                    setState(praefix + TempRoom + ".RoomOpenWindowCount", RoomOpenWindowCount[TempRoomIndex]);
                            
                                    log(TempRoom + " Fenster geschlossen.");
                                    if (UseEventLog == true) WriteEventLog(TempRoom + " Fenster geschlossen!");
                                    if (RoomOpenWindowCount[TempRoomIndex] == 0) {
                                        setState(praefix + TempRoom + ".IsOpen", false);
                            
                                        if (RepeatInfoMsg == true) {
                                            if (logging) log("reaching clearInterval - [x] = " + [x] + " TempRoomIndex= " + TempRoomIndex);
                                            clearInterval(OpenWindowMsgHandler[TempRoomIndex]);
                                        }
                                        else {
                                            if (logging) log("reaching clearTimeout");
                                            clearTimeout(OpenWindowMsgHandler[TempRoomIndex]);
                                        };
                            

                            In Deinem Post isses Zeile 8

                            sigi234 1 Reply Last reply Reply Quote 0
                            • sigi234
                              sigi234 Forum Testing Most Active @Pittini last edited by

                              @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                              In Deinem Post isses Zeile 8

                              Hatte nach if . ...gesucht

                              1 Reply Last reply Reply Quote 0
                              • P
                                Pittini Developer @sigi234 last edited by

                                @sigi234
                                Hab grad alle Änderungen eingepflegt und es in den Einstellungen aktivierbar gemacht, is auf Git.

                                sigi234 1 Reply Last reply Reply Quote 0
                                • sigi234
                                  sigi234 Forum Testing Most Active @Pittini last edited by

                                  @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                  @sigi234
                                  Hab grad alle Änderungen eingepflegt und es in den Einstellungen aktivierbar gemacht, is auf Git.

                                  Super. 👍

                                  Könnte man ja auch auf Türen erweitern?

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Pittini Developer @sigi234 last edited by

                                    @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                    Könnte man ja auch auf Türen erweitern?

                                    Wieso erweitern? Gib der Tür die Funktion Verschluss und schon wird se mitberücksichtigt.

                                    sigi234 1 Reply Last reply Reply Quote 0
                                    • sigi234
                                      sigi234 Forum Testing Most Active @Pittini last edited by

                                      @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                      @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                      Könnte man ja auch auf Türen erweitern?

                                      Wieso erweitern? Gib der Tür die Funktion Verschluss und schon wird se mitberücksichtigt.

                                      Habe ich, aber kann dann das Icon nicht abändern.

                                      P crunchip 2 Replies Last reply Reply Quote 0
                                      • P
                                        Pittini Developer @sigi234 last edited by

                                        @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                        Habe ich, aber kann dann das Icon nicht abändern.

                                        Ja, das stimmt. Die Meldungen werden auch weiterhin von Fenster sprechen. Aber das generisch zu unterschieden, würde bedeuten ne zweite Funktionsbezeichnung zu verwenden und das Skript sowie die Konfiguration massiv aufzublasen, was ich eigentlich nicht möchte.

                                        sigi234 1 Reply Last reply Reply Quote 0
                                        • sigi234
                                          sigi234 Forum Testing Most Active @Pittini last edited by

                                          @Pittini

                                          Ist ok....Kein Problem. Danke.😏

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            Turbo last edited by Turbo

                                            Hallo,

                                            Habe das Script jetzt auch mal installiert. Läuft alles, vielen Dank.
                                            Aaaber: bei mir kommt nicht die letzte Auf/Zu Meldung, sondern die Vorletzte. Hab eben die Balkontür aufgemacht und habe die Info von gestern Abend (schließen) drin 🤔

                                            39B0FDD9-DCE9-442F-9791-285FFB28EAE0.jpeg

                                            Edit: Hat sich erledigt, nach 5 Minuten wurde es richtig angezeigt.

                                            Nochmal vielen Dank.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            678
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            81
                                            768
                                            156109
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo