Fügen Sie eine zusätzliche Zeile hinzu, um zu sehen, was die komplette Zeichenfolge $ch ist, und verwenden Sie sie in einer Telnet-Sitzung, um zu sehen, ob Ihre HTTP-Anfrage in Ordnung ist.
Und wenn nicht, fragen Sie dort, wo Sie den Code gefunden haben.
Vielleicht können Sie den Link posten, wo Sie diesen Code in diesem Forum gefunden haben. Das wiederum gibt etwas mehr Kontext.
Mir fallen mehrere Dinge am Code auf, z. B. Sie verwenden z.B. keinen Webhook, und die Zeichenfolge „Aktion“ scheint in Ihrer URL statt „Turn-on“ zu sein, aber das muss ich herausfinden. Wenn Sie den Code nicht selbst debuggen wollen, hört es auch für mich auf. Ich werde das wirklich nicht für Sie tun.
Nicht nur die URL muss korrekt sein, sondern auch die gesamte POST-Anfrage.
Hmm, hatte das Beispiel irgendwann mal kopiert und bin jetzt zum testen gekommen. Habe keine Idee wo ich das tatsächlich mal gefunden habe.
Habe das ganze jetzt mit Webhook und cURL umgesetzt, wofür ich auch keinen API-Key benötige. cURL nutze ich um mal eine Auth einzufügen, die ja nicht gerade in der URL beinhaltet sein soll
Nun stellt sich mir noch die Frage, ob mit Webhook auch der Device-Status (on/off) abgefragt werden kann.
Ja, war mal ein kurzes reinschnuppern werde mich bei Gelegenheit mal intensiver mit der API beschäftigen. @Rmb Vielen Dank für dein Feedback.
Zu den Webhooks… Gibt es hier auch eine Möglichkeit damit gleichzeitig den Device Status (on/off) zurück zu erhalten?
Ich könnte alternativ mit dem Webhook ein Flow anstoßen, mit dem ich mir mit einem HTTP Request den Status abrufen könnte… Wäre jedoch schon bei 10 Devices ein Ressourcen intensives unterfangen (doppelt gemoppelt).
Mit einem Webhook starten Sie einen Flow, aber soweit ich weiß, können Sie mit einem Webhook keine Informationen zurückgeben. Sie könnten dies dann von Ihrem Flow mit einer HTTP-Anfrage an Ihren Server tun.
Ich weiß nicht genau, was Ihr ultimatives Ziel ist, aber wenn Sie auch Ihr Haus auf Ihrem Server steuern wollen, sollten Sie sich vielleicht MQTT ansehen. Dafür gibt es verschiedene Homey Apps.
Nun, ich habe eine umfangreiche Anwendung (PHP, auf Hybrid Global/Local webserver) in die ich Homey als IoT-Schnittstelle integrieren möchte. Hier möchte ich ua. registrierten User mit entsprechender Berechtigung die Möglichkeit geben, Device Status abzufragen und diese auch zu schalten. Hier kommt insbesondere das beachtliche und geniale Modul Advanced-Flow ins spiel, was mir tatsächlich viel (Script-) Arbeit erspart.
Idealerweise möchte ich auf so wenig Homey-Apps zurückgreifen wie möglich, obwohl MQTT sicherlich die richtige Wahl wäre…
Nun, ein MQTT-Client selbst läuft mit PHP-MQTT (Konsole). Für die Herausforderung, das zB.über Websocket an eine Variable (PHP) zu übergeben, habe ich noch keine praktikable Lösung finden können? Evtl. liest ein Linux-Guru mit, der hier einen simplen Workaround parat hat?
Im Moment setze ich wieder auf die Webhook, funktioniert auch recht flott.
Dein Hinweis auf den Anfangs genannten Curl war zwischenzeitlich obsolet: