Beiträge von dtp

    Danke auf jeden Fall für deine Hilfe, aber ich habe da jetzt eine Lösung gefunden, die ganz gut funktoiniert.


    Mit folgendem Shellskript im Verzeichnis /usr/local/etc/DoorPi/scripts/ rufe ich nun zwei Pythonskripte zum Starten des Blinkens und zum Ausschalten der LED auf.



    Das Skript fragt zunächst den Status einer Systemvariablen "EG Haustür SV Tagesriegel" meiner CCU ab. Ist der Status 1, dann wird das Pythonskript "TagesriegelLedFlash.py"


    Code
    1. # Pin 2 des PiFace-Moduls blinken lassen
    2. from time import sleep
    3. import pifacedigitalio as pfio
    4. pfio.init()
    5. while(True):
    6. pfio.digital_write(2,1) #LED an Pin 2 einschalten
    7. sleep(1)
    8. pfio.digital_write(2,0) #LED an Pin 2 ausschalten
    9. sleep(1)

    im Hintergrund aufgerufen. Ist der Status 0, dann wird das Pythonskript wieder beendet, falls es noch laufen sollte, und das Pythonskript "TagesriegelLedOff.py"


    Code
    1. # Pin 2 des PiFace-Moduls ausschalten
    2. import pifacedigitalio as pfio
    3. pfio.init()
    4. pfio.digital_write(2,0) #LED ausschalten


    ausgeführt.


    Hier noch der Vollständigkeit halber das auf der CCU laufende Skript zum Starten des obigen Shellskripts:


    Puh, das klingt etwas kompliziert. ;) Aber trotzdem danke.


    Ich habe es aber schon mal geschafft, die am Ausgang 2 meines PiFace-Moduls angeschlossene LED mit diesem simplen Python-Skript zum Blinken zu bringen:


    Code
    1. from time import sleep
    2. import pifacedigitalio as p
    3. p.init()
    4. while(True):
    5. p.digital_write(2,1) #turn on
    6. sleep(1)
    7. p.digital_write(2,0) #turn off
    8. sleep(1)

    Das Skript habe ich unter dem Namen "LedFlash.py" gespeichert. Auf der Konsole rufe ich es dann mit


    Code
    1. python LedFlash.py


    auf.


    Nun kommen aber ein paar Fragen auf.


    1. Kann ich das Skript in der doorpi.ini z.B. mit

    Code
    1. [virtual_InputPins]
    2. briefkastenstatus = out:Briefkasten-Status-LED,1,0,6
    3. tagesriegel = os_execute:/usr/local/etc/DoorPi/scripts/LedFlash.py

    starten, wenn "tagesriegel" auf true gesetzt wird?


    2. Falls das geht, wie stoppe ich das Skript wieder, wenn "tagesriegel" auf false gesetzt wird?


    3. "briefkastenstatus" und "tagesriegel" wirken auf dieselbe LED. Würde es funktionieren, dass die LED beim Setzen von "briefkastenstatus" auf true für sechs Sekunden dauerhaft leuchtet, um danach wieder weiterzublinken, wenn "tagesriegel" auf true steht?

    Ein Tagesriegel ist so ein kleiner Hebel, der mit einem Haustürsummer zusammenwirkt und die Falle des Türschlosses freigibt oder sperrt. Hier ist das etwas besser beschrieben.


    Ich detektiere den Sperrzustand - wie in dem verlinkten Thread beschrieben - mit einem Mikroschalter und einem damit verbundenen HomeMatic-Modul und möchte nun, wenn der Tagesriegel entsperrt ist, eine LED im Briefkasten blinken lassen, und wenn er gesperrt ist, sie wieder ausschalten. Das Blinken deshalb, weil ich über dieselbe LED auch noch - wie oben beschrieben, den Zustand des Briefkastens mit einem Taster anzeigen lasse.


    Umgekehrt wäre es natürlich auch möglich. Sprich, die LED leuchtet konstant, wenn der Tagesriegel entsperrt ist, und sie blinkt für einige Sekunden, wenn nach dem Betätigen des Tasters Post im Briefkasten liegt.


    Am einfachste wäre es, wenn ich dazu den Schlüssel "is_alive_led" verwenden könnte, aber den nutze ich schon für das PiFace-Modul und ich weiß nicht, ob man ihn auch mehrmals in der doorpi.ini nutzen kann.


    Kann ich denn das von dir angesprochene Pythonskript zur Ansteuerung des PiFace-Ausgangs einfach durch ein Shellskript starten und stoppen? Müsste mir dann noch mal so ein kleines Pythonskript suchen, oder hast du da eine Quelle?

    Hallo,


    folgendes Ausgangsszenario:


    An Output-Pin 2 meines PiFace-Moduls habe ich eine LED angeschlossen, die mir beim Betätigen eines Tasters anzeigt, ob Post im Briefkasten ist, oder nicht.


    Die LED leuchtet sechs Sekunden, wenn man den daneben angeordneten Taster betätigt.


    Hier die von mir vorgenommene Einträge in der doorpi.ini:



    Das zugehörige Shellskript "BriefkastenStatus.sh" setzt bei Vorliegen mindestens eines Einwurf die Datei "briefkastenstatus" auf true, was dann zum Einschalten der Status-LED gemäß "[virtual_InputPins]" führt.


    Soweit, so gut.


    Nun möchte ich gerne genau diese LED des PiFace-Moduls auch zur Anzeige des Status des Tagesriegels unserer Haustür nutzen. Dabei soll die LED so lange blinken, wie der Tagesriegel entsperrt ist. Den Zustand des Tagesriegels rufe ich über die HomeMatic ab. Das ist nicht das Problem. Mir geht es lediglich um die Umsetzung des Blinkens am entsprechenden Ausgang 2 des PiFace-Moduls. Habt ihr eine Idee, wie ich das am besten realisiert bekomme? Kann ich hierzu irgendwie den Schlüssel "is_alive_led" verwenden?


    Gruß,


    Thorsten

    Kurze Frage. Ich habe auch ein Echo, an das ich mich aber eigentlich ganz gut gewöhnt habe. Primär habe ich das Echo aber immer auf das Delay der WLAN-Verbindung geschoben. Hat jemand Erfahrungen, ob es sich auch bei einer solchen Verbindung durch Pjsua unterdrücken lässt?

    Also ich habe hier mal meine Installation unter Raspbian Buster als Howto aufgeschrieben. Hatte ich auch schon mehrfach hier im Forum verlinkt. Kannst ja mal schauen, ob es dir weiterhilft. Ist ein bisschen Lesestoff.

    Also ich konnte meinen DoorPi kürzlich problemlos unter Raspbian Buster Lite neu aufsetzen. Allerdings nutze ich auch das RPi_Cam_Web_Interface.


    Hier habe ich meinen Installationsvorgang beschrieben, falls es jemanden interessieren sollte.

    Also aus meiner Sicht lohnt sich ein Aufsetzen selbst in der aktuellen Version 2.5.1 immer noch. Der DoorPi läuft bei mir unter Raspbian Buster Lite mit dem PiFace-Modul und dem RPi_Cam_Web_Interface ohne Probleme. Hab ihn nun seit - ich glaube - 4 Jahren quasi non stop (bis auf die Update-Unterbrechungen) in Betrieb. Eigentlich wüsste ich nicht, was eine Version 3.x noch besser machen sollte. Aber das Problem wird eher sein, dass irgendwann die benötigten Software-Pakete nicht mehr unterstützt werden.


    By the way, an das Echo habe ich mich gewöhnt. ;)

    Ich kann da nur das RPi_Cam_Web_Interface empfehlen. Damit ist das ruckzuck erledigt. Hier habe ich die Installation und Konfiguration für meinen DoorPi näher beschrieben.


    Zur Zeit scheint es aber nur unter Raspbian Buster zu laufen, da raspimjpeg mit der aktuellen GLIBC-Version unter Jessie und Stretch Probleme hat.


    Beim Klingeln an der Haustür erhalte ich dann z.B. folgende Push-Nachricht per Pushover auf's Handy.



    Auch die zugehörigen Videostreams auf einem Wandtablet (läuft über ioBroker) und unseren FRITZ!Fon C4 weisen dieses Overlay auf.


    Gruß,


    Thorsten

    Ja, es läuft. Danke trotzdem für deine Info.


    Der Threadtitel ist auch nicht ganz korrekt, weil die Installation selbst gar keine Probleme machte, sondern wohl einfach nicht auf die FRITZ!Box zugegriffen werden konnte.


    Aktuell läuft mein DoorPi samt Kamera- und PiFace-Modul jetzt wieder unter Raspbian Buster Lite auf einem Raspi 3B, wobei ich aber noch ein paar Dinge testen muss.


    Gruß,


    Thorsten