Aus Szenario ein WebHook auslösen

  • Im möchte mit einem EM ein Webhook auslösen, wenn Leistung unter einen Wert fällt. Dies ist ja nur per Szene möglich. Diese habe ich soweit. Als Aktion möchte ich aber einen (lokalen) Wenhook auslösen. Sehe ich das richtig: Das geht mit szene so NICHT ???
    Ich habe gesehen, dass ich bestehende SHELLY ON / OFF schalten kann...

    Ich habe gesehen, dass ich ein e-Mail auslösen kann...
    Aber kein Webhook.


    Fragen:
    1) Sehe ich das richtig?

    2) Ist da eine Erweiterung vorgesehen?

    3) Wie löst IHR das, Tipps / Beispiele


    Vielen Dank

  • Sorry, aber was ist ein Webhook?

  • Mit Webhook meine ich eine "Übergabe" an ein anderes System, z.B. ein smart home System.
    Wenn der EM feststellt, dass Strom fliesst, soll er dies "melden".
    Diese Meldung, oder eben Webhook hat folgendes Format:

    http://192.168.1.225/addons/red/shelly?m1=on

    In meinem node red wird auf shelly "gehört". Wenn dort die Variable m1 auftaucht, werte ich sie aus und reagiere je nach Inhalt ( on oder eben off).

    Passt diese Erklärung so ?

  • Ja, danke.


    Dass geht über die Actions zumindest für die Schaltzustände und teilweise Schaltereingänge.;)


    Leider habe ich selbst keinen EM. Schau mal welche Actions der hat.

  • Diesen Umweg könntest Du z.B. verwenden.

    Die Szene schaltet einen Shelly und der löst dann per "Action" den Webhook aus.

    coole Idee, danke das klappt tatsächlich. Nun schaltet die Scene einen SHELLY (und zwar glecih den EM selbst) und dieser löst dann per URL Action den WebHook aus.

    Funktioniert !

    Schade, dass in einer Scene nicht direkt eine URL Aktion ausgelöst werden kann.

  • Kann ja noch kommen, wer weiß. ;):D

  • Wie Stefan schon schreibt geht das per Action oder per MQTT/http Abfrage nach NodeRed wo du dann den Payload auswerten kannst.....

    ...danke, den HTTP GET auf node red klappt, das habe ich mit postman probiert / belegt.
    Die Frage geht darum,
    WIE ich aus einer SCZENE einen HTTP GET absetzen kann, oder wie es in den Shelly heisst: eine Aktion mit URL.

    Habe aber einen funktionierenden Workarround erhalten, wo ich nun zuerst ein Relay anspreche und dann dies die URL aufruft.

    Wenn Du aber einen Tipp für die Scene hast, ich denke, das müssste doch auch irgendwie gehen?

  • Dafür müsste die Shelly-Cloud aber auf dein lokales Netzwerk zugreifen können und das birgt enorme Sicherheitsrisiken.. Daher kann ich mir ehrlich gesagt nicht vorstellen, das so etwas je möglich sein wird..

    ...Hmmm, aber ein delay anziehen ist ja aus der Szene auch möglich, und der shelly ist in meinem lan. Da hat die Szene aus der cloud schon zugriff. Da wäre eine Erweiterung um ein http get nichts neues.

  • nen, die Szene aus der Cloud hat keinen direkten Zugriff in dein LAN..


    Es ist der Shelly, der die Verbindung aufbaut, und anschließend in der Cloud-Datenbank nachschaut, ob er etwas tun soll...

    Wenn du z.B. von unterwegs einen Shelly1 schaltest, dann änderst du damit einen Wert in der Cloud-Datenbank für den Shelly einen Wert von 0 auf 1.. Der Shelly guckt in kurzen Abständen in eben diese Datenbank und schaltet dann das Relais an oder aus..

    Ob das nun über Websockets oder Polling in kurzen Abständen funktioniert kann ich dir auch nicht sagen, könnte man aber mittels Wireshark herausfinden..

    Deshalb ist es auch völlig ausreichend, wenn man in einer Firewall den Port 443 von innen nach außen öffnet. Wäre der Zugriff anders herum, müsstest du gezwungenermaßen ein Portforwarding im Router einrichten, und das hast du sicherlich nicht gemacht, oder?

    Für dein Nicht-Schelly-Gerät gibt es aber in der Datenbank keinen Eintrag und es hat auch keinen Mechanismus, in die DB zu schauen und anhand der dort vorgefundenen Werte etwas zu tun.. Deshalb geht es eben auch nicht.

  • nen, die Szene aus der Cloud hat keinen direkten Zugriff in dein LAN...... Der Shelly guckt in kurzen Abständen in eben diese Datenbank und schaltet dann das Relais an oder aus..

    ........Für dein Nicht-Schelly-Gerät gibt es aber in der Datenbank keinen Eintrag und es hat auch keinen Mechanismus, in die DB zu schauen und anhand der dort vorgefundenen Werte etwas zu tun.. Deshalb geht es eben auch nicht.

    ....Super klare und absolut einleuchtende Erklärung.

    Herzlichen Dank, das hilft mir es zu verstehen.
    Sollte aus der Szene ein HTTP Request möglich sein, so müsste die Shelly - Cloud dies aktiv tun, aber wenn es "nur" eine DB ist, wo der "eigene Shelly" ab und zu "nachschaut", so ist dies natürlich eine andere Funktion.

    Danke, danke, danke.

    Werde es nun mit dem Workarround machen:
    Szene schaltet Relay an anderem Shelly ein,
    anderer Shelly schaltet per Action die URL im eigenen LAN.

    SUPER FORUM, macht Freude!