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. [Gelöst] Trigger auf state change innerhalb einer gruppe mit rueckgabe der id

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Gelöst] Trigger auf state change innerhalb einer gruppe mit rueckgabe der id

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 3 Kommentatoren 1.4k 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.
  • DutchmanD Offline
    DutchmanD Offline
    Dutchman
    Developer Most Active Administrators
    schrieb am zuletzt editiert von
    #1

    Hi,

    Ich habe merere werte die ein script ausloesen sollen, einzeln programmiert geht ja:

        on({id: "javascript.0.domoticz.1.STATE", change: "ne"}, function (obj) {
      var URL = 'http://192.168.1.152';
      var port = '8080';
      var value = obj.state.val;
      var device = '1';
    
    

    2 Loesugsfragen:

    1:

    Die variabele "device" ist jetzt fest gesetzt sollte aber javascript.0.domoticz. * .State darstellen

    979_values.jpg

    2:

    Das script loest nur bei javascript.0.domoticz.1 aus sollte aber bei javascript.0.domoticz. * .State triggeren wobei ich fuer * den wert als device zurueck bekommen mus

    thanks !

    Dutch

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

      Dann suche mal nach RegExp.

      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
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #3

        @Dutchman:

        2:

        Das script loest nur bei javascript.0.domoticz.1 aus sollte aber bei javascript.0.domoticz. * .State triggeren wobei ich fuer * den wert als device zurueck bekommen mus `

        probier mal:

        on({id: /^javascript\.\d\.domoticz\.\d+\.STATE$/ , change: "ne"}, function (obj) {
          var value = obj.state.val;
          var objArr  = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD
          var device  = objArr[2]; 
          log("device: " + device +" - State: " + value);
        });
        
        

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Antwort Letzte Antwort
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #4

          @paul53:

          Dann suche mal nach RegExp. `

          danke das haetten wir:

          
          //    on({id: /\.STATE$/, change: "ne"}, function (obj) {
              on({id: /javascript\.0\.domoticz\..*\.STATE/, change: "ne"}, function (obj) {
          
          	var device = obj.id;
           	log(device);
          
          });
          
          

          jetzt fehlt mir nur ruckgabe der ID dabei noch nen tip ? Ich brauche die zahl

          javascript.0.domoticz.1.STATE

          1 Antwort Letzte Antwort
          0
          • DutchmanD Offline
            DutchmanD Offline
            Dutchman
            Developer Most Active Administrators
            schrieb am zuletzt editiert von
            #5

            @ruhr70:

            probier mal:

            on({id: /^javascript\.\d\.domoticz\.\d+\.STATE$/ , change: "ne"}, function (obj) {
              var value = obj.state.val;
              var objArr  = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD
              var device  = objArr[2]; 
              log("device: " + device +" - State: " + value);
            });
            
            ```` `  
            

            Super danke das hat geklappt !

            Falls es jemand gebrauchen kan, script reagiert auf trigger innerhalb der gruppe und abhaenging von status verschikt er ein commando per URL:

            //    on({id: /javascript\.0\.domoticz\..*\.STATE/, change: "ne"}, function (obj) {
            
            on({id: /^javascript\.\d\.domoticz\.\d+\.STATE$/ , change: "ne"}, function (obj) {
              var value = obj.state.val;
              var objArr  = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD
              var device  = objArr[2]; 
              log("device: " + device +" - State: " + value);
              log(device);
            
              var URL = 'http://192.168.1.152';
              var port = '8080';
            
              if (getState("javascript.0.domoticz." + device + ".STATE").val == '1') {
                try {
                  require("request")( URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=On');
                } catch (e) { console.error(e); }
                console.log("request: " + URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=On');
              } else {
                try {
                  require("request")(URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=Off');
                } catch (e) { console.error(e); }
                console.log("request: " + URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=Off');
              }
            });
            
            
            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

            690

            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