Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Http Befehl in 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

    Http Befehl in script

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

      Hallo,

      bitte nicht erschlagen, für Euch ist es vielleicht banal, aber für mich erst einmal alles sehr schwer.

      Ich würde gerne einen http: Befehl (für meine Squeezebox) in ein Skript einbauen, damit ich dieses dann in eine Szene packen kann.

      Allerdings weiß ich nicht, was um den Link herumgebaut werden muss, damit es ein gültiger Befehl im Script ist.

      Könnt Ihr mir dabei helfen?

      MfG: Enrico

      1 Reply Last reply Reply Quote 0
      • S
        Solear last edited by

        Ich gehe jetzt von Raspberry aus:

        Du könntest über exec den curl Befehl aufrufen.

        exec ist im Prinzip beim Raspi die Kommandozeile. Und Curl ist "see url".

        Also könntest du mit einem Script auf einen Aktor lauschen und dann eine Webseite aufrufen (hier über die Klingel, bei dir zu ersetzen mit irgendwas:

        var idKlingel = "hm-rpc.0.MEQ004xxxx.1.PRESS_SHORT"/*Klingelsensor.PRESS_SHORT*/;   // Homematic Klingelsensor
        
        on({id: idKlingel, val: true}, function() {         // on lauscht auf Klingelsignal   
                exec ("curl 'DEINEWEBSEITE'");                  // Ruft die Webseite auf
        });
        
        }
        

        …Ohne Gewähr...bin selbst blutiger Anfänger!

        Ob der curl Befehl so richtig ist bin ich nicht sicher, ggf. mit Attributen versehen (gib in der Commandozeile von Raspbian "curl --help" ein.

        1 Reply Last reply Reply Quote 0
        • Thisoft
          Thisoft last edited by

          Ich habs so gemacht:

          var url = "http://192.168.xxx.xxx/?onewire:9:0:1:2:3:";
          var req = require('request');
          req(url, function(error, response, body) {
              if (body){
              //log("Body OK","warn");
              setState("javascript.0.Heizung.T0",body.split("T")[1].substr(2,5),true);
              setState("javascript.0.Heizung.T1",body.split("T")[2].substr(2,5),true);
              setState("javascript.0.Heizung.T2",body.split("T")[3].substr(2,5),true);
              setState("javascript.0.Heizung.T3",body.split("T")[4].substr(2,5),true);
              }
              else
              {log("Body fehlerhaft","warn");}
          });
          

          eigentlich ganz simpel…

          Gruß Thilo

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            Vielleicht war Solear's Antwort doch zu kompliziert :lol: . Es geht aus dem Skript so:

            var request = require('request');
            request("http://192.168.xxx.xxx/?onewire:9:0:1:2:3:");
            
            

            man konnte aber sogar so schreiben:

            require('request')("http://192.168.xxx.xxx/?onewire:9:0:1:2:3:");
            
            
            1 Reply Last reply Reply Quote 0
            • R
              riconr1 last edited by

              Danke Euch.

              Nein keinen Raspi. Habe ich zwar auch, allerdings kann man die Befehle über die Lösung von Bluefox auch direkt an die Squeezebox (bei mir auf FireTV) senden. Funktioniert auf Anhieb 😄 🙂

              Danke Danke Danke

              Gruß Enrico

              1 Reply Last reply Reply Quote 0
              • R
                riconr1 last edited by

                Wie kann ich in dem Skript jetzt noch eine Verzögerung von 30 sek einbauen?

                Sowohl Receiver als auch Squeezebox benötige etwas Zeit zum Hochfahren, wenn die Szene Radio an gestartet wird. Gleichzeitig soll aber der Radiosender auch schnell gewechselt werden, wenn das System schon läuft. Daher benötige ich den Befehl zwei mal. Einmal sofort und ein zweites mal ca. 30 Sekunden später.

                Wenn der Befehl schon ausgeführt wurde (weil das System schon an war) und dieser jetzt ein zweites mal ausgeführt wurde hat es keine Auswirkung, dass habe ich schon getestet.

                require('request')("http://192.xxx.xxx.x:xxxxx/status.html?p0=playlist&p1=play&p2=http://opml.radiotime.com/Tune.ashx?id=s84486&formats=aac,ogg,mp3&partnerId=16&serial=e913d265b32d57e1b62fd7c5dacf1fc6&filter=s%20&player=xxxxxxxxx");
                
                

                Gruß Enrico

                1 Reply Last reply Reply Quote 0
                • S
                  Solear last edited by

                  Auch auf die Gefahr hin, wieder eine umständliche Lösung zu liefern:

                  function warten() {                      // Warteschleife, 6 Sekunden
                      setTimeout(startscript, 6000);    
                  }
                  
                  function startscript() {                       // Nach der Warteschleife, tu was
                      tu dies und das;  
                  }
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • K
                    klassisch Most Active last edited by

                    @Thisoft:

                    Ich habs so gemacht: `
                    Vielen Dank, Die Auswertung der response hat mir heute gehofen.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    755
                    Online

                    31.7k
                    Users

                    79.9k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    3751
                    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