Dämmerungsschalter ohne Fotozelle

  • Zitat

    unzureichende Anzahl von Aderpaaren für Sensoren und eine völlig ungeeignete Position der Kabelausführung

    Prima. Die lokale Lösung mit einem schaltenden Helligkeitssensor vor Ort spart eine Ader ein ;)


    Zitat

    unter anderem in PHP

    Viel besser als "immer bei PHP". ;)


    LG


    pah

  • Hallo AndyGR42.
    Ich habe mal kurz drübergeschaut. Das LogFile welches alle 5 Min geschrieben wird, braucht man doch nicht zwingend, oder?? Ich denke da halt immer an die Schreibzugriffe auf die SD. Klar, ich weiß es ist nur eine Zeile, nur eine Frage..
    :thumbup:

  • Kann mir da bitte jemand weiterhelfen?


    Ich bin nun zum zweiten Mal nach Andys Anleitung und diversen Tipps aus dem Thread vorgegangen.
    Jedesmal nach einem Reboot funktioniert der DoorPi nicht mehr.
    Ich kann zwar sehen, dass die LED blinkt (also DoorPi Dienst ist gestartet), aber ich komme z.B. nicht mehr auf die Weboberfläche vom DoorPi
    Ein Ping vom PC zum DoorPi funktioniert auch nicht mehr.


    Beide base_path Ordner habe ich per Hand angelegt, die Konfigurationsdatei entsprechend angepasst und angelegt, PHP 5 installiert... usw.


    Leider kann ich jetzt auch keine aktuelle Konfiguration bereitstellen, da der DoorPi ja nicht mehr reagiert, Verbindung mittels putty nicht mehr hergestellt wird.


    Ich werde jetzt erstmal wieder zurück auf das letzte funktionierende Image wechseln, würde aber dennoch gerne die Funktion einsetzen.
    In meinem letzten funktionierenden Image ist lediglich Raspbian (aktuell), DoorPi, MJPG Streamer, die USB Soundkarte, das WLAN Modul und die Pi Kamera installiert.


    Gibt es noch andere Möglichkeiten per Software die Beleuchtung des Klingeltasters ab-/anzuschalten?


    Kurz zur eingesetzten Hardware:


    Raspberry Pi Modell B
    PiFace
    EDIMAX WLAN Adapter
    USB Soundkarte (Conrad)
    Raspberry Pi Camera


    Danke!

  • Wenn Du PHP installierst, wird auch der Apache Webserver installiert. Den brauchst Du eigentlich nicht. Schau mal ob Du den Prozess httpd findest. Dann läuft der Apache und belegt Port 80. Wenn DoorPi dann versucht das Webinterface auf Port 80 zu starten funktioniert das dann nicht.


    Den Autostart kann man deaktivieren: sudo update-rc.d apache2 disable


    Warum dann allerdings auch SSH und ein Ping nicht mehr funktionieren, dass ist mir schleierhaft



    Ich habe aber vor, dass Script von PHP auf Python zu ändern. Dann braucht man PHP gar nicht.


    Theoretisch wäre ein Helligkeitssensor am sinnvollsten. Das klappt bei mir aber nur bedingt, da die Sprechstelle von verschiedenen Seiten angeleuchtet wird. Das rüste ich mal nach wenn ich einen Sensor an eine Stelle bauen kann, der nicht künstlich beleuchtet wird.

  • Die Kurzfassung für Python 2.x :


    Python
    import ephem  
    from datetime import date, datetime, time
    
    
    o=ephem.Observer()  
    o.lat='51.282785'  
    o.long='6.76227'  
    s=ephem.Sun()  
    s.compute()  
    print ephem.localtime(o.next_rising(s))


    Quelle: http://michelanders.blogspot.d…and-sunset-in-python.html


    Das Schreiben der Dateien für das Keyboard müsstest Du noch dranprogrammieren.

  • Hey Andy,
    Dein script funktioniert soweit ganz gut. Ein kleines Problem habe ich aber noch manchmal wird das Licht nicht ausgeschalten. Einschalten geht anscheinend immer nur aus nicht immer. Das passiert ungefähr jedes 3. oder 4. mal.
    Ich muss mal schauen ob in /twilight/input auch das richtige dann darin steht.

  • Moin.


    Ich möchte gerne ganz auf PHP verzichten. Python ist ja eh installiert. Vielleicht könnte man das als Event in DoorPi einbauen? Für mich wäre das eine sinnvolle Ergänzung mit (wahrscheinlich) wenig Aufwand. Es wären vier Parameter nötig:


    • Längengrad
    • Breitengrad
    • Offset Sonnenaufgang (+/- Minuten)
    • Offset Sonnenuntergang (+/- Minuten)


    Ich würde das glatt machen, habe aber von Python zu wenig Ahnung um in einem solchen Projekt sinnvoll und mit dem gleichen Standard mitzuarbeiten.

  • Ich nutze noch weiterhin das PHP Skript, welches nun auch funktioniert.


    Jedoch werden fehlerhafte Werte in die Datei 'ON' bzw. 'OFF' geschrieben.
    Anstatt des Wertes '1' wie im PHP Skript definiert, wird der Wert 'False' geschrieben.


    Ich vermute, dass es sich hierbei um ein Rechteproblem handelt, oder?

  • Eigentlich ist es egal, das in der Datei steht. Das Dateisystem Keyboard prüft nur die Existenz. Ich schreibe da nur gerne etwas rein. In der Vergangenheit habe ich schon erlebt, dass eine leere Datei nicht geschrieben wurde.

  • Eigentlich ist es egal, das in der Datei steht. Das Dateisystem Keyboard prüft nur die Existenz. Ich schreibe da nur gerne etwas rein. In der Vergangenheit habe ich schon erlebt, dass eine leere Datei nicht geschrieben wurde.

    Kann ich aber so nicht ganz bestätigen. Hab (Hatte) das gleiche Problem wie NEA. Nur wenn in der Datei eine 1 Stand ging das Licht an bzw. aus.
    Nur meistens stand bei mir dann ein false drin. Wenn das Keyboard nur auf Existenz prüft, müsste beim Start vom DoorPi ja das Licht unter Umständen flackern, da beim Start ja kurze Zeit beide Dateien existieren. Zu diesem Zeitpunkt steht aber ein false in beiden Dateien. Im Log hatte ich auch gesehen, dass erst wenn eine 1 drin stand, das Event ausgeführt wurde.
    Ich habe auf Fotozelle umgestellt, da wie gesagt wie bei Nea mal das Licht anging aber nicht aus. Das Problem konnte ich auch reproduzieren indem ich von "Hand" über rm und nano die entsprechende Datei erstellt hab. Dann Stand, solange DoorPi lief, fast jedes 2-3 mal statt 1 nach dem speichern ein false, obwohl ich auch das vonThomas zum Testen empfohlene Reset_Input=false im Keyboard eingetragen hatte. War DoorPi beendet stand nach dem speichern immer die 1 von mir.


    Gruß Peter

  • Hm. Ok. Laut der Doku wird nur die Existenz der Datei geprüft, oder? Vielleicht kann Thomas noch etwas dazu sagen.


    Warum aber FALSE in der Datei steht kann ich auch nicht sagen. Schließlich hat der Schreibvorgang erfolgreich stattgefunden, was gegen ein Rechteproblem spricht.

  • Zitat

    @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.

    Das PHP Skript von Andy enthält kein shebang bash, daher lässt es sich nicht wie das take_snapshot Skript von nea direkt ausführen.
    Fügt man zum Code von Andy die Zeile

    Code
    #!/usr/bin/php -q

    hinzu, kann das PHP Skript nach einem chmod u+x ausgeführt werden, ohne ein zweites SH Skript zu starten.


    Mir ist aufgefallen, dass wenn ich zuviel aus dem PHP Skript auskommentiere (Anlegen eines Logfiles, Prüfen und Schreiben des Logfiles etc.) der Fehler mit dem falschen Wert in die ON bzw OFF Datei erfolgt. Meist wird beim ersten Anlegen auch ON und OFF mit dem Wert "False" gefüllt und nichts weiteres passiert.


    Ich teste nun Andys PHP Skript weiter. Beim Start wird ein Logfile erzeugt, aber nicht mehr beim Aufruf des EVENT alle 5 Minuten.

  • So, jetzt läuft es bei mir... fingers crossed ...zumindest im Testbetrieb ohne Fehler, d.h. die Datei ON bzw. OFF wird im Betrieb mit dem Wert '1' geschrieben und nicht mit dem Wert 'False'. Der Wert 'False' wird nun nur zum Anfang bei erstem Start des Skripts in beide Dateien ON und OFF geschrieben, die angelegt werden.


    Im PHP Skript habe ich alle Zeilen, die für das Schreiben in die Logdatei genutzt werden, durch ein '#' auskommentiert.
    Also die Zeilen 9-14, 25, 36, 48 und 57 werden dadurch nicht verarbeitet, sodass nicht alle 5 Minuten das Logfile geschrieben wird, um die SD Karte zu schonen.


    Damit der richtige, notwendige Wert '1' jeweils in die Datei ON bzw. OFF geschrieben wird, habe ich den Schalter "w" auf "wb+" zur Funktion fopen erweitert.


    Wie oben geschrieben, laufen die ersten Tests mit dieser Änderung bei mir ohne Probleme und das Licht am Klingeltaster wird nun je nach errechneter Uhrzeit für den Sonnenauf-/untergang automatisch aus- bzw. eingeschaltet.


    Sollte es Neues geben, poste ich es hier.

  • Guten Morgen,
    danke für den Tip wegen dem fehlenden shebang, da hätten wir auch früher drauf kommen können.


    Ich habe gestern jetzt nochmal die Änderungen gesetzt die Du vorgeschlagen hast. Das hat bei mir keine große Veränderung gebracht. Das Licht geht bei mir nicht aus.

    Hier mal zum Vergleich.


    Gruß Nea