Blockly – Web-Request

In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Im Artikel zeige ich, wie Du einen Web-Request für HTTP-Aufrufe (GET) verwenden kannst.

Über den Block „request“ kannst Du über ein Blockly Script HTTP GET Aufrufe durchführen. Im ersten Schritt ziehen wir uns dazu den Block „request“ auf unser Blockly-Script. Du findest den Block „request“ im Bereich Aktionen.

Um den Inhalt einer Webseite oder eine API per HTTP-GET abzurufen, erstellen wir uns zudem eine Variable mit dem Namen „result“. Die Variable erstellen wir über die Schaltfläche „Variable erstellen…“.

Den Name der Variable ändern wir nun im ersten Schritt auf „result“.

Im folgenden Beispiel habe ich nun einen Trigger erstellt, der bei einer Änderung des Datenpunkts „Test.Trigger“ anspringen soll. Hier müßt ihr euren entsprechenden Datenpunkt wählen, welche ihr als Auslöser verwenden möchtet. Alternativ könntet ihr auch einen Zeitplan-Auslöser einfügen, mit dem die Aktion zu einem festgelegten Zeitpunkt ausgeführt werden soll.

Im nächsten Schritt habe ich dann in den Rumpf des Triggers den Block „request“ gesetzt, welcher nun die übergebene URL ausführt und das Ergebnis in den Datenpunkt „TestObject“ schreibt. Der Trigger wird über den oben beschriebenen Test-Datenpunkt bei einer Veränderung ausgelöst.

Über den reqest-Block können auf diese Weise Informationen von Webseiten ausgelesen werden oder API-Aufrufe durchgeführt werden. Zudem können auch Geräte über Web-Requests gesteuert werden.

Ein Beispiele wäre hier z.B. Tasmota, bei dem über die Web-Commands eine Aktion auf dem Tasmota-Gerät ausgeführt werden kann. Auf der folgenden Webseite bekommst Du dazu noch mehr Informationen und die Beispiel-Aufrufe:

https://tasmota.github.io/docs/Commands/

Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

5 Gedanken zu „Blockly – Web-Request

  • 1. Mai 2020 um 20:13
    Permalink

    Hallo,
    danke für das interessante Tutorial.
    Leider wird im Log von Iobroker ein Fehler bei selbst erstellten Zertifikaten gelistet und das Skript bricht ab:
    {‚code‘:’DEPTH_ZERO_SELF_SIGNED_CERT‘}
    Gibt es eine Möglichkeit, den Fehler zu umgehen?
    Für Iobroker gibt es auch einen Parser, aber der kann auch mit selbst erstellten Zertifikaten nicht umgehen und meldet den gleichen Fehler.
    Hintergrund: ich möchte testen, ob ein eingerichteter Seafile-Server erreichbar ist.

    Schon jetzt danke für Deine Antwort.
    VG
    Uli

    Antwort
  • 20. Oktober 2020 um 1:41
    Permalink

    Hallo Matthias,

    ich sende über Deine Vorlage einen Web Request an meinen LIghmanager der eine Szene auslöst. Allerdings wird der Befehl bei mir doppelt gesendet, was zu Problemen führt. Woran kann das liegen? Gibt es eine Einstellung über die Befehlsdauer (Z.B. lange bzw. kurz senden)

    VG Dominik

    Antwort
  • 24. November 2020 um 20:56
    Permalink

    Hallo Matthias,

    danke für das blockly. Ist es möglich sich auch auf einer Webseite damit einzuloggen?
    Habe zwar die Seite hier: https://aquarea-smart.panasonic.com/
    Aber weiss nicht wie man das einloggen und den Button bedienen soll.

    Habe das schon mal mit CURL versucht aber da blicke ich nicht durch. Ebenso das Parsen von HTTPS webseiten ist mir nicht gelungen.

    Vielleicht wäre das mal einen Beitrag Wert.

    Antwort
      • 26. Februar 2021 um 11:39
        Permalink

        Hallo Matthias,

        ich habe es mit dem Link versucht, komme da baer nicht so wirklich zurecht.
        Das wesentliche Problem liegt im Parser, ich weder die SMA Seite verarbeiten, noch Shelly Seiten oder ähnliche Intranet Seiten. 192.168.43.50 hat bei mir ein Shelly und wenn ich das parsen will, kommen immer kryptische Zeichen.
        Externe Wetterseiten sind kein Problem. Ich habe im VIs mal nach Deiner Anleitung eine Webcam eingebunden und auch eine interne von meinem Wechselrichter. Das geht alles sehr gut, aber selbst hier kann ich nicht parsen auf diese iFrame HTML. Hab keine Idee was das sein könnte.
        Grüsse Uwe

        Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.