Shelly soll URL abfragen

  • Irgend wie finde ich meine passende Frage im Forum/Google nicht. Kommt aber wahrscheinlich daher, das ich nicht die passenden Fach-Ausdrücke kenne und mit API, request, post usw. auch noch nicht viel anfangen kann..
    Ich habe viel gelesen, wie ich einen Shelly per HTTP steuern kann. Was ich aber suche ist, dass der Shelly selber eine URL Adresse aufsucht und von dort Werte auslesen kann (z. Bsp. aus einem TXT-File). Entweder direkt Werte/Zahlen oder auch 0 oder 1 für aus oder ein.

    Da der Shelly so viel kann, kann er das bestimmt aus :-)

    Es geht einfach darum, einen Shelly plug ein- und auszuschalten wenn eine bestimmte URL eine 1 oder 0 im Textfile hat.

    LG

    Mike

    10 x Plus Plug S v2

  • Wer oder was soll denn die Antwort auf die HTTP Anfrage, auch request genannt, des Shelly Plug liefern?

    Handelt es sich um einen der ersten (ohne Plus) oder der zweiten Generation (mit Plus)?

    Die Shelly reagieren normalerweise auf eine HTTP Anfrage, welche eher ein Auftrag ist.

    Ich empfehle dir das Lesen der reichhaltigen Dokumentation hier: https://shelly-api-docs.shelly.cloud/

    Dort kannst du dich zu deinem Shelly durcharbeiten.

    Wenn du einen Plus Plug S hast, kann man den per Skript zu fast allem bewegen.

    Zu deinen Vorstellungen, die auf Grund deiner Formulierungen zu vermuten sind:

    Kein HTTP Client kann einen Uniform Ressource Locator (URL) "aufsuchen" und schon gar nicht "von dort auslesen". Er kann nur eine Reaktion eines Servers anfordern.

    Vielleicht kannst du hier mal ein konkretes Beispiel anführen, damit klar wird, wie du dir das, was du willst, vorstellst.

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.

  • Beispiel werde ich liefern. Dauert nur noch etwas. Wie schon erwähnt, die Fachbegriffe sind mir noch nicht so geläufig.

    Danke schon mal für die weiterführenden Hinweiße.

    10 x Plus Plug S v2

  • Hi Mike,

    mit dem Scripting kannst du HTTP Requests machen:

    z. B.

    Code
      Shelly.call(
        "http.get",
        { url: 'http://192.168.1.30/', timeout: 100 },
        function (response, error_code, error_message) {
            print(error_code);
            return;
          }
      );

    in der Console sieht man dann u. a.

    Code
    shelly_http.cpp:184 0x3ffdb418 HTTP GET http://192.168.1.30/ (SSL CA none)
    13:07:27
    shelly_http.cpp:71 0x3ffdb418 HTTP got 200 OK and 318 byte response
    13:07:27

    der Request wurde abgesetzt und hat 318 Bytes erhalten.

    Wie jetzt das response Objekt zerlegt wird, habe ich auf die Schnelle nicht gefunden.

    Aber im Prinzip geht es.

    HTH

  • Man Dennis, Augen auf, in den Snippets ist ja sogar ein Beispiel

    Code
    Shelly.call(
      "HTTP.GET", {
        "url": "https://pastebin.com/raw/8mtM0STu",
      },
      function(result) {
        print("Hello ", result.body);
      }
    );
  • Dieses Thema enthält 16 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.