Beiträge von baerberry

    Ja der Status ist definiert - müsste ich mal genauer aus der Schaltung ermitteln, ich glaube pullup. Allerdings glaube ich fast nicht an ein Hardware-Problem, weil das Fehl-Klingeln ja nicht ständig, sondern nach einer Laufzeit auftritt. nach einem Reboot dann wieder einige Zeit kein Problem.

    Hallo zusammen,

    ich habe doorpi schon länger im Einsatz und primär nur die Klingelfunktion in Benutzung, d.h. zwei Klingeln lassen zwei unterschiedliche Ziele per Sammelrufnummern (Fritzbox) klingeln. Seit einiger Zeit klingelt es nach einer gewissen Laufzeit im Abstand von ca. 30 Minuten, ohne dass der Klingeltaster (GPIO) gedrückt wurde. Das Problem wird behoben, wenn ich den Raspi neu starte. Dann läuft es wieder eine Zeit lang (gefühlt 6-8 Wochen), bis der Fehler wieder kommt. Ich hab schon vermutet, dass ein Speicher vollläuft und ab diesem Zeitpunkt Anrufe ausgelöst werden. Aber seltsam ist es schon. Kennt jemand das Problem? Gibt es einen Debug-Mode, mit dem man den Auslöser der Anrufe herausfinden kann? Im Dashboard steht noch ein Hinweis, dass linphone statt Pjsua genutzt werden sollte. Bin mir aber nicht sicher, was hier gemacht werden muss.

    Also bisher läuft DoorPi eigentlich ganz gut (nachdem ich die Schaltung und die Software angepasst habe). Es passiert aber manchmal, dass beim Klingeln an der Haustür mein Telefon in der Wohnung nur ganz kurz klingelt, der Ruf wird also nicht die eingestellten 30 Sekunden ausgeführt, sondern nur eine halbe Sekunde. So habe ich schon ein paar Besucher verpasst. Aber wie beschrieben nur manchmal, ich würde schätzen, dass ein Ruf von 20 nicht funktioniert. Ich würde verstehen wenn das generell so wäre, denn dann läge es vermutlich an der Beschaltung. Kann es sein dass die Fritzbox sich hier unterschiedlich verhält? Ich rufe meine Telefone über eine Sammelrufnummer, dieser sind zwei interne Kurzwahlrufnummern zugeordnet...

    OK, danke, hab meine Config mal so angepasst, bisher läuft es. Zum zweiten Punkt: Es geht nicht darum, dass ich mit dem Besucher über Doorpi spreche, sondern um den Fall, dass ich ein "normales" Telefonat führe und es klingelt parallel an der Haustüre (also unabhängig vom SIP-Call wird ein Gespräch geführt). Dann wird das Telefonat durch den Klingelanruf unterbrochen und nicht wie erwartet nur im Hintergrund angeklopft. Das ist natürlich nicht schön...

    Ich möchte mich hier einklinken, weil es bei mir anscheinend ein ähnliches Problem ist:
    Mein DoorPi klingelt meistens gut, manchmal aber überhaupt nicht, d.h. der SIP-Call wird dann nicht ausgeführt.
    Ich betreibe meine Schaltung (GPIO) mit einem Spannungsteiler von VCC gegen GPIO und den Schalter zu Masse und Kondensatoren am GPIO und an VCC zur Entstörung (hat immer geklingelt, wenn Licht eingeschaltet wurde - das ist jetzt gelöst). Ich bin mir nicht sicher, ob das Problem in der Hardwarebeschaltung oder in der Software begründet sein kann, seltsam ist eben das unterschiedliche Verhalten (mal geht, mal geht nicht).


    Meine Konfig sieht für die GPIO Auswertung wie folgt aus:


    [keyboards]
    dummy = dummy
    prodsystem = gpio


    [prodsystem_keyboard]
    bouncetime = 500
    mode = BOARD
    polarity = 1
    pressed_on_keydown = True
    pull_up_down = PUD_UP


    [prodsystem_InputPins]
    16 = Klingel1
    18 = Klingel2



    [EVENT_OnKeyPressed_prodsystem.16]
    10 = call:**701


    [EVENT_OnKeyPressed_prodsystem.18]
    10 = call:**702


    Zusätzliche Frage: Wie kann ich verhindern, dass ein laufendes Gespräch durch das Klingeln unterbrochen (stumm geschaltet) wird? Das ist ziemlich lästig und ich möchte nur ein Anklopfen haben.


    Danke und ich hoffe auf eine rege Diskussion...

    Ein Problem gibt es noch: Anscheinend wird früh der erste Klingelversuch nicht ausgeführt. Jemand hatte (als erster) geklingelt, aber doorpi hat es nicht signalisiert. Wenn ich dann rausgehe und teste, dann geht es. Es scheint also der erste Klingelversuch zu scheitern. Hardware oder Software? Meine Konfig:

    Ich habe es so gemacht wie oben beschrieben (Pullup-Prinzip mit Kondensator an GPIO und an 3,3V) und es läuft bisher ohne Störungen.
    Endlich kann man wieder Licht einschalten, ohne dass es an der Haustür klingelt :P (vielleicht könnte man das auch als Feature verkaufen).


    Vielen Dank!!!

    Welchen internen Pullup meinst Du? Und warum 5V? Ich hatte bisher die 3,3V genommen und würde die jetzt über den R zum Schalter führen (den Schalter gegen Masse, damit beim Schließen ein sauberes Signal am GPIO steht. Den Kondensator parallel zum GPIO gegen Masse...

    Hab es jetzt hinbekommen. Leider habe ich noch Störquellen, meine Klingelleitung ist sehr lang und beim Einschalten von Licht klingelt es.
    Mein Aufbau ist aktuell mit Pulldown, d.h. ich schalte VCC. Ist es besser, hier Pullup zu verwenden, mit einem 0,1 uF Kondensator zwischen VCC und Masse?
    Stimmt hier meine Konfiguration des Keyboards? Die Polarity bezieht sich auf den offenen oder den geschalteten Zustand?


    [prodsystem_keyboard]
    bouncetime = 200
    mode = BOARD
    polarity = 1
    pressed_on_keydown = True
    pull_up_down = PUD_UP


    Es ist der letzte Schritt, wäre super wenn ich noch mal Unterstützung bekommen könnte.

    So, endlich ist der Sommer vorbei und ich komme wieder dazu, mich mit Doorpi zu beschäftigen. Ich habe das Ganze nochmal neu aufgesetzt, diesmal mit einer anderen Anleitung. Mit dieser wurden mehr Programmteile installiert und es hat auch wesentlich länger gedauert - mal sehen.
    Zu Beginn habe ich mit einem Testtool die GPIO am Raspi getestet um sicherzugehen, dass diese korrekt ausgewertet werden. Meinen Pin 16, den ich verwende, konnte ich so prüfen, von der Hardware passt also alles.
    Jetzt wollte ich in der doorpi.ini diesen Test machen, also zunächst ohne den SIP-Call, ich möchte nur den Taster auswerten und damit eine einfache Aktion auslösen. Habe dazu den Befehl "log" genommen und in die Config eingetragen (GPIOs habe ich natürlich entsprechend aktiviert):



    [prodsystem_InputPins]
    16 = log:Klingeltest


    Die Frage ist nun, wo wird der Wert eingetragen? In der doorpi.log finde ich nichts.
    Gibt es alternativ noch eine andere Möglichkeit, über die Config den einfachen GPIO Test zu machen?

    So, endlich ist der Sommer vorbei und ich komme wieder dazu, mich mit Doorpi zu beschäftigen. Ich habe das Ganze nochmal neu aufgesetzt, diesmal mit einer anderen Anleitung. Mit dieser wurden mehr Programmteile installiert und es hat auch wesentlich länger gedauert - mal sehen.
    Zu Beginn habe ich mit einem Testtool die GPIO am Raspi getestet um sicherzugehen, dass diese korrekt ausgewertet werden. Meinen Pin 16, den ich verwende, konnte ich so prüfen, von der Hardware passt also alles.
    Jetzt wollte ich in der doorpi.ini diesen Test machen, also zunächst ohne den SIP-Call, ich möchte nur den Taster auswerten und damit eine einfache Aktion auslösen. Habe dazu den Befehl "log" genommen und in die Config eingetragen (GPIOs habe ich natürlich entsprechend aktiviert):


    [prodsystem_InputPins]
    16 = log:Klingeltest


    Die Frage ist nun, wo wird der Wert eingetragen? In der doorpi.log finde ich nichts.
    Gibt es noch eine andere Möglichkeit, den einfachen GPIO Test zu machen?

    Habe alles mit Jessie nochmal neu aufgesetzt und dann die Config angepasst - es tut sich wie vorher weiter nichts.


    Kann es sein, dass es zwischen den beiden Anleitungen Unterschiede gibt. In der aus dem Wiki:
    https://github.com/motom001/DoorPi/wiki/Installation


    wird die Installation unter /home/DoorPI/doorpi angelegt, mit anderen Verzeichnissen als in der hier beschriebenen:


    Anleitung Pi2 + Jessie (Release 2016-02-26) mittels PyPi


    Hier landet die Installation im usr/local/etc Verzeichnis


    Was ist denn die bevorzugte Variante?

    Nachdem ich nicht sicher bin, ob ich überhaupt die richtigen Voraussetzungen auf dem Raspi habe, möchte ich das Ganze Projekt doch nochmal neu aufsetzen. Es gibt ja doch unterschiedliche Konfigurationen und ich habe das Gefühl, dass die Basiseinstellungen bei mir anders sind und eine Fehlersuche somit schwer bis unmöglich wird.


    Welche Grundkonfiguration ist empfohlen oder erforderlich, damit doorpi installiert werden kann? Aus der Installationsanleitung kommt das nicht so genau hervor. Ich habe einen Raspi 2 mit DietPi, vielleicht fehlt da ja noch etwas...


    In einem weiteren Versuch habe ich


    [prodsystem_InputPins]
    16 = Klingel1


    gegen


    [prodsystem_InputPins]
    16 = call:**622


    ersetzt, denn so steht es auch in der offiziellen Anleitung zur Konfiguration. Auch das bringt keine Änderung.

    Mittlerweile habe ich die GPIOs am Laufen, allerdings wird der Kontakt noch nicht ausgewertet. Anscheinend gibt es ein Problem mit der Definition Klingel1, die ich in der ini eingetragen habe. In der Logdatei ist folgendes zu finden:


    File "/usr/local/lib/python2.7/dist-packages/doorpi/action/base.py", line 64, in from_string
    return importlib.import_module('doorpi.action.SingleActions.'+action_name).get(
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
    ImportError: No module named Klingel1

    Danke für Eure Beiträge, nur nochmal zum Verständnis: Ich möchte kein Pins auslösen (daher keine Output Pins), sondern mit einem Input Pin eine Aktion anstoßen. Das mit dem wiringpi werde ich mir ansehen und testen. Dann kann ich gerne einen neuen Thread eröffnen, denn ich denke das ist auch für andere interessant.

    Ich sehe schon, da haben wir eine richtige Herausforderung ;)
    Meine Config sieht inzwischen so aus, und ich habe alles schrittweise eingebaut und getestet. Was mir aufgefallen ist, dass die Reihenfolge der Befehle wild durcheinander ist.
    Kann man mit dem Dummy Keyboard auch die GPIO Eingänge simulieren, also ohne die Hardware anzuschließen?
    Und könnte mal jemand seine Config posten, die funktioniert, vielleicht ist es nur eine Kleinigkeit, aber ist halt schwer zu debuggen...



    [AREA_installer]
    .* =


    [AdminNumbers]
    **610 = active
    **622 = active
    **623 = active
    **624 = active


    [DoorPi]
    base_path = /usr/local/etc/DoorPi
    eventlog = !BASEPATH!/conf/eventlog.db
    is_alive_led =
    last_snapshot =
    snapshot_path =


    [DoorPiWeb]
    indexfile = index.html
    ip =
    loginfile = login.html
    online_fallback = http://motom001.github.io/DoorPiWeb
    port = 80
    public = AREA_public
    www = !BASEPATH!/../DoorPiWeb


    [EVENT_OnKeyPressed_prodsystem.16]
    10 = call:**622


    [EVENT_OnStartup]
    10 = sleep:1


    [Group]
    administrator = door


    [SIP-Phone]
    firewallpolicy = PolicyNoFirewall
    audio_codecs = PCMA,PCMU
    call_timeout = 15
    capture_device = ALSA: default device
    dialtone = !BASEPATH!/media/ShortDialTone.wav
    dialtone_renew_every_start = False
    echo_cancellation_enabled = False
    identity = DoorPi
    local_port = 5061
    max_call_time = 15
    playback_device = ALSA: default device
    record_while_dialing = False
    records = !BASEPATH!/records/%Y-%m-%d_%H-%M-%S.wav
    sipphonetyp = linphone
    sipserver_password = Hier steht das Passwort
    sipserver_realm = fritz.box
    sipserver_server = 192.168.2.1
    sipserver_username = **623
    stun_server =
    ua.max_calls = 2
    video_codecs = VP8
    video_device = StaticImage: Static picture
    video_display_enabled = False
    video_size = vga


    [User]
    door = pi


    [WritePermission]
    administrator = installer


    [keyboards]
    dummy = dummy
    prodsystem = gpio


    [prodsystem_InputPins]
    16 = Klingel1


    [prodsystem_keyboard]
    bouncetime = 200
    mode = BOARD
    polarity = 1
    pull_up_down = PUD_UP

    Habe ich eingetragen, bringt leider nichts. Wofür stehen die ** vor der Nummer? Ich melde mich ja mit der 623 an der Fritzbox an...eigentlich hat doch jeder diese Konfiguration der DoorPi nutzt...:-(