Zeitfenster bei Jalousien programmieren

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:

Hallo @mcmaiers,

finde Dein beschriebenes Projekt echt spitze. Möchte mich die nächsten Tage mal an die Umsetztung machen. Da ich ein Raspberry/PHP Greenhorn bin, kann das aber ein bisschen dauern. Homekit habe ich dank Forenhilfe aber auch schon zum Laufen bekommen…

Aktuell lasse ich bei Sonnenuntergang per IFTT ein Homeegramm aktivieren, das dann per weiterem Homeegramm die Lichter einschaltet und zeitversetzt (15 Min später) die Rolladen runterfährt. Da IFTT teileweise sehr zeitversetzt auslöst, meine Überlegung zu deiner Anleitung zu Schritt 2 - ohne IFTT:

  1. siehe oben.
  2. Das Homeegramm mit dem Namen “Jalousien Delay” wird statt per fixen Uhrzeit mittels weiterer PHP Datei aktiviert/abgespielt. Daarin wird der lokale Sonnenuntergang geprüft und bei Eintritt ein Webhook ausgelöst, welches “Jalousien Delay” aktiviert/abspielt. Der sonstige Ablauf wie bei Dir.

Frage an den Profi: Ist mein Gedankengang so überhaupt möglich? Braucht man dafür zwei PHP Dateien oder geht das auch in einer? Danke schon einmal vorab!

Grüße, Sebastian

Hi Sebastian,
du willst quasi ein PHP Script welches den lokalen Sonnenuntergang erkennt und dann jeden Tag in variablen Abständen deine Jalousien aktiviert oder ?

Cu Günni

Korrekt :slight_smile:

Wäre m.E. die logische Kombination aus bisher fehlender Sonnenuntergangs- und Zeitversatz-Funktion. Und würde auf Deiner Idee aufbauen. Die passenden Abfragen für lokalen Sonnenuntergang gibts für PHP im Internet. Bei mir scheitert es “nur” an der Programmierung. Zudem hab ich keine Ahnung, ob das auch so realisierbar ist oder ob es eine einfachere Lösung gibt.

Da bin ich auf euch Profis angewiesen :sunglasses:

Guten Rutsch, Grüße

Ich habe so ein HG mit Sonnenuntergang über IFTTT seid 110 Tagen am laufen und ich bin total zufrieden damit.
Die “Schaltzeiten” variieren jeden Tag zwischen 1-5 Minuten, obwohl sich der Sonnenuntergang ja nur um ca. 1 Minute täglich ändert. Ich finde dies absolut ausreichend als Zeitversatz in Anbetracht des minimalen Aufwands und der eigentlich somit nahezu direkten Anbindung an Homee.
Die PHP-Lösung ist top und hat sicherlich noch reichlich Reserven für andere Dinge, aber sie ist für solche älteren Leute für mich leider nicht mehr (be)greifbar :wink:

Trotzdem lese ich diesen Thread jedes Mal, um zu sehen, was ihr noch so anstellt :joy:

1 „Gefällt mir“

Ich habe seit letzter Woche einen Raspberry am Laufen und dank toller Anleitungen im Internet und vor allem hier im Forum die Siri Homebridge schon umgesetzt. Als nächstes steht PHP an. Hoffe das klappt auch mit ein wenig Unterstützung. Aber Du hast schon Recht, die Thematik ist für den Normalo ziemlich komplex.

Daher läuft bei mir auch seit geraumer Zeit IFTT für den Sonnenuntergang. Und auch ich bin sehr zufrieden damit. Dennoch hatte ich bereits zwei Aussetzer, bei denen kein Webhook ankam.

Sollte es für PHP keine “einfache” Möglichkeit geben, beschränke ich mich auf weiterhin auf IFTT plus Verzögerungs-Skript :grinning:

1 „Gefällt mir“

Hallo @mcmaiers,

anscheinend ist dein Server down.
Könntest du mir nochmals das delay.php Script zukommen lassen bzw. online stellen.
Versuche mich gerade an PHP :blush:

Danke und Gruß
Sebastian

Servus … Mom mach ich gleich wenn ich heim komme :slight_smile:

1 „Gefällt mir“