Dämmerungsschalter ohne Fotozelle

  • 14.06.2016: Anpassungen zum direkten Ausführen des PHP Skript aus DoorPi, Danke an sothoku (siehe Post 35)
    15.06.2016: Dito


    Hallo zusammen.


    Ich kann / möchte keine Fotozelle einsetzen, um die Beleuchtung meiner Sprechstelle ein- bzw. auszuschalten. In PHP gibt es eine Funktion, welche den Zeitpunkt von Sonnenauf- bzw. Untergang berechnet. Ich habe dieses PHP Script erstellt:


    Das PHP Skript muss anschließend mit chmod u+x ausführbar gemacht werden.



    Es legt im Verzeichnis /home/pi/keyboard/twilight/input entweder eine Datei "on" oder "off" an, je nach Tageszeit.


    Ausgeführt wird das Script alle 5 Minuten per Event:


    Code
    [EVENT_OnTimeMinuteEvery5]
    10 = os_execute:/home/pi/twilight.php


    Der Rest der doorpi.conf für diesen Teil:


    Ich muss jetzt mal schauen ob das mit der Helligkeit passt. Ggf. kann man noch einen Offset einbauen oder den Zenith ändern. :D

    Bis Ende September beruflich und privat abwesend. Ab Oktober geht es mit DoorPi weiter :)

    3 Mal editiert, zuletzt von AndyGR42 () aus folgendem Grund: Vertippt

  • FHEM ist natürlich die Kür. :)


    Ich werde mich da auch mal dran machen, aber vermutlich erst Richtung Herbst / Winter. In dem Fall würde ich aber auch einen Sensor integrieren um die witterungsbedingten Schwankungen bei der Helligkeit besser in den Griff zu bekommen.

  • Ich denke für die Beleuchtung der Sprechanlage ist die Schwankung relativ irrelevant.
    Aber das twilight Modul in FHEM kann auch Daten von yahoo Weather in die Helligkeitsberechnung einbeziehen :)


    In jedem Fall sollte man es so machen (wenn man FHEM nutzt), nicht im DoorPi noch einen zweiten Sensor zu verwenden. Sonst ist für FHEM zu einem anderen Zeitpunkt dunkel als für DoorPi. Sondern wenn, dann einen Sensor, und über einen geeigneten Mechanismus die Infos an das andere System geben.

  • @AndyGR42
    oder
    @motom001


    Hmmm, seltsamerweise startet DoorPi mir das Script twilight.sh aber nur einmal. Kannst Du mal bitte schauen?



    So wie Du schon weiter oben geschrieben hast startet DoorPi auch das .php script nicht direkt ais der .ini heraus.


    Danke

  • Ich beantworte mir mal selbst meine Frage.


    So wie aussieht war nicht das Script Schuld. Dieses arbeitet, soweit, korrekt. In dem Log vom DoorPi taucht auch hier nicht alle 5 Min einen Eintrag auf, warum das so ist liegt vermutlich daran das nicht soviel auf die Karte geschrieben werden muss.


    Die Ordner Input und Output, in /home/pi/keyboard/twilight, werden nicht automatisch erstellt dies muss händisch nachgeholt werden.


    @motom001
    Vieleicht kannst Du uns, wenn Du Zeit hast, erklären warum der Aufruf des .php Scriptes aus DoorPi nicht funktioniert.
    Mein take_snapshot.php Script zB. wird sauber in DoorPi aufgerufen.

  • Moin.


    Das Anlegen der Ordner ist einmalig. Da wäre es mehr Aufwand gewesen dies zu scripten :)


    Also, ich habe nicht viel Zeit investiert das php Script direkt aus DoorPi aufzurufen. Als es nicht auf Anhieb klappte, habe ich in einem shell script verpackt. Mag auch sein, ich war nur zu doof dafür.

  • Hallo Andy,
    du verwendest DoorPi um einen Event alle 10min auszuführen und anschließend noch os_execute um ein PHP Script auszuführen?


    Das klingt wie die magische Kugel beim Kenndy Attentat. Von hinten per Umweg durch die Brust geschossen...


    Warum benutzt du nicht sunwait auf der Shell zusammen mit einem cronjob?
    Sobald die Dämmerung eintritt, schreibst du dann direkt eine "1" in die GPIO Schnittstelle an der die Beleuchtung angeschlossen ist.


  • Warum benutzt du nicht sunwait auf der Shell zusammen mit einem cronjob?

    Weil ich das vorher nicht kannte :) Wenn man nach Funktionen zur Berechnung sucht landet man quasi immer bei PHP.

  • Hi,
    Sunwait wäre für mich auch eine ideale Ergänzung des DoorPI.
    Habe es mal in einer Debian-Testumgebung versucht zu installieren - leider vergeblich.
    Beim "make" kommt eine Fehlermeldung... soll - laut Angaben in einigen Foren "normal" sein, ausführen konnte ich das Paket trotzdem nicht.


    han-solo: Kannst du kurz beschreiben, wie du das zum Laufen bekommen hast?


    Gruß
    Jörg

  • Komplizierteste Kameralösungen mit Bewegungsmeldern, aber die Helligkeit wird auf Grund von geografischer Breite und Länge geraten ?


    Es gibt so viele Möglichkeiten, einen echten Helligkeitssensor (digital oder analog) mit dem Raspberry Pi auszuwerten (auch ohne FHEM), dass ich jede reine Softwarelösung für schwach halte. Die reine Softwarelösung kann nämlich einen strahlend hellen Herbstttag nicht von einem trüben unterscheiden.


    Übrigens gibt es auch auch Sensoren wie etwa den Taos TSL250/260, die auf einfachste Weise, nämlich mit mit einem Transistor und zwei Widerständen, direkt und ohne Software mit einer Beleuchtung gekoppelt werden können.


    Und noch ein Hack: Mit Hilfe der ImageMagick Tool Suite lässt sich innerhalb von einer Programmzeile die Gesamthelligkeit eines digitalen Bildes ermitteln. Das liefert probemlos auch ohne separaten Sensor einen EInstellungswert.


    LG


    pah


    Note added in proof:

    Zitat

    Wenn man nach Funktionen zur Berechnung sucht landet man quasi immer bei PHP

    Verstehe ich nicht. Jede halbwegs brauchbare Programmiersprache hat ausreichende Mathe-Libraries für so simple Sachen. Hierfür würde sogar bc mit einer einfachen Näherungsformel ausreichen.

  • han-solo: Kannst du kurz beschreiben, wie du das zum Laufen bekommen hast?

    Ich habe die binary in meinem Projekt Beitrag fertig compiliert für Raspbian verlinkt und auch das Script dazu gepackt.
    Da musst du nur noch die Koordinaten anpassen.
    DoorPi von Han-Solo

  • Komplizierteste Kameralösungen mit Bewegungsmeldern, aber die Helligkeit wird auf Grund von geografischer Breite und Länge geraten ?


    Verstehe ich nicht. Jede halbwegs brauchbare Programmiersprache hat ausreichende Mathe-Libraries für so simple Sachen. Hierfür würde sogar bc mit einer einfachen Näherungsformel ausreichen.

    Wenn es ausreichend ist, warum in etwas anderes Zeit und Material stecken? In meinem Fall kommen noch handfeste Gründe wie eine unzureichende Anzahl von Aderpaaren für Sensoren und eine völlig ungeeignete Position der Kabelausführung / Sprechstelle dazu. Ich bohre nur ungern neue Löcher in mein Haus. Oder in meine fertige Sprechstelle, was für eine halbwegs sinnvolle Positionierung des Sensors erforderlich gewesen wäre. Eine funkbasierte Lösung einzurichten, nur um die Beleuchtung meiner Sprechstellen zu schalten, ist für mich völliger overkill. Bei der nächsten Sonnenfinsternis schalte ich das Licht von Hand ein, versprochen!


    Es gibt also genug Gründe, warum man die eine Lösung bevorzugt. Daran ist nichts schwach, sondern es ist das Ergebnis individueller Abwägungen.


    Den weniger Wissenden liefern Suchmaschinen Ergebnisse unter anderem in PHP. PHP kenne ich und war so vermessen, es für mich als Lösung zu betrachten. Dank des konstruktiven Austausches in diesem Forum kennen ich nun eine bessere Lösung. Das ist ein Lernprozess und dieser wiederum für mich leicht zu verstehen.