Skip to content
  • 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
  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.2k

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

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

Http request

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 4 Kommentatoren 675 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.
  • L Offline
    L Offline
    lt1014
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • Q Offline
      Q Offline
      quorle
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            lt1014
            schrieb am zuletzt editiert von
            #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 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

            762

            Online

            32.4k

            Benutzer

            81.4k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe