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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [Vorlage] Generisches Fensteroffenskript + Vis

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

      @Pittini
      Unbenannt.JPG
      Unbenannt.JPG

      Objekte hat das Script bislang wegen des Fehlers nicht angelegt
      Michael

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

        @michihorn
        Der eigentliche "Fehler" ist die gelbe Warnzeile. Erfindet das Objekt nicht und somit kann er auch den Raum vom Objekt nicht bestimmen.
        Hast Du die JS Instanz schon mal neu gestartet? Wenn ja, bitte den Objektbaum des angemaulten Sensors mal aufklappen und Screenshot machen.

        M 1 Reply Last reply Reply Quote 0
        • M
          michihorn @Pittini last edited by

          @Pittini
          JS habe ich neu gestartet. Der Objektbau des RPC1 sieht so aus:
          Unbenannt.JPG
          Ich sehe da keinen Fensterkontakt.
          Michael

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

            @michihorn
            Was ich jetzt schon ziemlich sicher sagen kann, ist, dasses nicht am Skript sondern an Deinem System liegt. Wenns den Sensor nicht gibt, haste ne Leiche in den Aufzählungen. Öffne mal Aufzählungen > Funktionen, scroll bis zum Punkt "Verschluss" oder was auch immer Du für das Skript verwendest (Verschluss ist default) und mach nen Screen den ich im ersten Post schon erbeten hatte.

            Dominik F. M 2 Replies Last reply Reply Quote 0
            • Dominik F.
              Dominik F. @Pittini last edited by

              @Pittini

              Ich würde gerne die Farben etwas ändern und die von Uhula nutzen, also mdui-green, mdui-red. Die sind nicht ganz so "intensiv". Wenn ich die Farbe in deine Auswahl eingebe klappt das nicht. Hast du einen Tipp für mich?

              P 1 Reply Last reply Reply Quote 0
              • P
                Pittini Developer @Dominik F. last edited by Pittini

                @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                Ich würde gerne die Farben etwas ändern und die von Uhula nutzen, also mdui-green, mdui-red. Die sind nicht ganz so "intensiv". Wenn ich die Farbe in deine Auswahl eingebe klappt das nicht. Hast du einen Tipp für mich?

                Die verwendung von Uhulas CSS Klassen ist da nicht vorgesehen, aber Du kannst jede benannte Farbe und jede Hex Code Farbe verwenden. Schau mal da, da dürfte doch was passendes dabei sein. Oder Du fragst Uhula was die von Ihm verwendenten Farben für nen HexCode haben (oder suchst es in der CSS) und trägst das ein.

                Dominik F. 1 Reply Last reply Reply Quote 0
                • Dominik F.
                  Dominik F. @Pittini last edited by Dominik F.

                  @Pittini

                  das ist eine gute Idee, dank dir

                  Edit: Habs auch direkt gefunden 🙂

                  In Verbindung mit deinem Skript tauchen bei mir ab und an komische Effekte auf. Heute, nachdem ich die Farben zum ersten Mal verändert hatte war auf einmal der Raumname von einem State verschwunden ( 3 mal bisher beim gleichen State) und die Fenster wurden falsch gezählt. Musste das Fenster erst einmal schließen und wieder öffnen damit er das richtig erkannt hatte. Die Aufzählung der Gesamtfenster war richtig, nur das in den Räumen wurden dies als nicht offen angezeigt.
                  Nach Neustart der Instanz und dem Öffnen/Schließen des einen States funktioniert es nun wieder einwandfrei. Ich weiß nicht ob du damit etwas anfangen kannst und obs überhaupt an deinem Skript liegt. Es ist nur das erste mal das mir sowas bei einem Skript auffällt daher wollt ich dir das noch mal schreiben.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Pittini Developer @Dominik F. last edited by

                    @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    Es ist nur das erste mal das mir sowas bei einem Skript auffällt daher wollt ich dir das noch mal schreiben.

                    Wenn Du da Uhulas CSS Klassen probiert haben solltes isses teilw. nachvollziehbar dass es side Effekte gibt. Bir mir und den anderen testern is bisher nix derartiges aufgetaucht / gemeldet worden, aber behalts mal im Auge. Wichtig wär reproduzierbarkeit, sonst such ich mir nen Elch.

                    1 Reply Last reply Reply Quote 0
                    • M
                      michihorn @Pittini last edited by michihorn

                      @Pittini Also ich habe in der CCU die Gewerke von "Fenster" auf "Verschluss" geändert, ebenso habe ich in Deinem Script in Zeile 14 wieder "Verschluss" eingetragen. Die Fehlermeldung ist weg. Ich habe aktuell zwei Fenster auf, dass Script behauptet alle Fenster sind zu. Wo kann ich ansetzen?
                      Fehlermeldungen gibt es auch im "großen LOG " keine mehr.
                      In den Objekten sind aber auch keine Räume angelegt.
                      Gruß Michael

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

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

                        Wo kann ich ansetzen?

                        Wieder erst mal nach Änderung von Aufzählung JS Adapter neustarten. Wenns nicht klappt, im Skript logging auf true setzen und die Ausgabe hier posten.

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          michihorn @Pittini last edited by

                          @Pittini Ich habe nun etwas rum experimentiert, ich habe im Datenpunkt State nun mal "funcButton" gesetzt und im Script ebenso, dann klappt es. Sobald ich wieder "Fenster" ersetze klappt es wieder nicht. Egal mit der Eselsbrücke kann ich leben. 😉
                          Michael

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

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

                            Gibt dynamische HTML Tabelle mit Übersicht aller Räume aus.

                            const HeadlessTable = false; // Tabelle mit oder ohne Kopf darstellen

                            true/false verwechselt?

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

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

                              true/false verwechselt?

                              Nein, nicht wirklich, nur kompliziert ausgedrückt. Headless heißt ja kopflos, und wenn kopflos false ist, hats nen Kopf...Du verstehst...war schon spät, aber stimmen tuts 😉

                              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:

                                true/false verwechselt?

                                Nein, nicht wirklich, nur kompliziert ausgedrückt. Headless heißt ja kopflos, und wenn kopflos false ist, hats nen Kopf...Du verstehst...war schon spät, aber stimmen tuts 😉

                                😀

                                Kannst noch die Benachrichtigung für Mail hinzufügen?

                                P 1 Reply Last reply Reply Quote 0
                                • M
                                  michihorn last edited by

                                  Wie sieht es aus wenn ich in einem Raum zwei oder drei Fenster habe?
                                  Michael

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

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

                                    Kannst noch die Benachrichtigung für Mail hinzufügen?

                                    Gerne, wenn Du mir sagst welche Infos in welcher Form benötigt werden, ich hab und nutze das nicht, da bin ich genauso wie mit dem Alexa-Part auf mithilfe angewiesen. Am besten wär z.B. ein Blockly oder Skript das Dir nen Testtext "blabla" schickt, daraus krieg ich dann die Infos die ich brauch.

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

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

                                      Wie sieht es aus wenn ich in einem Raum zwei oder drei Fenster habe?

                                      Werden gezählt, und ist vorgesehen. Ich hab 2flügelige Fenster, das kommt aufs gleiche raus und klappt hier prima.

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

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

                                        Gerne, wenn Du mir sagst welche Infos in welcher Form benötigt werden, ich hab und nutze das nicht, da bin ich genauso wie mit dem Alexa-Part auf mithilfe angewiesen. Am besten wär z.B. ein Blockly oder Skript das Dir nen Testtext "blabla" schickt, daraus krieg ich dann die Infos die ich brauch.

                                        on({id: "hm-rpc.0.OEQ0926852.1.STATE", change: "ne"}, function (obj) {
                                          var value = obj.state.val;
                                         
                                          if ( value === true )
                                          {
                                            sendTo("email", "Badfenster wurde geöffnet");      
                                          }
                                          else
                                          {
                                            sendTo("email", "Badfenster wurde geschlossen");      
                                          }  
                                        });
                                        
                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          Pittini Developer @michihorn last edited by

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

                                          Ich habe nun etwas rum experimentiert, ich habe im Datenpunkt State nun mal "funcButton" gesetzt und im Script ebenso, dann klappt es. Sobald ich wieder "Fenster" ersetze klappt es wieder nicht. Egal mit der Eselsbrücke kann ich leben.

                                          Ich versteh zwar nicht so ganz was Du meinst, aber wenns funktioniert is ja erst mal prima. Wenn Fenster nicht klappt aber was andres schon, dann hängt in Deinen Aufzählungen bei Fenster noch ne Leiche, ich hatte sowas auch schon mal. Wenn Du in dem Aufzählungspunkt Fenster mal hinschaust, siehst ja die Geräte die da zugeordnet sind. Ich vermute da ist eines dabei das es nicht (mehr) gibt oder nur mal zum testen da war etc.

                                          1 Reply Last reply Reply Quote 0
                                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            945
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            81
                                            768
                                            154392
                                            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