Zeitfenster bei Jalousien programmieren

Ok …Gib mir Zeit bis zum Wochenende… dann bekommst du da Script :slight_smile:
Cu Günni

Da besteht überhaupt keine Eile. Ich freue mich.

Finde ich auch sehr interessant, aber mit dieser Art von Programmierung und Scriptaufrufen kenne ich mich leider nicht aus.
Kannst Du das später etwas detaillierter erklären? Evtl. als eigenes Thema mit Workaround ?! :wink:

Klar doch …Wird selbsterklärend werden :slight_smile:

Oh ja. Super Vorschlag! Dann lernen wir eben noch Php. Wollte ich ohnehin unlängst.

1 „Gefällt mir“

Hi … hier mal das Script:

http://mcmaiers.de/homee/community/delay.txt

Es ist mit Absicht sehr einfach geschieben damit es auch ein nicht PHPler lesen kann :slight_smile:
Einfach delay.php datei erstellen mit dem Inhalt der TXT Datei :slight_smile:

Als Webhook müsste man sowas angeben:

delay.php?name=Garage&min=2&max=5

Bei Fragen melden :slight_smile:
Grüße
Günni

Schon Wochenende? :smiley:

Was ich noch nicht ganz verstanden habe: Wie setzt sich der Name des Webhook zusammen? Ist “Garage” der Name des WH?
Oder könnte ich genau mit deinem Beispiel “delay.php?name=Garage&min=2&max=5” schon loslegen und den dann als Text so in die Aktion des HG als URL einfügen?

Ne das ist der Name des homeegramms :slight_smile:

In der App beim homeegramm heisst der Parameter “event”

Ich werde mir das noch live ansehen. In der Theorie habe ich es noch nicht ganz kapiert. ;(

Hi … ich hätte das so gedacht:

  1. Du brauchst ein Homeegramm mit dem Namen “Jalousien-Runter”
    Das kann man per Webhook aufrufen und fährt die Jalousien runter

  2. Homeegramm bauen mit dem Namen “Jalousien Delay” oder so
    Das soll jeden Tag um 19 Uhr laufen und nur einen Webhook aufrufen.

Dieser Webhook sollte so aussehen: delay.php?name=Jalousien-Runter&min=0&max=1800

name = Der Name vom Homeegramm in Schritt 1
min = 0
max = 1800
D.h. von 0 bis 30 min ist der Delay

Das scriot wird dann irgednwann zw. 19:00 und 19:30 Uhr das Homeegramm “Jalousien-Runter” aufrufen und fertig :slight_smile:

1 „Gefällt mir“

Jetzt habe ich auch theoretisch verstanden, was du meinst. :slight_smile:

Bin gespannt auf dein “großes” Projekt.

So ganz mag es noch nicht funktionieren. Ich vermute als Ursache den Pfad, an dem die PHP abgelegt ist. Habe derzeit IP/pfad/delay.php eingetragen.

Und was erscheint wenn du die url im Browser aufrufst?

Ich glaube erschienen ist nichts. Passiert auf jeden Fall nichts.

Ich glaube ich suche mir nach den Feiertagen mal eine einfache Messagebox / Anzeige raus und teste das Aufrufen des php.

Frohe Weihnachten,

ich habe den Script auf meiner NAS kopiert.

Nach dem ich die fehlenden Werte eingetragen habe, klappt es super.

Ich glaube ich muss mich mal intensiver mit PHP beschäftigen.

1 „Gefällt mir“

So, wieder etwas Zeit zum Probieren gehabt:

Das Skript kann nun abgespielt werden, allerdings passiert noch kein “Zufall”.

Ich habe dazu das HG1 erzeugt, dass beim Abspielen den Webhook verschickt.
Der Webhook lautet http://url/delay.php?name=Zufall&min=0&max=120, wobei delay genau das File ist und Zufall sowohl der Webhook-Trigger wie auch der HG-Name des HG2.
Methode = Get, Content type = optional, body = optional. Das HG sendet außerdem eine Push “Delay Start”, sodass ich weiß, dass es wirklich aufgerufen wird.

HG2 Zufall: Wenn Webhook “Zufall” ausgeführt wird, dann sende Push-Notification.

Wenn ich den durch das Script erzeugten String direkt in den Browser einfüge, kommt auch die Push-Notification des HG2, allerdings sofort.

Kannst du mir behilflich sein, den Fehler zu identifizieren?

Hi, wenn du es im Browser aufrufst …Welche Ausgabe siehst du dann ?

Welche PHP Version verwendest du ?

Hi!
Im Browser steht ‘ok’. Die PHP Version ist 5.6.21.

Hmm das ist seltsam.
das Ok kommt als Antwort von dem Homeegramm.
Das PHP script ruft dieses auf und nimmt eben genau diesen Rückgabe wert und gibt dem im Browser aus.
In dem Fall: OK

Befindet sich die Zeile hier in deinem PHP Script ?

echo 'Wartezeit: ‘.$delay.’ Sekunden. Ergebnis: '.$result;

Ja, die Zeile ist im Script und auch nicht auskommentiert.
Wie gesagt - ich bekomme beim Direktausführen auch die Pushnotification, d.h. das Script erreicht den Homee auch, nur eben ohne den “Zufall”.

Update:
Wenn ich den Webhook, der abgespielt werden soll, direkt in den Browser eingebe (also https://XXXXX/delay.php?name=YYYYYy&min=0&max=120 kommt:

Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /XXXXX/delay.php on line 46

Warning: file_get_contents(https://homeeID.hom.ee/api/v2/webhook_trigger?webhooks_key=HOMEKEY&event=Zufall): failed to open stream: no suitable wrapper could be found in /XXXXX/delay.php on line 46
Wartezeit: 27 Sekunden. Ergebnis: