Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Http request

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Http request

Http request

Scheduled Pinned Locked Moved Skripten / Logik
5 Posts 4 Posters 675 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    lt1014
    wrote on last edited by
    #1

    Hallo mein Name ist Willi, bin Anfänger und ich habe ein Problem.

    Ich programmiere normalerweise in C. Perl, Java und Blockly sind nicht so meine Welt.

    Ich habe schon seit langem ein Eigenbau-Interface für Rollos mit einem ESP8266 in Betrieb das so mit Fhem super läuft.

    Jetzt möchte ich das in iobroker umsetzen.

    In Fhem kann ich den Rollo z.B. mit {velux("0Z")} schließen.

    Ich habe eine Perl Funktion in 99_myUtils.pm erstellt, die das macht:

    sub velux($)

    {

    my ($cmd) = @_;

    my $s1;

    $s1 = join "", "http://user:passwort%5C@192.168.178.55/msg?msg=", $cmd;

    GetFileFromURL($s1);

    }

    Auch durch Eingabe im Browser von:

    http://user:passwort@192.168.178.55/msg?msg=0Z

    funktioniert das einwandfrei.

    Jetzt habe ich in iobroker ein Blockly script erzeugt.

    Hier soll testweise auf eine Aktualisierung der Fhem-Variable "testvar" reagiert werden. Was auch passiert.

    Benutzt habe ich die "Aktion" "request" und die URL "http://user:passwort@192.168.178.55/msg?msg=0Z" eingetragen.

    Hier der erzeugte code:

    on({id: 'fhem.0.testvar.state', change: "any"}, function (obj) {

    var value = obj.state.val;

    var oldValue = obj.oldState.val;

    try {

    require("request")('http://user:passwort@192.168.178.55/msg?msg=0Z').on("error", function (e) {console.error(e);});

    } catch (e) { console.error(e); }

    });

    Aber nichts geschieht.

    Kann mir bitte jemand einen Tipp geben, woran das liegt. Ich probiere nun schon seit Tagen, aber ohne Erfolg.

    Ich dachte der Eintrag bei "URL" in "request" führt zum gleiche Ergebnis wie in Fhem oder im Browser, aber so ist das wohl nicht.

    Hier noch ein paar Daten:

    iobroker läuft auf Raspberry 3B

    Versionen:

    user: 3.4.7

    fhem: 0.5.0

    node: 8.11.1

    npm: 5.8.0

    Danke und viele Grüße

    Willi

    1 Reply Last reply
    0
    • Q Offline
      Q Offline
      quorle
      wrote on last edited by
      #2

      Ich nutze zum Beispiel eine NodeMCU mkt esp8266 und ESPEasy drauf. Was dein esp ausgeben soll ( Relais ansteuern ) kann man einstellen. Und verbunden ist er mit dem Broker über Mqtt. Dann muss man nur noch den request senden.

      Gesendet von iPhone mit Tapatalk

      1 Reply Last reply
      0
      • arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        wrote on last edited by
        #3

        sagemal da du in C Programmierst.. schon mal was von Formatierung gehört… da gibbet ein Tag für damit der Code besser lesbar ist.... :lol: :lol: :lol:

        hast du auch in den Java instanz den "request" als Erweiterung angegeben

        zigbee hab ich, zwave auch, nuc's genauso und HA auch

        1 Reply Last reply
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          wrote on last edited by
          #4

          @lt1014:

          Ich dachte der Eintrag bei "URL" in "request" führt zum gleiche Ergebnis wie in Fhem oder im Browser, aber so ist das wohl nicht. `

          Ich sehe zwei Möglichkeiten:

          1. Die JavaScript-Instanz oder das Skript selbst läuft nicht.

          2. Irgendwas stimmt mit dem Skript nicht

          1. kannst du leicht überprüfen. Alles grün? Instanz und Skript?

          2. Hast du mal in den Log geschaut ob da was steht? Kannst du mit einem Debug-Baustein überprüfen ob der Trigger überhaupt ausgeführt wird?

          @arteck:

          hast du auch in den Java instanz den "request" als Erweiterung angegeben `
          Ist unnötig, request ist eines der Module, das standardmäßig geladen ist.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Reply Last reply
          0
          • L Offline
            L Offline
            lt1014
            wrote on last edited by
            #5

            ESPEasy kann ich nicht verwenden. Es geht nicht nur um ein/aus schalten. Der ESP steuert die Rollos über ein proprietäres serielles Protokoll an.

            Ja, alles grün.

            Der Trigger wird ausgeführt. Ich hab testweise noch einen Variable in Fhem (läuft auf einem anderen Raspberry) ändern lassen, das hat funktioniert.

            Auch habe ich mal in "request" die URL vom PC zum "Packet Sender" eingegeben, dort ist es dann auch angekommen:

            Time: 7:48:56.673
            TO: You:1313
            From: 192.168.178.65:38246
            Method: TCP
            Error:
            
            ASCII:
            GET /msg?msg=S HTTP/1.1\r\nhost: 192.168.178.37:1313\r\nauthorization: 
            Basic YWRtaW46MTcwNzYx\r\nConnection: close\r\n\r\n
            
            HEX:
            47 45 54 20 2F 6D 73 67 3F 6D 73 67 3D 53 20 48 54 54 50 2F 31 2E 31 0D 0A 68 6F 73 74 3A 20 31 39 32 2E 31 36 38 2E 31 37 38 2E 33 37 3A 31 33
            31 33 0D 0A 61 75 74 68 6F 72 69 7A 61 74 69 6F 6E 3A 20 42 61 73 69 63
            20 59 57 52 74 61 57 34 36 4D 54 63 77 4E 7A 59 78 0D 0A 43 6F 6E 6E 65
            63 74 69 6F 6E 3A 20 63 6C 6F 73 65 0D 0A 0D 0A
            
            

            hier zum Vergleich die "Umleitung" wie sie von Fhem kommt und funktioniert:

            Time: 7:43:07.366
            TO: You:1313
            From: 192.168.178.25:59312
            Method: TCP
            Error:
            
            ASCII:
            GET /msg?msg=S HTTP/1.0\r\nHost: 192.168.178.37:1313\r\nUser-Agent: 
            fhem\r\nAuthorization: Basic YWRtaW46MTcwNzYx\r\n\r\n
            
            HEX:
            47 45 54 20 2F 6D 73 67 3F 6D 73 67 3D 53 20 48 54 54 50 2F 31 2E 30 0D 0A 48 6F 73 74 3A 20 31 39 32 2E 31 36 38 2E 31 37 38 2E 33 37 3A 31 33
            31 33 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A 20 66 68 65 6D 0D 0A 41 75
            74 68 6F 72 69 7A 61 74 69 6F 6E 3A 20 42 61 73 69 63 20 59 57 52 74 61
            57 34 36 4D 54 63 77 4E 7A 59 78 0D 0A 0D 0A
            
            

            Kann es sein, weil im ersten Fall "Connection: close" mitgesendet wird?

            Wie kann man das verhindern?

            Gruß

            Willi

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            265

            Online

            32.4k

            Users

            81.3k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe