Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Problem mit "Fenster offen Script"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Problem mit "Fenster offen Script"

    This topic has been deleted. Only users with topic management privileges can see it.
    • werner2000x
      werner2000x @Homoran last edited by

      @homoran eine Kategorie mit der Funktion Fenster eröffnet und dort alle Fenster hereingebracht.

      Codierknecht Homoran 3 Replies Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @werner2000x last edited by

        @werner2000x sagte in Problem mit "Fenster offen Script":

        eine Kategorie mit der Funktion Fenster eröffnet und dort alle Fenster hereingebracht.

        Das alleine tut ja noch garnix.

        Aber mit dem passenden Selektor sollte das hier jetzt Werte liefern:

        log($('(functions=window)'));
        
        1 Reply Last reply Reply Quote 1
        • Homoran
          Homoran Global Moderator Administrators @werner2000x last edited by

          @werner2000x sagte in Problem mit "Fenster offen Script":

          @homoran eine Kategorie mit der Funktion Fenster eröffnet und dort alle Fenster hereingebracht.

          davon alleine werdrn keine offenen Fenster angrzeigt 😉

          was kam dann?

          1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @werner2000x last edited by

            @werner2000x
            Wenn man nur wissen möchte, wieviele Fenster geöffnet sind ... nichts einfacher als das:

            const ids = Array.prototype.slice.apply($("(functions=window)"));
            
            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);
            });
            

            Ich brauche das nur für die Vis, um die Anzahl geöffneter Fenster anzuzeigen.

            werner2000x 1 Reply Last reply Reply Quote 0
            • werner2000x
              werner2000x @Codierknecht last edited by

              @codierknecht Ich bae das Script angepasst, s da keine Ergebnisse da waren:

              const ids = Array.prototype.slice.apply($("(functions=Fenster)"));
               
              on({id: ids, change: "ne"}, async function() {
                  let count = 0;
                  for (let id of ids) {
                      if (getState(id).val) count++;
                  }
                  setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
              });
              

              Trotzdem keine offenen Fester erkannt?

              Homoran Codierknecht paul53 3 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @werner2000x last edited by

                @werner2000x sagte in Problem mit "Fenster offen Script":

                angepasst

                wie heissen deine functions?

                1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @werner2000x last edited by

                  @werner2000x sagte in Problem mit "Fenster offen Script":

                  Trotzdem keine offenen Fester erkannt?

                  Kann ja auch nicht.
                  Das Ding heiß ja auch bei Dir window

                  268b583e-bc02-4f6d-b85e-e577e750b2dd-image.png

                  werner2000x 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @werner2000x last edited by paul53

                    @werner2000x sagte: Script angepasst

                    Es muss die Schreibweise in der ID "enum.functions.window" verwendet werden:

                    log($('*(functions=window)').toArray());
                    

                    muss eine ID-Liste mit allen Fenstern ausgeben.

                    1 Reply Last reply Reply Quote 0
                    • werner2000x
                      werner2000x @Codierknecht last edited by

                      @codierknecht Ja stimmt, aber mit window gab es ja keine ergebnisse,
                      Das object DoorsOpen ist 0.

                      Homoran Codierknecht 2 Replies Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @werner2000x last edited by

                        @werner2000x was steht im log nach dem Start des letzten Skripts von @paul53 ?

                        werner2000x 1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @werner2000x last edited by

                          @werner2000x sagte in Problem mit "Fenster offen Script":

                          aber mit window gab es ja keine ergebnisse

                          Zeigt genau die States, die ich in die Kategorie gepackt habe:

                          20439edb-95a9-4cc5-93e0-2b753d06808e-image.png

                          1 Reply Last reply Reply Quote 0
                          • werner2000x
                            werner2000x @Homoran last edited by

                            @homoran 2024-11-13 15:49:07.665 warn get state error: DB closed

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @werner2000x last edited by Homoran

                              @werner2000x sagte in Problem mit "Fenster offen Script":

                              @homoran 2024-11-13 15:49:07.665 warn get state error: DB closed

                              bitte alles im Kontext zeigen.
                              So ein Schnipsel hilft nicht wirklich

                              ist das wirklich das Skript, das Paul und Codierknecht benutzt haben?

                              werner2000x 1 Reply Last reply Reply Quote 0
                              • werner2000x
                                werner2000x @Homoran last edited by

                                @homoran ich finde den log nicht mehr. Aber jetzt sehe ich 3 offene Fenster im object "DoorsOpen". Jedoch ändert sich die Anzahl nicht, wenn ich eine neues Fenster aufmache.

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @werner2000x last edited by

                                  @werner2000x Bitte lass dir helfen!
                                  Das geht nicht wenn du immer etwas anderes machst, als wir dich bitten!

                                  Wir sind im Moment hier;

                                  @paul53 sagte in Problem mit "Fenster offen Script":

                                  @werner2000x sagte: Script angepasst

                                  Es muss die Schreibweise in der ID "enum.functions.window" verwendet werden:

                                  log($('*(functions=window)').toArray());
                                  

                                  muss eine ID-Liste mit allen Fenstern ausgeben.

                                  1 Reply Last reply Reply Quote 1
                                  • werner2000x
                                    werner2000x last edited by werner2000x

                                    Ich bin doch jetzt neuen script, da es mir einfacher ist:

                                    const ids = Array.prototype.slice.apply($("(functions=window)"));
                                     
                                    on({id: ids, change: "ne"}, async function() {
                                        let count = 0;
                                        for (let id of ids) {
                                            if (getState(id).val) count++;
                                        }
                                        setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
                                    });
                                    
                                    Codierknecht Homoran paul53 3 Replies Last reply Reply Quote 0
                                    • Codierknecht
                                      Codierknecht Developer Most Active @werner2000x last edited by

                                      @werner2000x sagte in Problem mit "Fenster offen Script":

                                      Ich bin doch jetzt neuen script:

                                      Wir aber (noch) nicht.
                                      Wir möchten erstmal Stück für Stück sehen, was da wie eingerichtet ist.

                                      1 Reply Last reply Reply Quote 1
                                      • Homoran
                                        Homoran Global Moderator Administrators @werner2000x last edited by

                                        @werner2000x sagte in Problem mit "Fenster offen Script":

                                        Ich bin doch jetzt neuen script:

                                        sollst du aber nicht

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @werner2000x last edited by paul53

                                          @werner2000x sagte: neuen script

                                          Dann ergänze es durch Log-Ausgaben:

                                          const ids = Array.prototype.slice.apply($("(functions=window)"));
                                          log(ids);
                                           
                                          on({id: ids, change: "ne"}, async function() {
                                              let count = 0;
                                              for (let id of ids) {
                                                  if (getState(id).val) count++;
                                              }
                                              setStateAsync("javascript.0.FensterUeberwachung.DoorsOpen", count, true);
                                              log('Anzahl offen: ' + count);
                                          });
                                          
                                          werner2000x 1 Reply Last reply Reply Quote 2
                                          • werner2000x
                                            werner2000x @paul53 last edited by

                                            @paul53 Hier der Log:

                                            javascript.0	16:11:59.416	info	script.js.Meine_Geräte.FensterOffenWarung: Anzahl offen: 3
                                            
                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            778
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            71
                                            2601
                                            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