Webhook.Create HTTP-Request Curl Post-Array

VPN/Proxy erkannt

Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.

  • Hallo,

    ich möchte gerne mit Curl ein Action mit der dann aufzurufenden Url erstellen.

    Wenn ich Curl mit folgender URL (GET-Parameter) ausführe klappt es:

    http://<Shelly-IP>/rpc/Webhook.Create?id=0&cid=0&name=Action-Name&enable=true&event=switch.on&condition=null&repeat_period=0&urls=["https://meine-domain.de"]

    Nun würde ich die Parameter gerne mit Post übertragen (Json-Array), was leider nicht klappt:

    Kann mir bitte jemand sagen, warum das Beispiel lediglich einen Bad-Request ergibt?

  • Ich würde das gerne mal ausprobieren. Auf was für einem System / Shell lässt du das laufen - Linux/Bash? Yankee

    Nachtrag: Selber gefunden - das ist PHP.

    Um welchen Shelly geht es konkret? Als Forumsbereich hast du Gen1 - i3 genommen, als Label "SHELLY PLUS 1" ???

    Überwiegend PRO 3EM im Einsatz zur Haus und PV Überwachung

  • Ich habe testweise mal Shelly.GetStatus per POST abgeschickt - dann bekommt man auch Bad Request.

    Mein Fazit: es wird nur GET funktionieren.

    Überwiegend PRO 3EM im Einsatz zur Haus und PV Überwachung

  • PHP ist nicht meine Baustelle, daher hier die Beispiele direkt in curl (die optionalen Parameter habe ich weggelassen). Es gibt zwei gleichwertige Methoden, um RPCs via POST zu schicken:

    1. Du schickst einen POST an den /rpc Endpunkt. Dann musst du einen vollständigen JSON_RPC Frame mit id, method und params verwenden:

    curl http://192.168.178.253/rpc -d '{"id": 0, "method": "Webhook.Create", "params": {"event": "switch.on", "cid": 0, "name": "Action-Name", "enable": true, "urls": ["https://meine-domain.de"]}}'

    2. Du schickst einen POST direkt an den /rpc/Webhook.Create Endpunkt. Dann reichen die Request-spezifischen Parameter im Body:

    curl http://192.168.178.253/rpc/Webhook.Create -d '{"event": "switch.on", "cid": 0, "name": "Action-Name", "enable": true, "urls": ["https://meine-domain.de"]}'

    Dokumentiert ist das alles hier...

    2 Mal editiert, zuletzt von towiat (7. Dezember 2025 um 19:23) aus folgendem Grund: Code-Formatierung ist seltsam...

  • Dieses Thema enthält 6 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.