Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. HILFE!!! Variable anlegen und Befehl per URL absetzen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    HILFE!!! Variable anlegen und Befehl per URL absetzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • blauholsten
      blauholsten Developer last edited by

      Vielleicht so:

      createState('Licht', false, {
                                desc: "Licht schalten",
                                type: "boolean",
                                smartName: "Licht",
                                def: false });
      
      var request = require('request');
      var IDLicht = "javascript.0.Licht"; //oder eine andere Instanz in dem der State erzeugt wurde
      var URLwahr = "deine url bei true";
      var URLfalsch = "deine url bei false";
      
      on(IDLicht, function(obj){
          if(obj.newState.val) {
              request.get(URLwahr).on('error', function(error){
                  if(error){log(error, 'error');}
              });
          }
          else{
              request.get(URLfalsch).on('error', function(error){
                  if(error){log(error, 'error');}
              });
          }
      });
      
      

      Ich gehe einfach mal davon aus, das eine funktionierende JS Instanz läuft. Falls nicht mal bitte die Suche bemühen…

      1 Reply Last reply Reply Quote 0
      • M
        Marc1970 last edited by

        Vielen, vielen Dank, es funktioniert.

        Gruß Marc

        1 Reply Last reply Reply Quote 0
        • blauholsten
          blauholsten Developer last edited by

          @Marc1970:

          Vielen, vielen Dank, es funktioniert.

          Gruß Marc `
          Freut mich

          1 Reply Last reply Reply Quote 0
          • M
            Marc1970 last edited by

            Hallo, ich brauche nochmal Hilfe,

            basierend auf meine anfängliche Frage und dem dazugehörenden Script möchte ich gerne bei "true" mehrere URL's aufrufen (teilweise noch zeitverzögert um 2 Sekunden) und danach die Variable wieder auf "false" setzen, bei "false" soll dann nichts passieren.

            Gruß Marc

            1 Reply Last reply Reply Quote 0
            • blauholsten
              blauholsten Developer last edited by

              Heißt da du willst bei false gar nichts mehr setzen?

              Alles andere wird wohl eher nichts…..

              1 Reply Last reply Reply Quote 0
              • M
                Marc1970 last edited by

                Genau, bei "false" soll nichts gesetzt werden, dann aber nach Beendigung der Befehlskette für "true" die Variable wieder auf "false" gesetzt werden.

                Mehrere Befehle nacheinander absetzen geht wirklich nicht?

                Hintergrund wäre die Bedienung von meinem Fernseher, für alle Programme >9 müßte ich 2 - 3 URL-Befehle absetzen,

                wenn es nicht geht kann ich es ja noch über die CCU2 machen, da funktioniert es.

                Gruß Marc

                1 Reply Last reply Reply Quote 0
                • Jeeper.at
                  Jeeper.at last edited by

                  Schau dir mal den Szenen Adapter an.

                  Damit habe ich es auch gelöst.

                  Ein Tastendruck und schon schaltet sich der Radio aus, der SAT ein, der AV Receiver ein, der Beamer ein und die Leinwand fährt herab.

                  Jedes einzelne Aktion mit einer abgesetzter URL gesteuert.

                  Lg

                  Günther

                  1 Reply Last reply Reply Quote 0
                  • blauholsten
                    blauholsten Developer last edited by

                    createState('Licht', false, {
                                              desc: "Licht schalten",
                                              type: "boolean",
                                              smartName: "Licht",
                                              def: false });
                    
                    var request = require('request');
                    var IDLicht = "javascript.0.Licht"; //oder eine andere Instanz in dem der State erzeugt wurde
                    var URLeins = "deine url";
                    var URLzwei = "deine url";
                    var URLdrei = "deine url";
                    
                    on(IDLicht, function(obj){
                        if(obj.newState.val) {
                            request.get(URLeins).on('error', function(error){
                                if(error){log(error, 'error');}
                            });
                            request.get(URLzwei).on('error', function(error){
                                if(error){log(error, 'error');}
                             });
                             request.get(URLdrei).on('error', function(error){
                                if(error){log(error, 'error');}
                             });
                             setState (IDLicht, false);
                        }
                    });
                    
                    

                    Müsste so gehen. Falls du noch eine Verzögerung brauchst, melde dich

                    1 Reply Last reply Reply Quote 0
                    • M
                      Marc1970 last edited by

                      Hallo Blauholsten,

                      vielen Dank für Deine Hilfe das Script funktioniert!

                      Es wäre schön, wenn du mir zeigen könntest wie ich jetzt da noch eine Verzögerung (ca. 2 Sekunden) reinbekomme,

                      vielen Dank

                      Gruß Marc

                      1 Reply Last reply Reply Quote 0
                      • blauholsten
                        blauholsten Developer last edited by

                        @Marc1970:

                        Hallo Blauholsten,

                        vielen Dank für Deine Hilfe das Script funktioniert!

                        Es wäre schön, wenn du mir zeigen könntest wie ich jetzt da noch eine Verzögerung (ca. 2 Sekunden) reinbekomme,

                        vielen Dank

                        Gruß Marc `

                        so vielleicht….2, 4, 6 sekunden

                        createState('Licht', false, {
                                                  desc: "Licht schalten",
                                                  type: "boolean",
                                                  smartName: "Licht",
                                                  def: false });
                        
                        var request = require('request');
                        var IDLicht = "javascript.0.Licht"; //oder eine andere Instanz in dem der State erzeugt wurde
                        var URLeins = "deine url";
                        var URLzwei = "deine url";
                        var URLdrei = "deine url";
                        
                        on(IDLicht, function(obj){
                            if(obj.newState.val) {
                                setTimeout(function(){request.get(URLeins).on('error', function(error){
                                    if(error){log(error, 'error');}
                                });
                                }, 2000);
                                setTimeout(function(){request.get(URLzwei).on('error', function(error){
                                    if(error){log(error, 'error');}
                                });
                                }, 4000);
                                setTimeout(function(){request.get(URLdrei).on('error', function(error){
                                    if(error){log(error, 'error');}
                                });
                                }, 6000);
                                 setState (IDLicht, false);
                            }
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • M
                          Marc1970 last edited by

                          Vielen Dank, es klappt.

                          Gruß Marc

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          469
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          3
                          12
                          1722
                          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