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. Abfrage "Zustand irgendeines Fensters hat sich geändert"

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Abfrage "Zustand irgendeines Fensters hat sich geändert"

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
10 Beiträge 3 Kommentatoren 1.3k Aufrufe
  • Ä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.
  • GoerschG Offline
    GoerschG Offline
    Goersch
    schrieb am zuletzt editiert von
    #1

    Hallo,

    bewege mich leider was javascript angeht bei den Anfängen :oops:; muss deshalb eine wahrscheinlich einfache Frage stellen:

    In einem hier gefundenen Skript zur Anzeige der Systemmeldungen finde ich folgendes:

    var SelectorUNREACH = $('channel[state.id=*.UNREACH]');
    ....
    SelectorUNREACH.on(function(obj) {          // bei Zustandänderung *.UNREACH in allen Gewerken
        countService(obj);
    });
    
    

    Sowas versuche ich nun verzweifelt so umzumünzen, dass eine Funktion für alle Objekte mit "Fenster" im Namen aufgerufen wird, sobald sich der Zusand des Fensters geändert hat. Also in etwa so

    var fensterZustand= $('channel[name=*Fenster*, state.id=*.State]');
    ....
    fensterZustand.on(function(obj) {          
        lueftung(obj);
    });
    
    

    Geht das "irgendwie" :oops: oder

    muss ich einen Trigger "händisch" für jedes Fenster aufsetzen oder

    kann ich das mit einer Schleife über alle Objekte machen und dann - wenn der Name "Fenster" enthält, einen trigger dynamisch einrichten, der bei Änderung des "State" aufgerufen wird

    Danke!

    Georg

    1 Antwort Letzte Antwort
    0
    • Y Offline
      Y Offline
      ykuendig
      schrieb am zuletzt editiert von
      #2

      Das müsste schon gehen.

      Ich habe mal was in der Art für alle Storen zusammengestrickt.

      Storen alle hoch:
      
      createState("javascript.0.vis.Storen.hoch", false);
      
      on({id: "javascript.0.Storen.hoch"/*javascript.0.vis.Storen.hoch*/}, function(obj){
          var cacheSelector = $('channel{TYPE=BLIND}[state.id=*.LEVEL]');     // Get all shutter of Homematic
      	log("Script - Storen alle hoch läuft", 'info');
      	cacheSelector.each(function (id, i) {
      		setState(id, 100);
      	});
      });
      

      Jetzt müsste man eben wissen, in wieweit Deine Fenster gruppiert sind. Z.B. über die Enumerationen. Dann müsste das anzupaasen sein

      Gruss Yves

      1 Antwort Letzte Antwort
      0
      • GoerschG Offline
        GoerschG Offline
        Goersch
        schrieb am zuletzt editiert von
        #3

        ich häng direkt die nächste Frage dran :oops: : Wie müsste eine Schleife über alle Objekte eines Raums aussehen ?

        1 Antwort Letzte Antwort
        0
        • Y Offline
          Y Offline
          ykuendig
          schrieb am zuletzt editiert von
          #4

          Das geht dann in die Richtung: http://forum.iobroker.net/viewtopic.php … oms#p10395

          Oder das ev...````
          var cacheSelectorState = $('channelstate.id=*.STATE'); // Gewerk Licht

          Gruss Yves

          1 Antwort Letzte Antwort
          0
          • GoerschG Offline
            GoerschG Offline
            Goersch
            schrieb am zuletzt editiert von
            #5

            @ykuendig: danke -das schaue ich mir mal an

            1 Antwort Letzte Antwort
            0
            • GoerschG Offline
              GoerschG Offline
              Goersch
              schrieb am zuletzt editiert von
              #6

              :D das hat mir schon mal sehr weitergeholfen - danke.

              Nächste Herausforderung :

              Das Funktioniert leider nicht - ich kann nicht auf "name" - filtern

              var  fensterObjekte = $('channel[state.id=*.STATE](name=SZOG_Fenster)').each(function(id) {
                  log(id);
                  });
              
              

              während das hier funktionieren würde

              var  fensterObjekte = $('channel[state.id=*.STATE](functions=Lueftung)').each(function(id) {
                  log(id);
                  });
              
              

              Ich kann jetzt allen Fenstern die Funktion "Lueftung" hinzufügen und schon sollte es passen. Aber ich würde schon noch gerne wissen, was ich bei "(name=SZOG_Fenster")" falsch mache. Ich habs auch mit "Fenster" versucht - immer keine Ausgabe

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                Hast Du es mal mit eckigen Klammern versucht ?

                var  fensterObjekte = $('channel[state.id=*.STATE][name=SZOG_Fenster]').each(function(id) {
                    log(id);
                    });
                

                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
                • GoerschG Offline
                  GoerschG Offline
                  Goersch
                  schrieb am zuletzt editiert von
                  #8

                  @paul53: hatte ich nicht versucht :) - funktioniert aber auch nicht :|

                  1 Antwort Letzte Antwort
                  0
                  • Y Offline
                    Y Offline
                    ykuendig
                    schrieb am zuletzt editiert von
                    #9

                    Da weiss ich auch zuwenig.

                    Müsste uns @Bluefox mal mitteilen, ob im Channel Filter überhaupt nach Namen gesucht werden kann?

                    Gruss Yves

                    1 Antwort Letzte Antwort
                    0
                    • GoerschG Offline
                      GoerschG Offline
                      Goersch
                      schrieb am zuletzt editiert von
                      #10

                      ich heb mich mal nach "oben"

                      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

                      621

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      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